Simulación de eventos discretos en Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
NOTA: “evento” y “proceso” se usan indistintamente.
¿Qué es la no determinación de eventos/procesos?
¿Por qué importan los procesos deterministas?
Mundo natural
Procesos impulsados o iniciados por humanos
Procesos no deterministas
Estadística
El paquete random ayuda con esto
Ejemplo: random.randint(start, end)
import random
# Non-deterministic processes
process_1 = [5, 15]
while time < simulation_time:
# Update simulation time: process_1
time += random.randint(
process_1[0],
process_1[1])
No hay métodos específicos para tratar procesos no deterministas
La variabilidad de duración se calcula igual que en modelos sin SimPy
Pasa las estadísticas correctas a .timeout()
import random
# Non-deterministic processes
process_1 = [5, 15]
while True:
# Update simulation time: process_1
yield env.timeout(random.randint(
process_1[0],
process_1[1]))
Simulación de eventos discretos en Python