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.

Bu egzersiz
Python ile Ayrık Olay Benzetimi
kursunun bir parçasıdırUygulamalı 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)