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 (resource, container, store)
Definire l’architettura del modello:
Capire il sistema dinamico
Obiettivi del modello
Quali aspetti vuoi ottimizzare?
Variabili di stato per monitorare questi obiettivi
Risorse condivise
simpy.Resources(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
Risorsa tipo negozio con più oggetti
Capacità illimitata (default)
Slot di capacità per oggetti arbitrari
Aggiungi e rimuovi oggetti:
.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__() oppure &__or__() oppure |Simulazione a eventi discreti in Python