สายการประกอบรถยนต์: เพิ่ม event แบบ non-deterministic ด้วย SimPy
แบบฝึกหัดนี้เน้นกระบวนการแบบ non-deterministic โดยใช้ SimPy
จะได้ปรับปรุงโมเดลสายการประกอบรถยนต์เวอร์ชัน SimPy โดยเพิ่ม event แบบ non-deterministic โดยใช้เมธอดของ SimPy
ทบทวนว่า "การเชื่อมและพ่นสี" ใช้เวลาเฉลี่ย 15 ชั่วโมง แต่อาจผันแปรได้ห้าชั่วโมง (บวกหรือลบ) และ "การประกอบชิ้นส่วนและการทดสอบ" ใช้เวลาเฉลี่ย 24 ชั่วโมง แต่อาจผันแปรได้หกชั่วโมง (บวกหรือลบ)
ไลบรารี SimPy ถูก import ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python
คำแนะนำการฝึกหัด
- นับระยะเวลาของกระบวนการ "การเชื่อมและพ่นสี" โดยคำนึงถึงความผันแปรของระยะเวลาด้วยเมธอด
random.randint() - นับระยะเวลาของกระบวนการ "การประกอบชิ้นส่วนและการทดสอบ" โดยคำนึงถึงความผันแปรของระยะเวลาด้วยเมธอด
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)