汽车装配线:加入非确定性事件
本练习在不使用 SimPy 的情况下,专注于非确定性过程。下一道练习将聚焦于 SimPy。
有人请您在之前的汽车生产线离散事件模型中,考虑各过程持续时间的变动。先前识别的过程分组为:(1) "焊接与喷漆",以及 (2) "部件装配与测试"。请回忆,这些过程组都包含许多子过程与任务,但目前您只需在较高层次上编写模型的第一个版本。
此前,您判定焊接与喷漆平均需要 15 小时完成,而部件装配与测试平均需要 24 小时完成。
现在,您又进行了额外的调研与监测,以研究这些过程持续时间的波动。您的结论是:焊接与喷漆可能上下浮动 5 小时;而部件装配的持续时间可能上下浮动 6 小时。
请更新您的离散事件模型,使其能够反映这些事件持续时间的变动。
已为您加载 random 包。
本练习是课程的一部分
Python 中的离散事件模拟
练习说明
- 记录过程"焊接与喷漆"的持续时间,并依据新的可变性信息,使用
random包中能生成随机整数的方法来实现。 - 记录过程"部件装配与测试"的持续时间,并依据新的可变性信息,使用
random包中能生成随机整数的方法来实现。
交互式实操练习
通过完成这段示例代码来试试这个练习。
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock 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 the time requirement for: Assembly of parts 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!")
car_production_line(SIMULATION_TIME)