Learn R Programming

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

simmer

by Bart Smeets, Iñaki Ucar

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 use 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/docs.

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 the vignettes:

vignette(package = "simmer")

These are currently available:

Copy Link

Version

Install

install.packages('simmer')

Monthly Downloads

1,276

Version

3.3.0.9000

License

MIT + file LICENSE

Maintainer

Iaki Ucar

Last Published

September 28th, 2024

Functions in simmer (3.3.0.9000)

every

[Deprecated] Arrivals every specific interval
create_trajectory

Create a trajectory
from_to

Generate arrivals starting and stopping at specified times
get_capacity

Get the capacity
at

Arrivals at specific times
add_generator

Add a generator
from

Generate arrivals starting at a specified time
add_resource

Add a resource
branch

Add a branch activity
get_mon_resources

Get resource statistics
get_head

Get the first activity
get_mon_arrivals

Get arrival statistics
get_n_activities

Get the number of activities
onestep

Step the simulation
plot_evolution_arrival_times

Plot evolution of arrival times
get_mon_attributes

Get attribute statistics
get_prev_activity

Get the previous activity
peek

Peek next events
plot_resource_utilization

Plot utilization of resources
now

Get the current time
get_tail

Get the last activity
get_n_generated

Get the number of arrivals generated
get_queue_count

Get the queue count
plot_attributes

Plot evolution of attribute data
join

Join trajectories
leave

Add a leave activity
plot_resource_usage

Plot usage of a resource over time
get_next_activity

Get the next activity
to

Generate arrivals stopping at a specified time
schedule

Generate a scheduling object
get_queue_size

Get the queue size
select

Select a resource
set_queue_size

Set the queue size
seize

Add a seize activity
get_server_count

Get the server count
seize_selected

Add a seize activity
simmer

Create a simulator
rollback

Add a rollback activity
run

Run the simulation
timeout

Add a timeout activity
release

Add a release activity
release_selected

Add a release activity
reset

Reset a simulator
print_activity

Print an activity
reexports

Objects exported from other packages
wrap

Wrap a simulation environment
set_attribute

Add a set attribute activity
set_capacity

Set the capacity