Python 中的离散事件模拟
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
注意:术语"事件"和"过程"可互换使用。
什么是事件(或过程)的非确定性?
为何确定性过程重要?
自然界
人为或人触发的过程
非确定性过程
统计
random 包对此很有用
例:random.randint(start, end)
import random
# Non-deterministic processes
process_1 = [5, 15]
while time < simulation_time:
# Update simulation time: process_1
time += random.randint(
process_1[0],
process_1[1])
无专门方法单独处理非确定性过程
事件持续时间的变异性计算方式与非 SimPy 模型相同
将正确的统计量传入 .timeout()
import random
# Non-deterministic processes
process_1 = [5, 15]
while True:
# Update simulation time: process_1
yield env.timeout(random.randint(
process_1[0],
process_1[1]))
Python 中的离散事件模拟