Simulazione a eventi discreti in Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Capire il sistema dinamico
Definire gli obiettivi del modello a eventi discreti
Identificare i processi:
Identificare le risorse SimPy adatte (resource, container, store)
Definire l’architettura del modello:
Comprendere il sistema dinamico
Obiettivi del modello
Quali aspetti vuoi ottimizzare?
Variabili di stato per monitorare questi obiettivi
Risorse condivise
simpy.Resource(env, capacity=4)
Esempi
Container
simpy.Container(env, capacity,
init=initial_capacity)
Risorsa che si comporta come serbatoio o cesta
Aggiungi e rimuovi quantità:
.put() e .get()
Esempi
Store
simpy.Store(env, capacity=4)
Risorsa tipo negozio con più articoli
Capacità illimitata (default)
Slot per archiviare oggetti arbitrari
Aggiungi e rimuovi elementi:
.put() e .get()
Esempi
SimPy usa operatori bitwise per concatenare due eventi
Tipi di operatori in Python
Operatori bitwise
a & b, a >> b, a ^ bIn SimPy
Operatori bitwise rilevanti per SimPy
__and__() o &__or__() o |Simulazione a eventi discreti in Python