НачатьНачать бесплатно

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