BaşlayınÜcretsiz başlayın

Üretim Optimizasyonu: Ara & Durdur

Hadi, önceki bir egzersizde oluşturulan duvar saati fabrikası modelini kullanalım ve kritik darboğaz süreçlerini belirlemek için Monte Carlo örneklemesine dayalı bir "Ara & Durdur" optimizasyon yaklaşımı kuralım.

Üretim süreci aşağıdaki tabloda özetlenmiştir ve bilgiler, her süreç için bir sözlük olacak şekilde processes adlı sözlük listesinde saklanmıştır. Bu sözlükteki anahtarlar, tablonun sütun başlıklarına karşılık gelir.

Süreç adlarını ve bunların ortalama ile standart sapma olmak üzere süre istatistiklerini gösteren tablo.

Bu egzersizde grafikleri üretmek için kullanılacak plot_results() yöntemi önceden yüklendi ve aşağıda gösterilmiştir.

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 örnekleme döngüsü, şekilde gösterildiği gibi olası süreç yörüngeleri üretecek ve istenen koşul sağlandığında duracaktır. Farklı süreç senaryoları için Monte Carlo yörüngeleri.

Bu egzersiz, kursun bir parçasıdır

Python ile Ayrık Olay Benzetimi

Kursa Göz Atın

Egzersiz talimatları

  • run_i sıfıra eşitken veya total_duration[run_i] 85 saatten büyükken simülasyon yörüngelerini çalıştıracak bir döngü kur (yani, durdurma koşulu: total_duration[run_i] 85 saate eşit veya 85 saatten küçük olduğunda).
  • run_monte_carlo() fonksiyonunda saklanan Monte Carlo motorunu çalıştır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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
____
Kodu Düzenle ve Çalıştır