Simulación de eventos discretos en Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Entender el sistema dinámico
Definir objetivo(s) del modelo de eventos discretos
Identificar procesos:
Identificar los recursos de SimPy (resource, container, store)
Definir la arquitectura del modelo:
Entender el sistema dinámico
Objetivos del modelo
¿Qué quieres optimizar?
Variables de estado para monitorizar estos objetivos
Recursos compartidos
simpy.Resource(env, capacity=4)
Ejemplos
Contenedores
simpy.Container(env, capacity,
init=initial_capacity)
Recurso que se comporta como un tanque o cesta
Añadir y quitar cantidad:
.put() y .get()
Ejemplos
Store
simpy.Store(env, capacity=4)
Recurso tipo almacén con múltiples ítems
Capacidad ilimitada (por defecto)
Huecos de capacidad para guardar objetos arbitrarios
Añadir y quitar ítems:
.put() y .get()
Ejemplos
SimPy usa operadores bit a bit para concatenar dos eventos
Tipos de operadores en Python
Operadores bit a bit
a & b, a >> b, a ^ bEn SimPy
Operadores bit a bit relevantes en SimPy
__and__() o &__or__() o |Simulación de eventos discretos en Python