平均待ち行列長は分布の形と装置台数と稼働率で決まる。

あるGI/G/s待ち行列を考えます。その待ち行列でジョブが到着したり、ジョブの処理が開始したり終了したりする様子を示した動画を作成するとします。その動画を再生する時に2倍の速度で再生したら、どう見えるでしょうか?
 何か奇妙に見えるでしょうか? 速度は速くなっているが、正しい待ち行列の動作として見えるはずだと思います。この動画は前の動画より装置の処理時間が半分になり、ジョブの到着間隔も半分になっています。従って、平均処理時間も半分、平均到着間隔も半分になっています。それでは、処理時間や到着間隔の分布の形はどうなっているでしょうか?


まずは処理時間を考えて見ます。オリジナルの動画ではt_1の処理時間だったものが、2倍の速度の動画ではt_2=t_1/2の処理時間になっています。よってオリジナルの動画でt_1の処理時間が発生する頻度と2倍速の動画でt_2の処理時間が発生する頻度は等しいはずです・・・・・。ほんとにそうでしょうか?


変化する範囲が実数であるような確率変数の頻度を議論する際には注意が必要です。まったく厳密にt_1の処理時間が2回目に発生する確率はとてつもなく小さいと言わなければなりません。それは処理時間が実数だからです。むしろ次のように考えるべきです。オリジナルの動画で[t_11,t_12]の範囲の処理時間が発生する頻度と、2倍速の動画で[t_21,t_22]=[t_11/2,t_12/2]の範囲の処理時間が発生する頻度、が等しい、というふうにです。このように範囲で頻度を考えます。ここでオリジナルの動画での処理時間の確率分布関数をf_1(t)、2倍速の動画での処理時間の確率分布関数をf_2(t)で表すことにします。オリジナルの動画で処理時間が[t_1,t_1+dt]の範囲にある確率(つまり頻度)は

  • f_1(t_1)dt

となります。この確率に等しいのは2倍速の動画で処理時間が[t_1/2,t_1/2+dt/2]の範囲にある確率です。よって

  • f_1(t_1)dt=f_2(t_1/2)dt/2

よって

  • f_2(t_1/2)=2f_1(t_1)・・・・(1)

ここで

  • t=t_1/2

とおけば

  • f_2(t)=2f_1(2t)・・・・(2)

となります。これは「同じ形の分布と倍率」で述べた同じ形の分布の関係式になっています。つまり「同じ形の分布と倍率」の式(1)(ここでは番号を振りなおして式(3)とします)

  • f_2(t)=\frac{1}{a}f_1\left(\frac{t}{a}\right)・・・・(3)

と比べると、倍率aa=1/2になっていることが分かります。つまり、分布f_2(t)は分布f_1(t)の1/2の倍率の同じ形になっているわけです。


というか同じ形の分布という概念をこういうふうに説明するほうが分かりやすかったですね。反省です。


さて、ここからが重要なのですが、2倍速の動画では処理時間分布も到着間隔分布もおのおのオリジナルと同じ形になっています。また、「同じ形の分布と倍率」で述べたように、処理時間分布も到着間隔分布で倍率が同じなので、装置の稼働率は変わりません。では、両方の動画で平均待ち行列長は違うでしょうか? 動画の様子を思い浮かべてみれば、そんなはずはないことがすぐに分かります。このことは3倍速だろうと、0.22倍速だろうと同じです。よって以下のことが言えます。


2つの待ち行列システムがあって、両者で装置台数が同じ、到着間隔の分布のも同じ、処理時間の分布のも同じ、装置の稼働率も同じならば、両者の平均待ち行列長は等しい。


つまり平均待ち行列長は、到着間隔と処理時間の分布の形と装置台数と稼働率で決まるのです。