Simulare de evenimente discrete în Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Înțelegerea sistemului dinamic
Definirea obiectivului/obiectivelor modelului
Identificarea proceselor:
Identificarea resurselor SimPy adecvate (resource, container, store)
Definirea arhitecturii modelului:
Înțelegerea sistemului dinamic
Obiectivele modelului
Ce aspecte doriți să optimizați?
Variabile de stare pentru monitorizarea acestor obiective
Resurse partajate
simpy.Resource(env, capacity=4)
Exemple
Containere
simpy.Container(env, capacity,
init=initial_capacity)
Resursa funcționează ca un rezervor sau coș
Adăugare și eliminare de cantități:
.put() și .get()
Exemple
Store
simpy.Store(env, capacity=4)
Resursă similară unui magazin cu mai multe articole
Capacitate nelimitată (implicit)
Spații de capacitate pentru stocarea obiectelor arbitrare
Adăugare și eliminare de articole:
.put() și .get()
Exemple
SimPy folosește operatori pe biți pentru a concatena două evenimente
Tipuri de operatori în Python
Operatori pe biți
a & b, a >> b, a ^ bÎn SimPy
Operatori pe biți relevanți pentru SimPy
__and__() sau &__or__() sau |Simulare de evenimente discrete în Python