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

Ayrık olay modeli geliştirme

Kaynak tahsisini yapmak, verimliliği artırmak ve darboğazları belirleyip ortadan kaldırmak için bir tarım operasyonu adına bir ayrık olay modeli geliştirmen istendi.

Hâlâ meslektaşlarınla birlikte hangi süreçlerin yer alacağı ve modelde ne kadar ayrıntılı temsil edileceği üzerine konuşuyorsun. Bu nedenle, bilgilerin aşağıdaki yapıda process_dict adlı bir sözlükte derlenmesi konusunda anlaştınız. Amaç, süreçlerle ilgili daha fazla bilgi geldikçe bu sözlüğün güncellenmesi.

process_dict = {
    "Process name 1":  <duration>,
    "Process name 2":  <duration>,
    ...
}

Sözlükte tanımlanan herhangi bir sayıda ayrık olayı zamanlayabilen discrete_model_farm() adlı genel bir ayrık olay modeli oluşturalım.

Modelin girdi argümanları (sırasıyla):

  1. process_dict: Süreçler hakkında bilgileri içeren sözlük
  2. simulation_time: Simülasyon süresi

Modelde zaman gün cinsinden ölçülecek.

Bu egzersiz

Python ile Ayrık Olay Benzetimi

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

Egzersiz talimatları

  • Modelin durum değişkenlerini başlat: time (zamanı takip eder) ve supply_chain (döngü sayısını takip eder) ve her ikisini de sıfıra ayarla.
  • Bitiş koşulunu tanımla; model time, simulation_time değerinden küçük olduğu sürece çalışsın.
  • Sürecin süresini time durum değişkenine ekle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

def discrete_model_farm(process_dict, simulation_time):
  # Initiate variables
  time = ____
  supply_chain = ____

  # Define ending condition
  while ____ < ____:

    supply_chain += 1
    process_names = list(process_dict.keys())

    for p in range(len(process_names)):
		  
      event_duration = process_dict[process_names[p]]
          
      # Add the process duration
      ____ += event_duration
      print(f"{process_names[p]}  (completed): time = {time}")
          
    print(f"COMPLETED: Production cycle #{supply_chain} | Time = {time} days")  
Kodu Düzenle ve Çalıştır