Agent Based Model Simulation Framework

A high-performance, flexible and extensible framework to develop continuous-time agent based models. Its high performance allows it to simulate millions of agents efficiently. Agents are defined by their states (arbitrary R lists). The events are handled in chronological order. This avoids the multi-event interaction problem in a time step of discrete-time simulations, and gives precise outcomes. The states are modified by provided or user-defined events. The framework provides a flexible and customizable implementation of state transitions (either spontaneous or caused by agent interactions), making the framework suitable to apply to epidemiology and ecology, e.g., to model life history stages, competition and cooperation, and disease and information spread. The agent interactions are flexible and extensible. The framework provides random mixing and network interactions, and supports multi-level mixing patterns. It can be easily extended to other interactions such as inter- and intra-households (or workplaces and schools) by subclassing an R6 class. It can be used to study the effect of age-specific, group-specific, and contact- specific intervention strategies, and complex interactions between individual behavior and population dynamics. This modeling concept can also be used in business, economical and political models. As a generic event based framework, it can be applied to many other fields. More information about the implementation and examples can be found at < https://github.com/junlingm/ABM>.


ABM R Package: Agent Based Model Simulation Framework

The ABM package provides a high-performance, flexible framework for agent-based modeling. It has an easy-to-use state transition mechanism, that makes it especially suitable for modeling agent based models. For example, an SEIR model can be implemented in 18 lines.

In addition, this framework is a general event-based framework. Yet this framework allows the state of an agent to be quite general, described by a R list taking arbitrary R values. The states are modified by events, which can be easily defined. Thus, it is suitable for a wide range of applications, such as implementing the Gillespie algorithm.

Installation

From CRAN

This R package is included in CRAN.

install.packages("ABM")

From GitHub

For the latest development version, use the devtoools::install_github method:

install_github("https://github.com/junlingm/ABM.git")

Concepts and Usage

See more information on the Wiki

Examples

  1. Simulate an SIR model using the Gillespie method
  2. Simulate an agent based SEIR model
  3. Simulate a multi-group SEIR model
  4. Simulate a contact network SIR model
  5. Simulate contact tracing on an SIR model
  6. Simulate a household SEIR model
  7. An SIR model with births and deaths

Acknowledgement

This package is supported by a Natural Sciences and Engineering Research Council of Canada (NSERC) Discovery grant, and two NSERC Emerging Infectious Disease Modeling grants (ONMI with Dr. Huaiping Zhu as PI, and MfPH with Dr. V. Kumar Murty and Dr. Jianhong Wu as PI).

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("ABM")

0.4.3 by Junling Ma, 2 years ago


https://github.com/junlingm/ABM


Report a bug at https://github.com/junlingm/ABM/issues


Browse source code at https://github.com/cran/ABM


Authors: Junling Ma [aut, cre]


Documentation:   PDF Manual  


GPL (>= 2) license


Imports R6, Rcpp

Linking to Rcpp


See at CRAN