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 has been 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.


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.

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

GMSE References

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

Duthie, A. B., A. Bach, & J. Minderman (2021). GMSE: Generalised Management Strategy Evaluation Simulator. R package version

Publications using GMSE

Bach, A., J. Minderman, N. Bunnefeld, A. Mill, A. B. Duthie. (2022). Intervene or wait? Modelling the timing of intervention in conservation conflicts adaptive management under uncertainty. Ecology and Society. In press.

Nilsson, L., Bunnefeld, N., Jeroen, M., & Duthie, A. B. (2021). Effects of stakeholder empowerment on crane population and agricultural population. Ecological Modelling, 440, 109396.

Cusack, J. J., Duthie, A. B., Minderman, J., Jones, I. L., Rakotonarivo, O. S., & Bunnefeld, N. (2020). Integrating conflict, lobbying, and compliance to predict the sustainability of natural resource use. Ecology and Society, 25(2), 13.

Bunnefeld, N., Pozo, R.A., Cusack, J.J., Duthie, A.B. & Minderman, J. 2020. Development of a population model tool to predict shooting levels of Greenland barnacle geese on Islay. Scottish Natural Heritage Research Report No. 1039.

Try the GMSE package in your browser

Any scripts or data that you put into this service are public.

GMSE documentation built on June 16, 2022, 9:05 a.m.