2016年10月24日月曜日

待ち行列の計算はコレだけ覚えておくこと

情報処理などの待ち行列(M/M/1)の計算は、次の3つの式を覚えればOK。





一番最後の式の3つの値が設問から求められれば、平均待ち時間 Tq は求まる。

  利用率     ρ (ロー)
  到着率     ɤ (ガンマ)
サービス時間   Ts


そして、ほとんどの問題は「Ts」は書かれている。


出題率が高いので、とりあえず直前に覚えておくこと。






以下は補足。


まず式が覚えにくいワケ


記号とその意味が分かりにくい。

Tq
Tw
Ts

これらは、「T」で始まるので、まず時間だとわかる。

次に、q、w、sはそれぞれ、

q Queue
w Wait
s Service

であろうから、

Tq 平均待ち時間(平均応答時間)
Tw 待ち時間
Ts サービス時間

というのは、まだわかりやすい。



問題は、


  利用率       ρ (ロー)
  到着率       ɤ (ガンマ)
平均サービス時間  μ (ミュー)


式だけ覚えていても、この記号の意味が分からないと解けない。。


平均サービス時間 μ について


平均サービス時間(μ)は、単位時間あたりにサービスを受けれる人の数と言える。

これは1人あたりにかかるサービス時間(Ts)の逆なので、

Ts = 1 / μ

となる。

ところで、「平均サービス時間」という言葉から、「単位時間あたりにサービスを受けれる人の数」を想像できるだろうか。

どちらかと言えば、平均サービス時間=Tsの平均ではないかと思えてしまう。

このため、このμは記憶から消してしまってよい。

(おそらく設問でも、この混同しやすい「平均サービス時間」という言葉は使われない)



次に、利用率 ρ について


1つの窓口がどれくらい利用されているか、という意味で、

例えば80%利用されていれば、ρ=0.8 となる。


120%利用されているという問題は出ない。この場合は、

ρ=1.2 となるが、窓口の処理能力を超えて、待ち行列は永遠に増え続けることになってしまう。


つまり、ρは0~1の間に収まっていなければならない。


ρは次の式でも表される。

ρ = ɤ ・ Ts



次に、到着率 ɤ について



ɤは簡単に言えば、単位時間あたりに何人来るか。


1時間に30人来るのであれば、秒に直すと、ɤ = 30/(60×60)となる。





サービス時間が60秒なら、Ts=60なので、

利用率 ρ = 30/(60×60) × 60 = 0.5 となる。




まとめると、ρ、ɤ、μ はそれぞれ利用率、到着率、平均サービス時間の意味であり、すべて「単位時間当たりの」利用率、到着率、サービス時間である。

μは「平均」サービス時間と記載されているので、利用率も到着率も「平均」と記載すべきだと思うが。。逆にμをρやɤに合わせて「平均」の記載を消すと、Tsと同じ「サービス時間」という訳になってしまい都合が悪いので、μだけ平均サービス時間としている気がする。

ρもɤもμも「平均」だと思ってよい。



そしてρを使った式の、Tw や Tq も単位時間当たりの「平均」である。


Tqは平均待ち時間と書かれているが、Twは待ち時間となっている。

どちらも平均では?と思うのだが、それだとTqもTwも同じ「平均待ち時間」になってしまうので、Twには「平均」と書いていない。。

この辺りが分かりづらくしていると思う。

しかしこんな場当たり的な事があるだろうか。 文系の人が作ったんでしょうか。


次に核心のρ/(1-ρ)について、そして平均待ち時間 Tq へ。


ρ/(1-ρ)が核心で、これが「窓口に平均的に既に待っている人」を表す。

(導き方については割愛)


つまり、

Tw = ρ/(1-ρ)・Ts

というのは、

待ち時間 = 既に待っている人 × サービスにかかる時間


を意味する。 これは分かりやすい。



そして、

Tq = Tw + Ts

というのは、

平均待ち時間 = 既に並んでいる人の待ち時間 + 自分のサービスにかかる時間

ということが分かる。


Tq = ( 既に並んでいる人 + 自分 ) × サービスにかかる時間

Tq = { ρ/(1-ρ)+1 } ・ Ts

と言ってもよい。















0 件のコメント:

コメントを投稿