Конвеєр складання автомобілів: додавання недетермінованих подій із SimPy
У цій вправі зосередимося на недетермінованих процесах у SimPy.
Ви зміните версію моделі конвеєра складання автомобілів на SimPy, додавши ті самі детерміновані події за допомогою методів SimPy.
Згадайте, що «Зварювання та фарбування» в середньому триває 15 годин, але тривалість може відхилятися на пʼять годин у більший або менший бік. Водночас «Складання деталей і тестування» в середньому триває 24 години, але тривалість може відхилятися на шість годин у більший або менший бік.
Бібліотеку SimPy вже імпортовано для вас.
Ця вправа є частиною курсу
Дискретно-подієве моделювання в Python
Інструкції до вправи
- Відмітьте тривалість процесу «Зварювання та фарбування», врахувавши нову інформацію про його варіативність за допомогою методу
random.randint(). - Відмітьте тривалість процесу «Складання деталей і тестування», врахувавши нову інформацію про його варіативність за допомогою методу
random.randint().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)