Learn R Programming

⚠️There's a newer version (4.4.7) of this package.Take me there.

simmer is a process-oriented and trajectory-based Discrete-Event Simulation (DES) package for R. Designed to be a generic framework like SimPy or SimJulia, it leverages the power of Rcpp to boost the performance and turning DES in R feasible. As a noteworthy characteristic, simmer exploits the concept of trajectory: a common path in the simulation model for entities of the same type. It is pretty flexible and simple to use, and leverages the chaining/piping workflow introduced by the magrittr package.

Documentation

Documentation is available at r-simmer.org/reference.

Mailing list

For bugs and/or issues, create a new issue on GitHub. For other questions or comments, please subscribe to the simmer-devel mailing list. You must be a member to post messages, but anyone can read the archived discussions.

Installation

Install the release version from CRAN:

install.packages("simmer")

The installation from GitHub requires the devtools package.

devtools::install_github("r-simmer/simmer")

Please note that the package contains some C++ code and thus you need a development environment to build the package (e.g. Rtools for Windows).

Learning simmer

To get started, please explore our vignettes online, or in R:

vignette(package = "simmer")

Copy Link

Version

Install

install.packages('simmer')

Monthly Downloads

1,188

Version

3.6.0.9000

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Iaki Ucar

Last Published

September 28th, 2024

Functions in simmer (3.6.0.9000)

branch

Add a branch activity
add_resource

Add a resource
clone

Add a clone/synchronize activity
activate

Add a activate/deactivate activity
batch

Add a batch/separate activity
from

Generate arrivals starting at a specified time
add_generator

Add a generator
log_

Add a logging activity
leave

Add a leave activity
get_n_generated

Get the number of arrivals generated
now

Get current time
join

Join trajectories
from_to

Generate arrivals starting and stopping at specified times
length

Number of activities in a trajectory
at

Arrivals at specific times
schedule

Generate a scheduling object
rollback

Add a rollback activity
set_prioritization

Add a set prioritization activity
seize

Add a seize/release activity
Extract

Extract parts of a trajectory
run

Run the simulation
set_trajectory

Add a set trajectory/distribution activity
peek

Peek next events
plot_resource_utilization

Plot utilization of resources
plot_attributes

Plot evolution of attribute data
wrap

Wrap a simulation environment
get_capacity

Get a resource's parameter
reexports

Objects exported from other packages
select

Select a resource
get_mon

Get statistics
send

Add an inter-arrival communication activity
simmer

Create a simulator
plot_evolution_arrival_times

Plot evolution of arrival times
timeout

Add a timeout activity
to

Generate arrivals stopping at a specified time
plot_resource_usage

Plot usage of a resource over time
trajectory

Create a trajectory
set_attribute

Add a set attribute activity
renege_in

Add a renege activity
set_capacity

Add a set capacity/queue size activity
reset

Reset a simulator