แนะนำการจำลองแบบ discrete-event

การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

โมเดล discrete-event vs. โมเดลแบบต่อเนื่อง

โมเดลแบบต่อเนื่อง (Continuous models)

  • รันด้วยช่วงเวลาคงที่

  • เวลาเป็นตัวแปรสมมติ

    • ไม่มีการอัปเดตเวลาภายใน loop
  • ใช้ for-loop สำหรับเวลา

    for t in range(time_range):
    

โมเดลแบบ discrete-event

  • รันด้วยช่วงเวลาที่ยืดหยุ่น

    • รัน/กำหนดเวลา event ที่มีระยะเวลาต่างกัน
  • เวลาเป็น state-variable

    • เวลาถูกอัปเดตภายใน while-loop
    • เวลาไม่ใช่ตัวแปรสมมติ
  • มักใช้ while-loop

    while (time < 365):
    time += process_duration
    
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

องค์ประกอบของโมเดล discrete-event

  • State-variables
  • นาฬิกา (Clock)
  • รายการ event (หรือ Process list)
  • เงื่อนไขสิ้นสุด
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

องค์ประกอบของโมเดล

ตัวอย่าง: โมเดลบริษัทแท็กซี่

while (time < 10):

    # Process 1
    time_duration_1 = manage_requests()
    time += time_duration_1

    # Process 2
    time_duration_2 = dispatch_taxi()
    time += time_duration_2

เงื่อนไขสิ้นสุด (Ending condition)

while (time < 10)
  • เงื่อนไขที่ทำให้การจำลองสิ้นสุดลง
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

องค์ประกอบของโมเดล

ตัวอย่าง: โมเดลบริษัทแท็กซี่

while (time < 10):

    # Process 1
    time_duration_1 = manage_requests()
    time += time_duration_1

    # Process 2
    time_duration_2 = dispatch_taxi()
    time += time_duration_2

นาฬิกา (Clock)

time += time_duration_1
time += time_duration_2
  • time ติดตามเวลาปัจจุบันของการจำลอง
  • นาฬิกาข้ามไปยังเวลาเริ่มต้นของ event ถัดไปขณะที่การจำลองดำเนินไป
  • เวลา กระโดด เนื่องจาก event เกิดขึ้นทันที
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

องค์ประกอบของโมเดล

ตัวอย่าง: โมเดลบริษัทแท็กซี่

while (time < 10):

    # Process 1
    time_duration_1 = manage_requests()
    time += time_duration_1

    # Process 2
    time_duration_2 = dispatch_taxi()
    time += time_duration_2

State-variable

time
  • ลดเวลาระหว่างที่ลูกค้าเรียกแท็กซี่จนถึงการส่งถึงจุดหมาย

  • ตัวแปรที่บ่งบอกผลลัพธ์และประสิทธิภาพของระบบ

การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

มาฝึกกันเถอะ!

การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

Preparing Video For Download...