SkillAgentSearch skills...

Simulation

Discrete event traffic simulation using simpy

Install / Use

/learn @mwong009/Simulation
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

simulation

Requriements

Requirements can be installed with Conda and pip

Python (3.5+) https://www.python.org/downloads/

NumPy (1.13+) https://scipy.org/install.html

Matplotlib (2.02+) https://matplotlib.org/

SimPy (3.0.10+) https://simpy.readthedocs.io/

opencv (3.0+) http://www.opencv.org/

Conda setup

Get miniconda from here

Install git:

> conda install git 

Clone this repository

> git clone https://github.com/mwong009/simulation.git simulation

cd into the directory

> cd simulation

Installing

From the project directory:

Windows:

C:\...\simulation> pip install -r requirements.txt

Linux:

/.../simulation> pip3 install -r requirements.txt

Usage and Documentation

SimPy is a process-based discrete-event simulation framework based on standard Python. Processes in SimPy are defined by Python generator functions and may, for example, be used to model active components like customers, vehicles or agents. SimPy also provides various types of shared resources to model limited capacity congestion points (like servers, checkout counters and tunnels).

From the project directory, run the command:

> python script.py

On linux:

> python3 script.py

Hit spacebar to start

Sample output:

car 1 arrived on link 1E at 0.03s (Q=0)
car 2 arrived on link 2S at 0.63s (Q=0)
car 3 arrived on link 6N at 0.73s (Q=0)
...
car 1 departed link 4E at 1.29s (Q=0)
car 6 arrived on link 6N at 1.71s (Q=0)
car 6 departed link 6N at 1.83s (Q=0)
...
car 96 arrived on link 7E at 37.20s (Q=0)
car 96 departed link 7E at 37.20s (Q=0)
car 99 departed link 6N at 38.10s (Q=0)
car 99 arrived on link 7E at 39.06s (Q=0)
car 99 departed link 7E at 39.06s (Q=0)

Statistics can be generated

[514 rows x 6 columns]
       totalTravelTime  totalSegments  meanWaitTime
carID                                              
1             3.759368              3      0.372207
2             7.340689              3      1.282778
3             2.007794              2      0.064265
4             1.956925              1      1.140182
5             5.664470              3      0.986793
6             1.404893              2      0.055849
7             4.237412              1      3.289740
8             3.490860              1      3.139994
9             2.345139              1      1.451333
10            4.175994              1      3.244251
11            7.098955              3      1.487988
...

Plotting done on Matplotlib

Related Skills

View on GitHub
GitHub Stars33
CategoryDevelopment
Updated2mo ago
Forks12

Languages

Python

Security Score

80/100

Audited on Jan 21, 2026

No findings