第9回 - Morito Lab. 森戸研究室

最適化・シミュレーション演習
第9回 Simul8によるシミュレーション
• 授業サポートページ
http://www.morito.mgmt.waseda.ac.jp/optsim/
• 数理計画による最適化と(離散事象型)シミュレーションに
関する演習を行う.使用するソフトウェアは,AMPL(+
GurobiまたはCPLEX),および,Simul8を想定している.
• 演習では,数理計画による最適化やシミュレーションの実践
的能力を身につけることを目指す。履修者は,Cを使用でき
る環境を有するPCを持参すること。受講者は,実験室にて,
演習で使用する C,AMPL,Simul8をダウンロードできる。
1
本日のトピックス
• Simul8のインストール
• Simul8の簡単なシミュレーション
– デフォルトモデル(単一サーバー待ち行列モデル)
– M/M/1モデル
• 結果の見方の初歩
– 複数サーバーモデル
– 行列の待ち方(フォーク並び,一列並び)
– 有限バッファ直列システム
– 呼損系待ち行列システム(レンタルビデオの本数)
2
待ち行列モデルの分類
A/B/X/Y/Z
(A)(B): M=指数分布、D=一定、G=一般
𝐸𝑘 =タイプ𝑘アーラン分布
PH=相型分布
(X): 並列サーバー数 1,2,…,∞
(Y): システム容量(=サービス中+待機中)
1,2,…,∞
(Z): 待ち行列規律 FCFS、LCFS
RSS(ランダム)、PR(優先規律)
GD(一般)
3
M/M/1待ち行列の解析解
•
•
•
•
•
λ 到着率(1/λ 平均到着間隔)
μ サービス率 (Ts=1/μ 平均サービス時間)
ρ=λ/μ 平均利用率(トラフィック密度)
Lw=ρ/(1-ρ) 平均待ち行列長
Tr=1/(1-ρ)*Ts 平均応答時間
=待ち時間+処理時間
4
M/M/1の解析解
• λ=到着率 (よって、1/λ=平均到着間隔)
μ=サービス率 (よって、1/μ=平均サービス時間)
ρ=利用率(トラヒック密度、traffic intensity)=λ/μ<1
• (以下、用語が授業時と少し異なるかもしれません)
L=ρ/(1−ρ)=平均系内数(サービス中を含む)
Q=ρ*ρ/(1−ρ)=平均待ち行列長(サービス中を除く)
w=L/λ=1/(μ−λ)=平均系内滞留時間(サービス時間を
含む)
d=Q/λ=w−(1/μ)=1/(μ−λ)−(1/μ)=ρ/{μ(1−ρ)}
=平均待ち時間(サービス時間を除く)
• 1/λ=10(分)、 1/μ=8(分)、 ρ=0.8のときは
L=0.8/0.2=4、 Q=0.8*4=3.2
w=4*10=40(分)、d=3.2*10=32(分)
• 1/λ=10(分)、 1/μ=9(分)、 ρ=0.9のときは
L=0.9/0.1=9、 Q=0.9*9=8.1
w=9*10=90(分)、d=8.1*10=81(分)
M/M/1待ち行列の
シミュレーション結果と解析解
10年間分のシミュ
レーション
X
10ラン
の
平均(待ち時間)
200
180
160
140
理論値
120
平均待ち時間(理論値)
100
平均待ち時間(シミュレーション)1wk*10runs
の平均
80
平均待ち時間(シミュレーショ
ン)10yrs*10runsの平均
60
40
20
0
0.7
0.8
0.85
利用率 ρ
0.9
0.95
1週間分のシミュ
レーション
X
10ラン
の
平均(待ち時間)
宿題9
(プログラム、結果、考察を提示すること)
• 宿題9.1 課題2.3.2.1(p.47)
• 宿題9.2 例題2.3.4(ただし,系内滞留時間
を待ち時間に変更)(pp.48-51)
• 宿題9.3 課題2.3.5.1(p.55)
• 宿題9.4 課題2.3.5.2(p.56)
• 宿題9.5 課題2.3.5.3(p.56)
• 宿題9.6 例題2.3.7(pp.58-60)
括弧内のページは,森戸晋,黒澤隆,大久保
寛基,「仕事のやり方を変えるヒント:シミュレー
ションによる効率化」,Parade Books,2015.
7