Discrete Event Simulation in Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Beschrijving van een natuurlijk of mensgedreven systeem met wiskundige concepten en taal.
Modellen kun je indelen als:
Wiskundige modellen kunnen simpel of complex zijn.
George Box: "All models are wrong, but some are useful."

Model van stroming in een rivier

Dit model voorspelt de afvoer voor het Goaya-hydrologisch station in China.
De voorspelling is gebaseerd op neerslaginformatie als modelinvoer.
Andere voorbeelden
Inflatie voorspellen

Andere voorbeelden
# 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]
Voorbeeld van uitvoer van een discrete-evenementenmodel voor een productieproces
=> START VAN SIMULATIE (Tijd = 0 dagen)
Tijd = 6,00 dagen | Proces voltooid: Transport van grondstof
Tijd = 9,00 dagen | Proces voltooid: Onderdelen bouwen
Tijd = 11,00 dagen | Proces voltooid: Onderdelen assembleren
Tijd = 14,00 dagen | Proces voltooid: Product verkopen
=> VOLTOOID: Supplychain-cyclus #1 | Tijd = 15,5 dagen
Tijd = 21,50 dagen | Proces voltooid: Transport grondstof
Tijd = 24,50 dagen | Proces voltooid: Onderdelen bouwen
Tijd = 26,50 dagen | Proces voltooid: Onderdelen assembleren
Tijd = 29,50 dagen | Proces voltooid: Product verkopen
=> VOLTOOID: Supplychain-cyclus #2 | Tijd = 31,0 dagen
Grafische weergave van modelresultaten: helpt patronen en kantelpunten te vinden.
Visualisatie afstemmen op simulatiedoelen.
Veel pakketten beschikbaar: matplotlib, seaborn, plotly.

Voorbeelden
y) vs. de bijbehorende tijdwaarden (x)plt.plot(x, y, color='green', marker='o',
markersize=12, linestyle='dashed',
linewidth=2)
x te groeperen en het aantal waarden per bin te tellenplt.hist(x, 50, density=True,
facecolor='g', alpha=0.75)
Discrete Event Simulation in Python