开始使用免费开始使用

汽车装配线:加入非确定性事件

本练习在不使用 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)
编辑并运行代码