Diskret händelsesimulering i Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Förstå det dynamiska systemet
Definiera modellens mål
Identifiera processer:
Identifiera lämpliga SimPy-resurser (resource, container, store)
Definiera modellens arkitektur:
Förstå det dynamiska systemet
Modellens mål
Vad vill du optimera?
Tillståndsvariabler för att följa upp dessa mål
Delade resurser
simpy.Resource(env, capacity=4)
Exempel
Containers
simpy.Container(env, capacity,
init=initial_capacity)
Resursen fungerar som en tank eller korg
Lägg till och ta bort mängd:
.put() och .get()
Exempel
Store
simpy.Store(env, capacity=4)
Resurs som ett lager med flera objekt
Obegränsad kapacitet (standard)
Kapacitetsplatser för att lagra godtyckliga objekt
Lägg till och ta bort objekt:
.put() och .get()
Exempel
SimPy använder bitvisa operatorer för att kombinera två händelser
Operatortyper i Python
Bitvisa operatorer
a & b, a >> b, a ^ bI SimPy
Relevanta bitvisa operatorer för SimPy
__and__() eller &__or__() eller |Diskret händelsesimulering i Python