汽車組裝線:加入決定性事件
這個練習聚焦於不使用 SimPy 的決定性流程。下一個練習我們會專注在 SimPy。
現在有一個離散事件模型的需求,用來模擬汽車生產線。這個模型的目標是協助提升生產力、找出瓶頸並管理資源。為了開始進行,你先辨識了生產線中的主要流程群組:(1)焊接與塗裝,以及(2)組裝與測試。當然,每個流程群組底下都有許多子流程與工作任務,不過此刻你先著重在以高層次撰寫模型的第一版。
既然已經找出關鍵的流程群組,接下來要決定每個流程完成所需的平均時間。你調查後得到的結果是:焊接與塗裝為 15 小時,組裝零件與測試為 24 小時。讓我們在不使用 SimPy 的情況下,將這些決定性流程表現在離散事件模型中。
本練習屬於課程
Python 的離散事件模擬
練習說明
- 登記「Welding and Painting」流程的持續時間。
- 登記「Assembly and Testing」流程的持續時間。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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)