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.5.1.9000

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Iaki Ucar

Last Published

September 28th, 2024

Functions in simmer (3.5.1.9000)

at

Arrivals at specific times
from

Generate arrivals starting at a specified time
add_resource

Add a resource
activate

Add a activate/deactivate activity
branch

Add a branch activity
from_to

Generate arrivals starting and stopping at specified times
add_generator

Add a generator
clone

Add a clone/synchronize activity
join

Join trajectories
create_trajectory

Create a trajectory
leave

Add a leave activity
batch

Add a batch/separate activity
get_capacity

Get a resource's parameter
peek

Peek next events
get_n_generated

Get the number of arrivals generated
reset

Reset a simulator
get_head

Get the first/last activity
seize

Add a seize/release activity
rollback

Add a rollback activity
get_next_activity

Get the next/prev activity
select

Select a resource
plot_evolution_arrival_times

Plot evolution of arrival times
timeout

Add a timeout activity
get_mon

Get statistics
set_trajectory

Add a set trajectory/distribution activity
plot_resource_usage

Plot usage of a resource over time
simmer

Create a simulator
to

Generate arrivals stopping at a specified time
plot_resource_utilization

Plot utilization of resources
get_n_activities

Get the number of activities
print_activity

Print an activity
set_capacity

Add a set capacity/queue size activity
reexports

Objects exported from other packages
set_prioritization

Add a set prioritization activity
schedule

Generate a scheduling object
run

Run the simulation
renege_in

Add a renege activity
send

Add an inter-arrival communication activity
set_attribute

Add a set attribute activity
log_

Add a logging activity
wrap

Wrap a simulation environment
now

Get current time
plot_attributes

Plot evolution of attribute data