Автомобильный конвейер: добавление детерминированных событий
В этом упражнении мы рассмотрим детерминированные процессы без использования SimPy. В следующем упражнении мы перейдём к SimPy.
Поступил запрос на создание дискретно-событийной модели для симуляции автомобильного производственного конвейера. Цель модели — помочь повысить производительность, выявить узкие места и эффективно управлять ресурсами. Для начала вам нужно было определить основные группы процессов на производственной линии. Это (1) сварка и покраска, а также (2) сборка и тестирование. Конечно, каждая из этих групп включает множество подпроцессов и задач, однако на данном этапе вы сосредоточены на создании первой версии модели на высоком уровне абстракции.
Теперь, когда ключевые группы процессов определены, пришло время установить среднее время выполнения каждого из них. По результатам исследования вы получили следующие данные: 15 часов на сварку и покраску и 24 часа на сборку деталей и тестирование. Давайте представим эти детерминированные процессы в дискретно-событийной модели без использования SimPy.
Это упражнение является частью курса
Дискретно-событийное моделирование на Python
Инструкции к упражнению
- Зафиксируйте продолжительность процесса «Сварка и покраска».
- Зафиксируйте продолжительность процесса «Сборка и тестирование».
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock-in the time requirement for: Welding and Painting
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")
# Clock-in the time requirement for: Assembly and testing
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")
SIMULATION_TIME = 1000
car_production_line(SIMULATION_TIME)