Quantcast
Channel: r software hub
Viewing all articles
Browse latest Browse all 1015

simmer 3.0.0 is on CRAN

$
0
0

By FishyOperations

flowtime plot

I’m very pleased to announce the first CRAN release of simmer. (https://cran.rstudio.com/web/packages/simmer/). This release has been realised thanks to the efforts made by Iñaki.

To reiterate a bit, simmer is a discrete-event simulation (DES) package for R. It is the first R package that focuses on creating a robust DES framework for R. It provides a framework somewhat similar as e.g SimPy and SimJulia but is arguably written from a bit more of an applied angle.

R might not be the most efficient language to implement a DES framework due to its method of memory allocation. Therefore, simmer implements a C++ backend by making use of Rcpp.

This release follows the philosophy and workflow of the pre-release version but adds a more robust event-based C++ backend and a more flexible frontend. These are the main improvements:

  • Enhanced programmability The timeout activity is more than just a delay. It admits a user-defined function, which can be as complex as needed in order to interact with the simulation model. The old v2.0 was no more than a queueing network simulator. This feature makes simmer a flexible and generic DES framework. Moreover, we have finally got rid of the infamous add_skip_event function to implement a more flexible and user-friendly branching method.
  • Robustness The event-based core design is rigorous and simple, which makes simmer faster and less error-prone, at the same level of other state-of-the-art DES frameworks.
    Much better performance. Instead of creating n arrivals beforehand, this release leverages the concept of generator of arrivals, which is faster and more flexible. At the same time, the concept of trajectory as a chain of activities is implemented entirely in C++ internally. Our tests show that simmer is even faster than SimPy when it comes to simulate queueing networks.
  • Replication In the pre-release, replication was implemented inside simmer. This no longer makes sense …read more

    Source:: r-bloggers.com


Viewing all articles
Browse latest Browse all 1015

Trending Articles