Montážní linka aut: přidání nedeterministických událostí
Toto cvičení se zaměřuje na nedeterministické procesy bez použití SimPy. V dalším cvičení se na SimPy zaměříme.
Dostal/a jsi za úkol zohlednit variabilitu doby trvání procesů v předchozím modelu diskrétní události výrobní linky aut. Skupiny procesů identifikované dříve jsou: (1) „Svařování a lakování" a (2) „Montáž dílů a testování". Připomeňme, že každá z těchto skupin zahrnuje mnoho dílčích procesů a úkolů – prozatím se ale soustředíš na vytvoření první verze modelu na vysoké úrovni.
Dříve jsi zjistil/a, že svařování a lakování trvá v průměru 15 hodin, zatímco montáž dílů a testování zabere v průměru 24 hodin.
Nyní jsi provedl/a další výzkum a monitoring za účelem studia variability doby trvání těchto procesů. Dospěl/a jsi k závěru, že svařování a lakování se může lišit o pět hodin (nahoru nebo dolů) a doba montáže dílů se může lišit o šest hodin (nahoru nebo dolů).
Aktualizuj svůj model diskrétní události tak, aby zohledňoval variabilitu doby trvání těchto událostí.
Balíček random je již načtený.
Toto cvičení je součástí kurzu
Diskrétní simulace událostí v Pythonu
Pokyny k cvičení
- Zaznamenej dobu trvání procesu „Svařování a lakování" s přihlédnutím k novým informacím o variabilitě – použij metodu z balíčku
random, která generuje náhodná celá čísla. - Zaznamenej dobu trvání procesu „Montáž dílů a testování" s přihlédnutím k novým informacím o variabilitě – použij metodu z balíčku
random, která generuje náhodná celá čísla.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)