Конвейер сборки автомобилей: добавление недетерминированных событий с помощью 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)