建立你的模型:建立環境與資源
你被指派協助最佳化一家飛機製造商的組裝產線。飛機的主要組件包括:(1)機身、(2)機翼、(3)尾翼(機尾部分)、(4)動力系統(引擎與螺旋槳),以及(5)起落架。
這些組件分別進入不同的組裝站,容量(slots)依序為 3、2、2、3。這表示一個步驟完成後,若下一站有空位就會前往下一步,否則就必須等待。組裝順序必須依照下圖所示的步驟 1–4 進行。模型時間單位為小時。

建立一個離散事件模型來模擬這條組裝產線。
本練習屬於課程
Python 的離散事件模擬
練習說明
- 補齊字典中的資源資訊;鍵為
step_1_fuselage、step_2_wings、step_3_power_plant、step_4_landing_gear,對應的值(製程時間)分別為 20、8、10、8 小時。 - 建立 SimPy 環境,並將其儲存到名為
env的變數。 - 依照圖中所示為模型的資源設定各自的容量(slots),並將它們分別儲存到變數
step_1_fuselage、step_2_wings、step_3_power_plant、step_4_landing_gear中。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define a dictionary with your processes
processing_time = {
"____": 20,
"____": 8,
"step_3_power_plant": ____,
"step_4_landing_gear": ____
}
# Create your SimPy Environment with the name env
env = simpy.____()
# Create resources for each assembly step
step_1_fuselage = simpy.____(env, capacity=____)
step_2_wings = simpy.____(env, capacity=2)
step_3_power_plant = simpy.____(env, capacity=2)
step_4_landing_gear = simpy.____(env, capacity=3)
env.process(order_aircraft(env, PLANE_ORDERS, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear))
env.run()