Discrete Event Simulation in Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Dynamic vs. Steady-state
Applications of Discrete-event models
Examples:
Manufacturing:
Construction:
Summary of SimPy methods
env = simpy.Environment()
env.process()
env.run()
env.timeout()
env.now
SimPy Resources
simpy.Resource()
simpy.Container()
simpy.Store()
Process sequence with deterministic (yellow) and non-deterministic (pink) processes:
# Next-event time progression
time[0] = 0
time[1] = time[0] + welding_1["time_hours"]
time[2] = time[1] + rd.gauss(manual_assembly_1["time_hours"], manual_assembly_1["std_hours"])
time[3] = time[2] + rd.gauss(manual_assembly_2["time_hours"], manual_assembly_2["std_hours"])
time[4] = time[3] + welding_2["time_hours"]
time[5] = time[4]
Monte Carlo sampling
Cluster analysis
Other relevant courses
Discrete Event Simulation in Python