เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สายการประกอบรถยนต์: เพิ่มกระบวนการแบบไม่ตายตัว

แบบฝึกหัดนี้เน้นที่กระบวนการแบบไม่ตายตัว (non-deterministic) โดยยังไม่ใช้ SimPy แบบฝึกหัดถัดไปจะนำ SimPy มาใช้

ในแบบจำลองเหตุการณ์ไม่ต่อเนื่องของสายการผลิตรถยนต์ก่อนหน้านี้ คุณได้รับมอบหมายให้คำนึงถึงความผันแปรของระยะเวลาในแต่ละกระบวนการด้วย กลุ่มกระบวนการที่ระบุไว้ก่อนหน้านี้ประกอบด้วย (1) "การเชื่อมและการพ่นสี" และ (2) "การประกอบชิ้นส่วนและการทดสอบ" แต่ละกลุ่มกระบวนการครอบคลุมงานย่อยหลายขั้นตอน อย่างไรก็ตาม ในขั้นนี้ให้มุ่งเน้นที่การเขียนโค้ดแบบจำลองในระดับภาพรวมก่อน

จากการศึกษาก่อนหน้า พบว่ากระบวนการเชื่อมและพ่นสีใช้เวลาเฉลี่ย 15 ชั่วโมง ส่วนการประกอบชิ้นส่วนและการทดสอบใช้เวลาเฉลี่ย 24 ชั่วโมง

จากการวิจัยและติดตามผลเพิ่มเติม พบว่ากระบวนการเชื่อมและพ่นสีอาจมีความผันแปรได้ห้าชั่วโมง (มากขึ้นหรือน้อยลง) และการประกอบชิ้นส่วนอาจผันแปรได้หกชั่วโมง (มากขึ้นหรือน้อยลง)

อัปเดตแบบจำลองเหตุการณ์ไม่ต่อเนื่องให้รองรับความผันแปรของระยะเวลาในแต่ละเหตุการณ์ โหลดแพ็กเกจ 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)
แก้ไขและรันโค้ด