バッチ装置の待ち行列の解析(1)

これからしばらくバッチ装置の待ち行列について考察してみたいと思います。まず、簡単なバッチ装置から考察します。図1

  • 図1

にあるような、1台の装置でジョブを2つまで一度に処理出来る装置があるとします。この装置では1ジョブで処理しても2ジョブで処理しても処理時間(正確に言えば、処理時間は変動するので「処理時間の分布」)は変わらないものとします。このような装置の場合、ジョブの平均待ち時間や、平均待ち行列長はどのようになるでしょうか?

  • 図2


まず、バッチを構成するルール(バッチ構成ルール)を考えます。まず考えられるのが、

  • ジョブが2つ、そろうまで装置が空いていても処理を開始しない。処理は必ず2ジョブで行う。

というルールです。この場合は、まず到着したジョブを2つそろえる処理と、2つそろってバッチになったジョブを装置の待ち行列に入れる処理(装置が空いていれば即、装置で処理を開始する処理)、の2つに分けて考えることが出来ます。

  • 図3

最初のバッチを構成する処理では、あるジョブが到着してから次のジョブが到着するまで平均待ち時間は、ジョブの到着時間の平均値
にほかなりません。ジョブの到着時間の平均値をt_aで表わしますと、2番目のジョブが到着するまでに最初のジョブが待つ時間の平均値もt_aになります。2番目のジョブは待ちませんからここでの待ち時間はゼロです。結局、バッチ構成にかかる平均時間はt_a/2ということになります。
次に、バッチが装置の待ち行列に投入される処理について考えると、まずバッチの到着の平均間隔は2t_aになります。到着間隔の変動係数は、ジョブの到着間隔の変動係数をc_aとすると、\frac{c_a}{\sqrt{2}}になります。一方、装置の処理時間の平均をt_e、変動係数をc_eとします。ここで装置の台数は1台に限定して考えます。するとKingmanの近似式により、待ち時間をCT_{q1}とすると

  • CT_{q1}=\frac{\frac{c_a^2}{2}+c_e^2}{2}\frac{u}{1-u}t_e・・・・(1)

となります。ただし、uは装置の稼働率であり、バッチの平均到着間隔2t_aと装置の平均処理時間t_eから求めることが出来ます。つまり、

  • u=\frac{t_e}{2t_a}・・・・(2)

です。全体の平均待ち時間CT_q

  • CT_q=\frac{t_a}{2}+CT_{q1}・・・・(3)

となります。式(1)(3)から

  • CT_q=\frac{t_a}{2}+\frac{\frac{c_a^2}{2}+c_e^2}{2}\frac{u}{1-u}t_e・・・・(4)

となります。さらに式(2)から

  • t_a=\frac{t_e}{2u}・・・・(5)

となりますので、式(4)(5)から

  • CT_q=\frac{t_e}{4u}+\frac{\frac{c_a^2}{2}+c_e^2}{2}\frac{u}{1-u}t_e・・・・(6)

となります。