Skip to content


Switch branches/tags
This branch is 203 commits behind ConFooBio:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Generalised Management Strategy Evaluation

The GMSE package integrates game theory and ecological theory to construct social-ecological models that simulate the management of populations and stakeholder actions. These models build off of a previously developed management strategy evaluation (MSE) framework to simulate all aspects of management: population dynamics, manager observation of populations, manager decision making, and stakeholder responses to management decisions. The newly developed generalised management strategy evaluation (GMSE) framework uses genetic algorithms to mimic the decision-making process of managers and stakeholders under conditions of change, uncertainty, and conflict. Simulations can be run using gmse(), gmse_apply(), and gmse_gui() functions. For more, see the GMSE website.

This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 679651 to Nils Bunnefeld. Package maintainer Brad Duthie is currently funded by a Leverhulme Trust ECF.


Install from CRAN

To install this package from CRAN.


Install with GitHub

To install this package from GitHub, make sure that the devtools library is installed.


Use install_github to install using devtools.


Running a simulation

To run a simulation, use the gmse() function.

sim <- gmse();

Optional arguments taken by gmse() are used to specify simulation parameter values. Simulation results will be plotted automatically given the default plotting = TRUE, but can be plotted again using the plot_gmse_results function.

plot_gmse_results(res = sim$resource, obs = sim$observation, land = sim$land, 
agents = sim$agents, paras = sim$paras, ACTION = sim$action, COST = sim$cost)

Simulations can also be run from a browser-based graphical user interface by running the gmse_gui() function.


This function is also available as a standalone application in shiny.

Finally, simulations can be run using gmse_apply(), a function for modellers that allows the integration of custom resource, observation, manager, and user subfunctions into the GMSE framework. The gmse_apply() function simulates a single time step and can incorporate both custom and standard gmse() arguments.

# Example alternative, custom-made, logistic growth resource function
alt_res <- function(X, K = 2000, rate = 1){
    X_1 <- X + rate*X*(1 - X/K);
# Incorproate into gmse_apply with standard gmse arguments
sim <- gmse_apply(res_mod = alt_res, X = 1000, stakeholders = 6); 

Problems or requests can be introduced on the GMSE GitHub issues page or Wiki, or emailed to Brad Duthie.


For additional help in getting started with GMSE, the following vignettes are available.

  • GMSE introduction: A general overview of GMSE, including a short example simulation and how to interpret the output.
  • The genetic algorithm: Further details on what the genetic algorithm is and how it works in GMSE.
  • Use of gmse_apply: An extended introduction to the gmse_apply function, and how to use it to further customise simulations.
  • Example case study: An example case study illustrating how gmse or gmse_gui could be used to simulate a scenario of conflict between farmers and waterfowl conservation.
  • Advanced options: Example use of gmse_apply in the farmer and waterfowl case study demonstrating advanced customisation that is possible in GMSE.
  • Fisheries integration: Introduction to how GMSE could be linked to other packages such as the Fisheries Library in R (FLR) using gmse_apply.
  • Replicate simulations: Introduction to the use of replicate simulatoins for model inference, with an example of how this can be done in GMSE.
  • GMSE data structures: Detailed explanation of key data structures used in GMSE.

Descriptions of individual GMSE functions are provided in the GMSE documentation available on CRAN.


Duthie, A. B., Cusack, J. J., Jones, I. L., Nilsen, E. B., Pozo, R. A., Rakotonarivo, O. S., Van Moorter, B, and Bunnefeld, N. (2018). GMSE: an R package for generalised management strategy evaluation. Methods in Ecology and Evolution.


An R package for simulating Generalised Management Strategy Evaluation






No packages published


  • TeX 55.1%
  • HTML 41.7%
  • R 2.3%
  • Other 0.9%