M/M/1待ち行列のジョブのサイクルタイムの変動係数

これから、いろいろな待ち行列におけるジョブサイクルタイム変動係数を求めたいと思います。「待ち行列理論の私的総論」ではいろいろな待ち行列の平均を示しましたが、その変動係数までは言及していなかったからです。


まずは一番簡単なM/M/1待ち行列について検討します。M/M/1待ち行列については、すでに「M/M/1待ち行列のジョブのサイクルタイム分布」で変動係数だけではなくて分布の形そのものを求めていて、その結果は指数分布でした。このことからM/M/1待ち行列におけるジョブサイクルタイム変動係数は1であることが直接導かれます。しかし、他の種類の待ち行列にも応用することを予想して、ここでは別の方法で同じ結果を導出したいと思います。


PASTAからジョブ待ち行列システムに到着した時、このシステムにジョブが(処理中のものと待っているものの両方を含めて)k個ある確率は、定常状態確率と等しくなります。つまり

  • p(k)=(1-u)u^k・・・・・(1)

になります。さて、このジョブがシステムを出るまでに自分を含めてk+1個のジョブが処理されなければなりません。この装置の処理時間の平均をt_eで表します。処理時間は指数分布なので標準偏差t_eになります。このジョブが到着した時にすでに処理中であったジョブは、処理完了するまでに全体の処理時間の中の残り時間だけかかることになりますが、処理時間が指数分布なので、指数分布の「記憶なし」特性により、この残り時間の平均もt_e標準偏差t_eとなります。k+1回の処理の時間の合計の平均は(k+1)t_eになります。標準偏差は残念ながら(k+1)t_eになりません。足し算になるのは標準偏差ではなくて分散でした(「独立な確率変数の和の分散」参照)。よってk+1回の処理の時間の合計の分散はkt_e^2になります。これらのことを式にまとめておきましょう。
ジョブが到着した時、システム内にジョブk個ある場合の、この到着したジョブサイクルタイムは確率的に変動するので確率変数CT_kで表します。そうするとその平均は

  • E(CT_k)=(k+1)t_e・・・・・(2)

で表され、その分散は

  • V(CT_k)=(k+1)t_e^2・・・・・(3)

で表されます。



さて、ジョブが到着した時、システム内にジョブk個ある確率は式(1)で与えられるので、全ての場合に渡って平均をとった、ジョブサイクルタイムの平均E(CT)は、式(1)と(2)から

  • E(CT)=\Bigsum_{k=0}^{\infty}p(k)E(CT_k)=\Bigsum_{k=0}^{\infty}(1-u)u^k(k+1)t_e=(1-u)t_e\Bigsum_{k=0}^{\infty}(k+1)u^k
    • =(1-u)t_e\Bigsum_{k=1}^{\infty}ku^{k-1}

ここで「補足」の式(2)を用いれば、

  • (1-u)t_e\Bigsum_{k=1}^{\infty}ku^{k-1}=(1-u)t_e\frac{1}{(1-u)^2}=\frac{t_e}{1-u}

よって

  • E(CT)=\frac{t_e}{1-u}・・・・・(4)

これはすでに得ているM/M/1のサイクルタイムの平均の式です。


同様にして全ての場合に渡ってのサイクルタイムの分散を求めたいところですが、全体の分散は個別の場合の分散の平均で求めることは出来ません。平均をとることが出来るのは分散ではなく2乗平均でした。さて、ジョブが到着した時、システム内にジョブk個ある場合のCT_kの2乗平均E(CT_k^2)

  • E(CT_k^2)=V(CT_k)+E(CT_k)^2=(k+1)t_e^2+(k+1)^2t_e^2=(k+2)(k+1)t_e^2・・・・・(5)

で求めることが出来ます。この値を全ての場合に渡って平均します。

  • E(CT^2)=\Bigsum_{k=0}^{\infty}p(k)E(CT_k^2)=\Bigsum_{k=0}^{\infty}(1-u)u^k(k+2)(k+1)t_e^2=(1-u)t_e^2\Bigsum_{k=0}^{\infty}(k+2)(k+1)u^k
    • =(1-u)t_e^2\Bigsum_{k=2}^{\infty}k(k-1)u^k-2

ここで「補足」の式(3)を用いれば、

  • (1-u)t_e^2\Bigsum_{k=2}^{\infty}k(k-1)u^k-2=(1-u)t_e^2\frac{2}{(1-u)^3}=\frac{2t_e^2}{(1-u)^2}

よって

  • E(CT^2)=\frac{2t_e^2}{(1-u)^2}・・・・・(6)

サイクルタイムの分散V(CT)は式(4)と(6)から求めることが出来ます。

  • V(CT)=E(CT^2)-E(CT)^2=\frac{2t_e^2}{(1-u)^2}-\frac{t_e^2}{(1-u)^2}=\frac{t_e^2}{(1-u)^2}・・・・・(7)

よってCT標準偏差STD(CT)

  • STD(CT)=\frac{t_e}{1-u}・・・・・(8)

式(4)と(8)から変動係数cは、

  • c=\frac{STD(CT)}{E(CT)}=\frac{t_e}{1-u}\frac{1-u}{t_e}=1

つまり

  • c=1・・・・・(9)

を導くことが出来ました。