汽车装配线:用 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)