M/M/1待ち行列モデル

読み:えむえむわんまちぎょうれつもでる / 英語表記:M/M/1 queue

客がランダムに到着し、処理時間もランダムで、窓口が1つの待ち行列のモデル。窓口の利用率を ρ、平均サービス時間を Ts とすると、平均待ち時間は ρ ÷(1 − ρ)× Ts で求められる。

イマシルちゃんの解説

レジが1つしかないお店を思い浮かべてみて。
お客さんは、いつ来るかバラバラで、会計にかかる時間もバラバラだよね。

お店が空いているときは、すぐに会計できるけど、
レジが忙しくなってくると、行列がどんどん長くなっていくんだ。
しかも、ほとんどフル稼働に近づくと、待ち時間が急にびっくりするくらい長くなるんだよ。

より深い解説

ケンドール記号

待ち行列のモデルは、「到着の分布/サービス時間の分布/窓口の数」で表す。

記号意味
Mランダム(到着はポアソン分布、サービス時間は指数分布に従う)
D一定(決まった時間)
G一般の分布

M/M/1 は、到着がランダム、サービス時間が指数分布、窓口が1つのモデルである。

公式

記号意味
λ平均到着率(単位時間あたりに来る客の数)
Ts平均サービス時間(1人の処理にかかる時間)
ρ利用率(窓口が使われている割合)= λ × Ts
求めるもの式
平均待ち時間 Twρ ÷(1 − ρ)× Ts
平均応答時間(待ち時間+サービス時間)Tw + Ts = Ts ÷(1 − ρ)
平均待ち行列長(待っている客の数)ρ² ÷(1 − ρ)

ρ が1に近づくと、1 − ρ が0に近づくため、待ち時間は急激に長くなる。ρ が1以上だと、行列は限りなく伸び続ける。

計算例

ある窓口に、1時間あたり平均10件の処理要求が来る。1件の処理には平均3分かかる。

  1. Ts = 3分、λ = 10件 ÷ 60分 = 1/6件/分
  2. ρ = λ × Ts = 1/6 × 3 = 0.5
  3. 平均待ち時間 = 0.5 ÷(1 − 0.5)× 3 = 3分
  4. 要求してから処理が終わるまでの平均時間 = 3 + 3 = 6分

時間の単位(秒、分、時間)をそろえてから計算するのがポイントである。処理時間が「データ量 ÷ 処理速度」で与えられるときは、まず Ts を求める。

ネットワークでの使い道

ルータの出力の待ち行列、サーバへの要求の処理、プリンタの印刷の待ちなど、「1つの処理装置に、ランダムに仕事が届く」場面の、遅延の見積もりに使う。回線の利用率が高くなると遅延が急に増えるため、利用率に余裕を持たせて設計する。

実際の試験ではここに出る!

この用語が出てくる記事

↑