https://github.com/tommonks/sim-tools
Tools to support the Discrete-Event Simulation process for education and practice.
https://github.com/tommonks/sim-tools
discrete-event-simulation open-science python sampling-distribution simpy thinning-acceptance-rejection-method
Last synced: 8 months ago
JSON representation
Tools to support the Discrete-Event Simulation process for education and practice.
- Host: GitHub
- URL: https://github.com/tommonks/sim-tools
- Owner: TomMonks
- License: mit
- Created: 2019-12-03T11:53:52.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-07T12:54:14.000Z (over 1 year ago)
- Last Synced: 2025-02-07T13:20:01.270Z (over 1 year ago)
- Topics: discrete-event-simulation, open-science, python, sampling-distribution, simpy, thinning-acceptance-rejection-method
- Language: Python
- Homepage: https://tommonks.github.io/sim-tools/
- Size: 2.45 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# `sim-tools`: tools to support the Discrete-Event Simulation process in python.
[](https://mybinder.org/v2/gh/TomMonks/sim-tools/HEAD)
[](https://zenodo.org/badge/latestdoi/225608065)
[](https://pypi.python.org/pypi/sim-tools/)
[](https://anaconda.org/conda-forge/sim-tools)
[](https://anaconda.org/conda-forge/sim-tools)
[](https://tommonks.github.io/sim-tools)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/release/python-360+/)
[](https://orcid.org/0000-0003-2631-4481)
`sim-tools` is being developed to support Discrete-Event Simulation (DES) education and applied simulation research. It is MIT licensed and freely available to practitioners, students and researchers via [PyPi](https://pypi.org/project/sim-tools/) and [conda-forge](https://anaconda.org/conda-forge/sim-tools)
# Vision for sim-tools
1. Deliver high quality reliable code for DES education and practice with full documentation.
2. Provide a simple to use pythonic interface.
3. To improve the quality of DES education using FOSS tools and encourage the use of best practice.
# Features:
1. Implementation of classic Optimisation via Simulation procedures such as KN, KN++, OBCA and OBCA-m
2. Distributions module that includes classes that encapsulate a random number stream, seed, and distribution parameters.
3. Implementation of Thinning to sample from Non-stationary poisson processes in a DES.
4. Automatic selection of the number of replications to run via the Replications Algorithm.
5. EXPERIMENTAL: model trace functionality to support debugging of simulation models.
## Installation
### Pip and PyPi
```bash
pip install sim-tools
```
### Conda-forge
```bash
conda install -c conda-forge sim-tools
```
### Binder
[](https://mybinder.org/v2/gh/TomMonks/sim-tools/HEAD)
## Learn how to use `sim-tools`
* Online documentation: https://tommonks.github.io/sim-tools
* Introduction to DES in python: https://health-data-science-or.github.io/simpy-streamlit-tutorial/
## Citation
If you use sim0tools for research, a practical report, education or any reason please include the following citation.
> Monks, Thomas. (2021). sim-tools: tools to support the forecasting process in python. Zenodo. http://doi.org/10.5281/zenodo.4553642
```tex
@software{sim_tools,
author = {Thomas Monks},
title = {sim-tools: fundamental tools to support the simulation process in python},
year = {2021},
publisher = {Zenodo},
doi = {10.5281/zenodo.4553642},
url = {http://doi.org/10.5281/zenodo.4553642}
}
```
# Online Tutorials
* Optimisation Via Simulation [](https://colab.research.google.com/github/TomMonks/sim-tools/blob/master/examples/sw21_tutorial.ipynb)
## Contributing to sim-tools
Please fork Dev, make your modifications, run the unit tests and submit a pull request for review.
Development environment:
* `conda env create -f binder/environment.yml`
* `conda activate sim_tools`
**All contributions are welcome!**