Optimalizace výroby: hledání a zastavení
Použijeme model továrny na nástěnné hodiny z předchozího cvičení a nasadíme optimalizační přístup „Search & Stop" založený na Monte Carlo vzorkování, abychom identifikovali kritická úzká místa ve výrobním procesu.
Výrobní proces je shrnut v tabulce níže a informace jsou uloženy v seznamu slovníků nazvaném processes, kde každý slovník odpovídá jednomu procesu. Klíče slovníku odpovídají záhlavím sloupců tabulky.

Metoda plot_results() pro generování grafů v tomto cvičení je předem načtená a je zobrazena níže.
def plot_results():
df_disc = pd.DataFrame({cNam[0]: process_line_space, cNam[1]: time_record})
fig = sns.lineplot(data=df_disc, x=cNam[0], y=cNam[1], marker='o')
plt.grid()
fig.set(xlim=(0, len(processes)))
fig.set(ylim=(0, 180))
fig.set(xticks=process_line_space)
plt.plot()
Monte Carlo vzorkovací smyčka vytvoří řadu možných průběhů procesů a zastaví se ve chvíli, kdy je splněna požadovaná podmínka, jak ukazuje obrázek.

Toto cvičení je součástí kurzu
Diskrétní simulace událostí v Pythonu
Pokyny k cvičení
- Nastav smyčku tak, aby spouštěla simulační trajektorie, dokud je
run_irovno nule nebo jetotal_duration[run_i]větší než 85 hodin (tj. podmínka zastavení:total_duration[run_i]je menší nebo rovno 85 hodinám). - Spusť Monte Carlo engine uložený ve funkci
run_monte_carlo().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
def run_monte_carlo():
run_i = 0
# While-loop with the stop condition
____
run_i += 1
env = simpy.Environment()
env.process(manufractoring_process(env))
env.run()
plot_results()
plt.show()
# Call the run_monte_carlo function
____