Začněte nyníZačněte zdarma

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.

Table with process names and their duration statistics, namely mean and standard deviation.

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. Monte Carlo trajectories for different process scenario.

Toto cvičení je součástí kurzu

Diskrétní simulace událostí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Nastav smyčku tak, aby spouštěla simulační trajektorie, dokud je run_i rovno nule nebo je total_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
____
Upravit a spustit kód