Linia montażu samochodów: dodawanie zdarzeń niedeterministycznych w SimPy
To ćwiczenie skupia się na procesach niedeterministycznych z użyciem SimPy.
Zmodyfikujesz wersję modelu linii montażu samochodów opartą na SimPy, dodając do niej zdarzenia niedeterministyczne przy użyciu metod SimPy.
Przypomnij sobie, że "Spawanie i malowanie" trwają średnio 15 godzin, ale czas ten może się wahać o pięć godzin (w górę lub w dół). Z kolei "Montaż części i testy" zajmują średnio 24 godziny, ale czas ten może się wahać o sześć godzin (w górę lub w dół).
Biblioteka SimPy została już zaimportowana.
To ćwiczenie jest częścią kursu
Symulacja zdarzeń dyskretnych w Pythonie
Instrukcje do ćwiczenia
- Odmierz czas trwania procesu "Spawanie i malowanie", uwzględniając nowe informacje o jego zmienności przy użyciu metody
random.randint(). - Odmierz czas trwania procesu "Montaż części i testy", uwzględniając nowe informacje o jego zmienności przy użyciu metody
random.randint().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def car_production_line(env):
car_number = 0
while True:
car_number += 1
# Adding process 1: Clock-in time requirement for Welding and Painting
yield env.____(random.____(10, 20))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")
# Adding process 2: Return/yield time after completing the process and print the current time
yield env.____(random.____(18, 30))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")
env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)