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