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

Giysi Üretimi: Çoklu süreçler ve modülerlik

Moda başkenti olarak bilinen İtalya'nın Milano kentindeki bir giysi üretim fabrikasını optimize etmeye yardımcı olacak ayrık olay modeli oluşturman isteniyor.

Çok heyecanlısın ve faydalı, ölçeklenebilir bir model kurmak istiyorsun; çünkü giysi endüstrisinin karmaşık olduğunu, pek çok süreç ve kaynağı içerdiğini ve bunları hâlâ öğrenmekte olduğunu biliyorsun.

Araştırmanı yaptın ve aşağıdaki tabloda görülen süreç listesini çıkardın. Dikkatli davranıp her süreç için ayrı bir fonksiyon oluşturarak modelini modüler yaptın ve kontrollü bir şekilde büyüyebilmesini sağladın.

Şimdi yöneticinden geri bildirim aldın ve modelde "Leke temizleme ve çamaşır" adlı yeni bir süreci, adımlar 8 ve 9 arasına yerleştirerek (kırmızıyla vurgulanan satıra bak) eklemen istendi. random ve simpy paketleri içe aktarılmıştır.

Süreç adları, ilgili fonksiyonlar ve sürecin modele dahil edilip edilmediğine dair bilgiyi içeren tablo.

Bu egzersiz

Python ile Ayrık Olay Benzetimi

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

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Create a function for the new process
def ____(gen_type=None, gauss_mean=None, gauss_std=None, unif_start=None, unif_end=None):
  if gen_type == "gauss":
    duration = random.gauss(gauss_mean, gauss_std)
  elif gen_type == "uniform":
    duration = random.uniform(unif_start, unif_end)
  return duration

def all_processes(env, prod_line):

  with prod_line.request() as request:
    yield request

    t1 = fabric_relaxing(gen_type="gauss", gauss_mean=2*60, gauss_std=15)
    t2 = spread_form_layout(gen_type="gauss", gauss_mean=6, gauss_std=1)
    t3 = laying_paper_pattern(gen_type="uniform", unif_start=3, unif_end=0.5)
    t4 = marking(gen_type="gauss", gauss_mean=6, gauss_std=1)
    t5 = cutting(gen_type="gauss", gauss_mean=5, gauss_std=0.5)
    t6 = embroidery_screen_and_printing(gen_type="uniform", unif_start=10, unif_end=2)
    t7 = sewing(gen_type="gauss", gauss_mean=15, gauss_std=3)
    t8 = checking(gen_type="gauss", gauss_mean=2, gauss_std=0.5)

    # Add the new process
    tnew = ____

    # Account for the new process duration in the entire process duration
    total_duration = sum([t1, t2, t3, t4, t5, t6, t7, t8, ____, t9, t10])

    yield env.timeout(total_duration)
Kodu Düzenle ve Çalıştır