M/G/1/2待ち行列(4)

では次に「M/G/1/2待ち行列(1)」で求めた定常状態確率の式

  • p(0)=\frac{A}{A+u}・・・・(9)
  • p(1)=\frac{1-A}{A+u}・・・・(11)
  • p(2)=1-\frac{1}{A+u}・・・・(12)
  • ただし
    • A=\Bigint_0^{\infty}\exp\left(-\frac{t}{t_a}\right)g(t)dt・・・・(16)

がM/D/1/2の場合とM/E_2/1/2の場合に正しいことを「M/G/1/2待ち行列(2)」と「M/G/1/2待ち行列(3)」で見てきましたが、上の式は(16)で積分を計算しなければならない点が面倒です。それでもっとよい式がないか考えてみます。その際、正確な式ではなくて近似式でもよいとします。


ジョブ数の制限がない時のM/G/1待ち行列の定常状態確率の近似式は「M/G/1の定常状態分布の近似式」で見たように変数はuc_eだけでした。M/G/1/2待ち行列での同じことが成り立つと仮定します。そこである平均t_eと変動係数c_eを持つサービス分布をアーラン分布で近似することにします。ただしアーラン分布の変動係数は離散の値しか取り得ないので、まずは変動係数がその値である分布しか考えないことにします。k次のアーラン分布の確率密度関数は「アーラン分布」の式(1)(ここでは番号を振り直して式(30)とします)

  • g(t)=\frac{\lambda^kt^{k-1}}{(k-1)!}\exp(-\lambda{t})・・・・(30)

です。この分布を持つサービス時間の平均値t_eは「アーラン分布」の式(10)より

  • t_e=\frac{k}{\lambda}・・・・(31)

変動係数c_eは「アーラン分布」の式(14)より

  • c_e=\frac{1}{\sqrt{k}}・・・・(32)

となります。式(31)から

  • \lambda=\frac{k}{t_e}・・・・(33)

式(33)を(30)に代入して

  • g(t)=\frac{k^kt^{k-1}}{t_e^k(k-1)!}\exp\left(-\frac{kt}{t_e}\right)・・・・(34)

式(34)を(16)に代入して

  • A=\Bigint_0^{\infty}\exp\left(-\frac{t}{t_a}\right)\frac{k^kt^{k-1}}{t_e^k(k-1)!}\exp\left(-\frac{kt}{t_e}\right)dt
    • =\frac{k^k}{t_e^k(k-1)!}\Bigint_0^{\infty}t^{k-1}\exp\left(-\frac{t}{t_a}\right)\exp\left(-\frac{kt}{t_e}\right)dt
    • =\frac{k^k}{t_e^k(k-1)!}\Bigint_0^{\infty}t^{k-1}\exp\left(-\frac{t}{t_a}-\frac{kt}{t_e}\right)dt

よって

  • A=\frac{k^k}{t_e^k(k-1)!}\Bigint_0^{\infty}t^{k-1}\exp\left[-\left(\frac{t_e}{t_a}+k\right)\frac{t}{t_e}\right]dt・・・・(35)

ここで

  • u=\frac{t_e}{t_a}

なので式(35)は

  • A=\frac{k^k}{t_e^k(k-1)!}\Bigint_0^{\infty}t^{k-1}\exp\left(-(u+k)\frac{t}{t_e}\right)dt・・・・(36)

ここで「アーラン分布」の式(4)(ここでは数を振り直して式(25)とします)

  • \Bigint_0^{\infty}t^k\exp(-\lambda{t})dt=\frac{k!}{\lambda^{k+1}}・・・・(25)

を用いれば式(36)は

  • A=\frac{k^k}{t_e^k(k-1)!}\cdot\frac{(k-1)!}{\left(\frac{u+k}{t_e}\right)^k}
    • =\frac{k^k}{t_e^k(k-1)!}\cdot\frac{(k-1)!t_e^k}{(u+k)^k}
    • =\frac{k^k}{(u+k)^k}

よって

  • A=\frac{k^k}{(u+k)^k}・・・・(37)

一方、式(32)から

  • k=\frac{1}{c_e^2}・・・・(38)

式(38)を(37)に代入して

  • A=\frac{1}{\left[c_e^2\left(u+\frac{1}{c_e^2}\right)\right]^{1/c_e^2}}

よって

  • A=\frac{1}{(c_e^2u+1)^{1/c_e^2}}・・・・(39)

これをAの近似値とします。c_eは式(32)で規定される離散の値しか取りませんが、式(39)ではc_eは任意の値を取るとしてこの近似値を使用します。しかしc_e=0では式(39)の中の1/c_e^2が計算出来なくなるので、この場合だけ「M/D/1/2待ち行列」の式(13)(14)(12)を用いて

  • p(0)=\frac{e^{-u}}{e^{-u}+u}・・・・(40)
  • p(1)=\frac{1-e^{-u}}{e^{-u}+u}・・・・(41)
  • p(2)=1-\frac{1}{e^{-u}+u}・・・・(42)

とします。
式(39)を式(9)に代入して

  • p(0)=\frac{\frac{1}{(c_e^2u+1)^{1/c_e^2}}}{{\frac{1}{(c_e^2u+1)^{1/c_e^2}}+u}

よって

  • p(0)=\frac{1}{1+u(c_e^2u+1)^{1/c_e^2}}・・・・(43)

式(39)を式(11)に代入して

  • p(1)=\frac{1-\frac{1}{(c_e^2u+1)^{1/c_e^2}}}{\frac{1}{(c_e^2u+1)^{1/c_e^2}+u}

よって

  • p(1)=\frac{(c_e^2u+1)^{1/c_e^2}-1}{1+u(c_e^2u+1)^{1/c_e^2}}・・・・(44)

式(39)を式(12)に代入して

  • p(2)=1-\frac{1}{\frac{1}{(c_e^2u+1)^{1/c_e^2}}+u}

よって

  • p(2)=1-\frac{(c_e^2u+1)^{1/c_e^2}}{1+u(c_e^2u+1)^{1/c_e^2}}・・・・(45)

まとめると

  • c_e=0の時
    • p(0)=\frac{e^{-u}}{e^{-u}+u}・・・・(40)
    • p(1)=\frac{1-e^{-u}}{e^{-u}+u}・・・・(41)
    • p(2)=1-\frac{1}{e^{-u}+u}・・・・(42)
  • c_e>0の時
    • p(0)=\frac{1}{1+u(c_e^2u+1)^{1/c_e^2}}・・・・(43)
    • p(1)=\frac{(c_e^2u+1)^{1/c_e^2}-1}{1+u(c_e^2u+1)^{1/c_e^2}}・・・・(44)
    • p(2)=1-\frac{(c_e^2u+1)^{1/c_e^2}}{1+u(c_e^2u+1)^{1/c_e^2}}・・・・(45)

です。