ПочатиПочніть безкоштовно

Конвеєр складання автомобілів: додавання недетермінованих подій із 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)
Редагувати та запускати код