Simulación de eventos discretos en Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Descripción de un sistema natural o humano usando conceptos y lenguaje matemáticos.
Los modelos se clasifican en:
Los modelos matemáticos pueden ser simples o complejos.
George Box: "Todos los modelos están mal, pero algunos son útiles."

Modelo de caudal en un río

Este modelo predice el caudal en la estación hidrológica de Goaya, China.
La predicción se basa en la lluvia como entrada del modelo.
Otros ejemplos
Predicción de la inflación

Otros ejemplos
# Define model parameters
processes = {"process_1": 5,
"process_2": 2,
"process_3": 3}
# Simulation period
simulation_time = 365
# Run model
discrete_model(processes, simulation_time)
def discrete_model(processes, simulation_time): # 1) Run end-condition while (time < simulation_time): process_names = list(processes.keys())# 2) Loop over all processes for p in range(len(process_names)): process_name_p = process_names[p]# 3) Account for effect of each process time += processes[process_name_p]
Ejemplo de salida de un modelo de eventos discretos para una actividad de manufactura
=> START OF SIMULATION (Time = 0 days)
Time = 6.00 days | Process Complete: Transport of raw material
Time = 9.00 days | Process Complete: Building components
Time = 11.00 days | Process Complete: Assembling parts
Time = 14.00 days | Process Complete: Selling product
=> COMPLETED: Supply-Chain cycle #1 | Time = 15.5 days
Time = 21.50 days | Process Complete: Transport raw material
Time = 24.50 days | Process Complete: Building components
Time = 26.50 days | Process Complete: Assembling parts
Time = 29.50 days | Process Complete: Selling product
=> COMPLETED: Supply-Chain cycle #2 | Time = 31.0 days
Visualización gráfica de resultados: ayuda a detectar patrones y puntos de inflexión.
Adapta la visualización a los objetivos de la simulación.
Paquetes útiles: matplotlib, seaborn, plotly.

Ejemplos
y) vs. el tiempo (x)plt.plot(x, y, color='green', marker='o',
markersize=12, linestyle='dashed',
linewidth=2)
x y contar valores por binplt.hist(x, 50, density=True,
facecolor='g', alpha=0.75)
Simulación de eventos discretos en Python