Discrete Event Simulation in Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Begrijp het dynamische systeem
Definieer doel(en) van het discrete-evenementenmodel
Identificeer processen:
Kies passende SimPy-resources (resource, container, store)
Definieer de architectuur:
Begrijp het dynamische systeem
Doelen van het model
Welke aspecten wil je optimaliseren?
Toestandsvariabelen om deze doelen te monitoren
Gedeelde resources
simpy.Resources(env, capacity=4)
Voorbeelden
Containers
simpy.Container(env, capacity,
init=initial_capacity)
Resource werkt als een tank of mand
Hoeveelheid toevoegen en verwijderen:
.put() en .get()
Voorbeelden
Store
Resource als een opslag met meerdere items
Capaciteit is onbeperkt (standaard)
Capaciteitsvakken voor willekeurige objecten
Items toevoegen en verwijderen:
.put() en .get()
Voorbeelden
SimPy gebruikt bitwise-operatoren om twee events te combineren
Typen operatoren in Python
Bitwise-operatoren
a & b, a >> b, a ^ bIn SimPy
Relevante bitwise-operatoren voor SimPy
__and__() of &__or__() of |Discrete Event Simulation in Python