待ち行列理論(M/M/1モデル)の定理とその証明
(M/M/1モデルのもと)客が到着するスピードが ,窓口の処理スピードが のとき,行列の平均待ち時間は,
ただし,
問題設定
問題設定
行列に並んでいる人たちを1つの窓口で処理している状況を考えます。客が到着するスピード と窓口の処理スピード (厳密な意味は後述)をもとに, 行列の平均待ち時間を表すのが目標です。
平均到着率 ,平均サービス率 の意味
客の到着時間間隔が平均 の指数分布に従うものとします。つまり,新たな客が単位時間当たり平均 人のスピードで「ランダムに」来ると考えます。→指数分布の意味と具体例
同様に,窓口が一人の要望を処理する時間は平均 の指数分布に従うものとします。窓口は単位時間当たり平均 人のスピードで行列をさばいていくことになります。
このようなモデルをM/M/1モデルと言います(MはMarkovianの頭文字,1は窓口の数を表す)。
注意
窓口の処理スピード が客の到着スピード より遅い場合,行列はどんどん長くなってしまい待ち時間が発散してしまうので,以下では ,つまり とします。
1.微分方程式を立てる
1.微分方程式を立てる
ここから冒頭の定理を3段階に分けて証明していきます。けっこう大変です。
平均待ち時間を求めるのが目標ですが,まずは時刻 の時点で行列に並んでいる人数が 人である確率 について考えます。
微小時間 の間に,客が1人増える確率は ,窓口が1人処理する確率は である。 が十分小さいとき,これらの確率は十分小さいので行列に2つ以上の変化が起きる確率は無視できる。
よって,
これらの式を少し移項して で割って の極限を取ると,
2.定常分布を求める
2.定常分布を求める
の微分方程式を立てることができましたが,厳密に解くのは非常に難しいです。そこで,十分時間が経過した後の ,つまり を求めることにします。
十分時間が経過した後,確率 は一定値に収束する(本当はこれも証明しないといけない)ので,さきほどの微分方程式で, が十分大きいとき左辺は になる。
よって,
この下側の式は三項間漸化式であり,特性方程式の解は なので,一般解は定数 を用いて以下のように書ける(→三項間漸化式の3通りの解き方):
さらに,確率の性質より であることから , が分かる。
以上から
3.平均待ち時間の導出
3.平均待ち時間の導出
行列の長さの分布 が分かったので平均待ち時間 を計算できます。
なお,この証明はM/M/1 queue(英語のPDF)を参考にしました。
数学好きの知人と一緒にいるときに街中で行列を見ると,待ち行列理論の話題になることがあります。