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

Ayrık olay modelleri için Monte Carlo örneklemesi

Duvar saatleri üreten bir fabrika hayal et. Saatlerin popülaritesi artıyor ve artık talep üretim kapasitesinin üzerinde. Fabrika aylardır tam kapasite çalışıyor ve sen de daha bilinçli yönetim kararları alabilmek, gelecekteki yatırımları ve genişlemeyi planlayabilmek için fabrikanın davranışını ve darboğazlarını daha iyi anlamak istiyorsun.

Fabrika süreçlerinin bir ayrık olay modeli geliştirildi ve şimdi senaryoları keşfetmek için bir Monte Carlo örnekleme analizi çalıştırmak istiyorsun. Üretim süreci aşağıdaki tabloda özetlenmiştir ve bilgiler, her süreç için bir sözlük olacak şekilde processes adlı bir sözlük listesinde saklanmıştır. Bu sözlükteki anahtarlar tablo sütun başlıklarına karşılık gelir. Senin için şu paketler içe aktarıldı: numpy as np, matplotlib.pyplot as plt, seaborn as sns, random, pandas as pd ve time.

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

Monte Carlo örnekleme döngüsü, şekilde gösterildiği gibi olası süreç yörüngeleri dizisi üretecektir. Farklı süreç senaryoları için Monte Carlo yörüngeleri.

Bu egzersiz

Python ile Ayrık Olay Benzetimi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • n_trajectories örnek için, kukla değişken t ile ana Monte Carlo örnekleme for-döngüsünü kur.
  • Süreç süresini sözde-rastgele tahmin etmek için random paketinden Gaussian dağılımını kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

n_trajectories = 100

# Run a Monte-Carlo for-loop for n_trajectories samples
____

    for p in range(len(processes)):
        proc_p = processes[p]

        # Random gauss method to pseudo-randomly estimate process duration
        process_duration = ____(proc_p["Average_Duration"], proc_p["Standard_Deviation"])
        time_record[p + 1] = time_record[p] + process_duration

    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")  # Step_10
    fig.set(xlim=(0, len(processes) + 1))
    plt.plot()
plt.grid()
plt.show()
Kodu Düzenle ve Çalıştır