Araba Montaj Hattı: belirlenim dışı olaylar ekleme
Bu egzersiz, SimPy kullanmadan belirlenim dışı (non-deterministic) süreçlere odaklanır. Bir sonraki egzersizde SimPy’ye odaklanacağız.
Senden, bir önceki ayrık olay simülasyonu (discrete-event) araba üretim hattı modelindeki süreç sürelerindeki değişkenliği hesaba katman istendi. Önceden belirlenen süreç grupları şunlardı: (1) "Kaynak ve boya" ve (2) "Parçaların montajı ve test". Bu süreç gruplarının her birinin birçok alt süreç ve görev içerdiğini unutma; ancak şu an için amacın modelinin ilk sürümünü üst düzeyde kodlamak.
Daha önce, kaynak ve boyanın ortalama 15 saatte tamamlandığını, parçaların montajı ve testin ise ortalama 24 saatte bittiğini belirlemiştin.
Şimdi, bu süreçlerin sürelerindeki değişkenliği incelemek için ek araştırma ve izleme yaptın. Sonuç olarak, kaynak ve boyanın süresinin beş saat (artı/eksi) değişebileceğini, parçaların montajı süresinin ise altı saat (artı/eksi) değişebileceğini gördün.
Bu olayların sürelerindeki değişimleri hesaba katacak şekilde ayrık olay modelini güncelle.
random paketi senin için yüklendi.
Bu egzersiz
Python ile Ayrık Olay Benzetimi
kursunun bir parçasıdırEgzersiz talimatları
randompaketindeki rastgele tamsayı üreten bir yöntemi kullanarak, yeni değişkenlik bilgisini dikkate alıp "Kaynak ve boya" sürecinin süresini kaydet.randompaketindeki rastgele tamsayı üreten bir yöntemi kullanarak, yeni değişkenlik bilgisini dikkate alıp "Parçaların montajı ve test" sürecinin süresini kaydet.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock the time requirement for: Welding and Painting
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")
# Clock the time requirement for: Assembly of parts and Testing
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")
car_production_line(SIMULATION_TIME)