ยินดีด้วย!

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

Diogo Costa (PhD, MSc)

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

บทที่ 1: บทนำสู่ระบบพลวัตและโมเดลการจำลองแบบ Discrete-event

ระบบพลวัต vs. สภาวะคงตัว กราฟแสดงการเปลี่ยนแปลงตามเวลาของตัวแปรสถานะในระบบพลวัตและระบบสภาวะคงตัว โดยในระบบพลวัต ตัวแปรจะเปลี่ยนแปลงตามเวลา ส่วนในระบบสภาวะคงตัว ตัวแปรจะคงที่

การประยุกต์ใช้โมเดล Discrete-event แผนภาพแสดงกระบวนการและขั้นตอนการทำงานของกิจกรรมในซัพพลายเชน

ตัวอย่าง:

การผลิต: ภาพโรงงานอุตสาหกรรมการผลิต

การก่อสร้าง: ภาพไซต์ก่อสร้าง

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

บทที่ 2: การพัฒนาโมเดล Discrete-event ด้วย SimPy

สรุปเมธอดของ SimPy

env = simpy.Environment()
env.process()
env.run()
env.timeout()
env.now

ทรัพยากรใน SimPy

simpy.Resource()
simpy.Container()
simpy.Store()
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

บทที่ 3: การผสมผสาน Determinism และ Non-determinism ในโมเดล

ลำดับกระบวนการที่มีกระบวนการแบบ deterministic (สีเหลือง) และ non-deterministic (สีชมพู):

แผนภาพแสดงลำดับกระบวนการของกิจกรรมการผลิต ประกอบด้วยกระบวนการตามลำดับเวลา ได้แก่ welding_1, manual_assembly_1, manual_assembly_2 และ welding_2

# Next-event time progression
time[0] = 0          
time[1] = time[0] + welding_1["time_hours"]
time[2] = time[1] + rd.gauss(manual_assembly_1["time_hours"], manual_assembly_1["std_hours"])
time[3] = time[2] + rd.gauss(manual_assembly_2["time_hours"], manual_assembly_2["std_hours"])
time[4] = time[3] + welding_2["time_hours"]
time[5] = time[4]
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

บทที่ 4: การประยุกต์ใช้โมเดล การจัดกลุ่ม การหาค่าเหมาะสม และความเป็นโมดูล

  • การสุ่มตัวอย่างแบบ Monte Carlo กราฟแสดง response envelope ของกิจกรรมการผลิตที่มีกระบวนการต่อเนื่องหลายขั้นตอน โดยเส้นสีน้ำเงินด้านล่างแทนการรันล่าสุดที่ผ่านเงื่อนไขของวิธี Search & Stop พร้อมไฮไลต์ระยะเวลาต่ำสุดของแต่ละกระบวนการจากการจำลองที่ดีที่สุด

  • การวิเคราะห์กลุ่ม (Cluster analysis)

  • ฟังก์ชันวัตถุประสงค์ (Objective functions)
  • ความสามารถในการขยายและความเป็นโมดูลของโมเดล

แผนภาพแสดงโมเดลที่ประกอบด้วย 7 ฟังก์ชัน โดยการอัปเกรดโมเดลเกิดจากการแทนที่โมดูล "func_b" ด้วย "func_b1" และเพิ่มโมดูล "func_f" ระหว่างโมดูล "func_c" และ "func_d"

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

คอร์สอื่น ๆ บน DataCamp

คอร์สที่เกี่ยวข้องอื่น ๆ

  • Monte Carlo Simulations in Python
  • Cluster Analysis in Python
  • Introduction to Linear Modeling in Python
  • Supply Chain Analytics in Python

โลโก้ Python

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

ยินดีด้วย!

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

Preparing Video For Download...