Ü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.

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.

Bu egzersiz
Python ile Ayrık Olay Benzetimi
kursunun bir parçasıdırEgzersiz talimatları
run_isıfıra eşitken veyatotal_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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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
____