狠狠撸

狠狠撸Share a Scribd company logo
1
待ち行列のシミュレーション
Kobe.R #4
2014.05.17
@florets1
2
待ち行列のモデル
到着
要素はランダムに到着する。
待ち行列
サービスが使用中であれば、要素は待ち行列を作る。
待ち行列規則:サービスを受ける順番。到着順、ランダム
など。
サーバー
要素にサービスを提供する。
サービス時間はランダム。
3
待ち行列システムの総コスト
総コスト=サービスコスト+待ち行列コスト
レジ増設→サービスコスト増大、待ち行列コスト減少
4
洗車場を例に
顧客は 1 時間あたり平均 15 台( 4 分に 1 台)、ランダムに
到着
洗車時間は 1 台につき平均 3 分( 1 時間あたり 20 台)、変
動あり
つまり洗車スピードは車の到着より速い。
5
分析的なモデル
単位時間あたりに到着する顧客数(平均到着率): λ
単位時間あたりにサービスを受ける顧客数(平均サービス
率): μ
)9(15.0
)1520(20
15
)(
: 分時間平均待ち時間 =
?
=
?
=
λ??
λ
Wq
)12(2.0
)1520(20
11
: 分時間間システムにいる平均時 =
?
=
?
=
λ?
W
25.0
20
15
11: 0 =?=?=
?
λ
Pサーバーのアイドル率
57.0
20
15
: ===
?
λ
ρサーバーの利用率
6
分析的なモデルの弱み
平均到着率 λ が平均サービス率 μ より大きいと計算できない。
現実の待ち行列は平均を中心にして大きく変化する。
数学的に解を求めるために、モデルを制限しないといけない。
ウォ-ムアップ期間のことはわからない。
7
待ち行列システムをシミュレート (1)
1. 顧客が到着する。
2. サーバーが作業中であればサービスを待つ。
3. サービスを受ける。
4. システムから出発する。
8
待ち行列システムをシミュレート (2)
a. 顧客が到着したときにサーバーがアイドル中なら、到
着と同時にサービスを開始できる。
b. 顧客が到着したときにサーバーが作業中なら、その顧
客の前に到着した顧客のサービスが完了するまで、
サービスは開始できない。
c. 顧客のサービス完了時刻は、サービス開始時刻に実際
のサービス時間を足したものである。
9
待ち行列システムをシミュレート (3)
arrival.time[i] 顧客 i の到着時刻
start.time[i] 顧客 i のサービス開始時刻
completion.time[i] 顧客 i のサービス完了時刻
wait.time[i] 顧客 i の待ち時間
idle.time[i] 顧客 i-1 と顧客 i の間のサーバーアイドル時間
tba[i] 顧客 i-1 と顧客 i の到着間隔
st[i] 顧客 i のサービス時間
10
待ち行列システムをシミュレート (4)
simulate() で 100 人の顧客の行
列をシミュレートする。
trial() は simulate() を 1000 回試
行して、平均待ち時間やアイド
ル率を計算する。
11
待ち行列システムをシミュレート (5)
Histogram of mean.wait.time
mean.wait.time
Frequency
0 10 20 30 40 50
050100150
Histogram of mean.idle.rate
mean.idle.rate
Frequency
0.0 0.1 0.2 0.3 0.4 0.5
01030
分析的なモデルでは 9 分
分析的なモデルでは 0.25
12
参考文献
James R. Evans ( 著 ), David L. Olson ( 著 )
リスク分析?シミュレーション入門
―Crystal Ball を利用したビジネスプランニングの実際

More Related Content

Qsim kobe.r4