Simulación de eventos discretos en Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Esto ayuda a
Espacio de parámetros al aumentar las muestras



Ejemplo: ejecución Monte Carlo para entender el rango de salidas de un generador de eventos basado en distribución normal (gauss)
import random as rd
import numpy as np
import matplotlib.pyplot as plt
# Generating samples: Gaussian distribution
duration_sample = [rd.gauss(25, 5)
for i in range(5000)]
# Plotting
plt.scatter(duration_sample, np.r_[0:5000],
marker='.', c=duration_sample, cmap='CMRmap')
plt.xlabel("Duration [min]")
plt.ylabel("Monte Carlo Runs")
Visualización de resultados

Objetivo principal

La incertidumbre en cada duración se propaga por el sistema
Da lugar a trayectorias de modelo distintas
Se llama envolvente de respuesta
Ejemplo:
n_trajectories = 50
process_1 = {"Name": "Raw_material",
"OperationTime": 20,
"MaxDelayTimePercent": 10}
process_2 = {"Name": "Unloading",
"OperationTime": 15,
"MaxDelayTimePercent": 5}

Simulación de eventos discretos en Python