开始使用免费开始使用

汽车装配线:用 SimPy 添加非确定性事件

本练习聚焦使用 SimPy 处理非确定性过程。

您将修改之前汽车装配线模型的 SimPy 版本,重点是使用 SimPy 方法添加相同的确定性事件。

回顾一下,"Welding and painting" 平均需要 15 小时完成,但该时长会有 5 小时的上下浮动。同样,"Assembly of parts and testing" 平均需要 24 小时完成,但该时长会有 6 小时的上下浮动。

已为您导入 SimPy 库。

本练习是课程的一部分

Python 中的离散事件模拟

查看课程

练习说明

  • 为过程 "Welding and painting" 记录持续时间,结合其可变性的新增信息,使用 random.randint() 方法。
  • 为过程 "Assembly of parts and testing_" 记录持续时间,结合其可变性的新增信息,使用 random.randint() 方法。

交互式实操练习

通过完成这段示例代码来试试这个练习。

def car_production_line(env):
    car_number = 0
    while True:
        car_number += 1

        # Adding process 1: Clock-in time requirement for Welding and Painting
        yield env.____(random.____(10, 20))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Adding process 2: Return/yield time after completing the process and print the current time
        yield env.____(random.____(18, 30))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")

env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)
编辑并运行代码