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() に渡す
DNT_CURLY_TAG_3
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で学ぶ離散事象シミュレーション