タクト装置のモデルの検討
待ち行列の考察における装置モデルの改善で下図のような装置モデルを考察しましたが、これにはいろいろ問題があります。
故障の考慮
まず、このモデルの考察を簡単にするために
- 先頭の処理部である処理部1の処理時間が他の処理部の処理時間より常に長い
という条件をつけましたが、もし処理部2以降について故障を考えるならば、この条件だけでは充分でないことが分かります。と言いますのは、処理部が故障することによって、その処理部の前でジョブが待つ可能性が出てきます。そうすると待ち行列の考察における装置モデルの改善で述べたような
という結果が成り立たなくなります。
さらに、そのことによって処理部2以降で次々にジョブが滞り、処理部1の処理を完了したジョブが処理部2に入れない可能性もあります。そうすると、そのジョブは処理が終わっても処理部1に滞在し、次に処理部1に入ってくるべきジョブが入るのを拒否する(ブロックする)可能性が出てきます。従って、待ち時間は処理部1の処理時間と利用率で計算した時よりも長くなる可能性があります。よって、処理部2以降の故障が無視できない場合、処理部1のデータだけで待ち時間を計算することは出来ません。この場合、一つの方策は、故障については、装置内のどの処理部が故障になってもそれを処理部1の故障とみなして、待ち時間の計算をすることです。
ボトルネック処理部が先頭でない場合
図1のようにボトルネックの処理部が常に先頭にあるとは限りません。ボトルネックが先頭ではない装置の場合、待ち時間はどのようになるのでしょうか? この問題に対して私はまだ明確な答を得ていません。ここでは一つの試みとして下図のようなボトルネックの前に処理部が1つだけある装置モデルを考察します。
- 図2:ボトルネック前に1つ処理部がある装置モデル
これについて、上の処理部1がない場合(ボトルネックの処理部のみの場合)と処理部1がある場合で、装置を待つ時間がどのように変わるか、ガントチャートを書いて考察してみます。
- 図3:ガントチャートの例1
上のガントチャートが、処理部1がない場合のガントチャートの例です。この例ではジョブは時間2,5,8の時点にジョブが到着しています。これと同じ時刻にそれぞれのジョブが到着するとして、処理部1が存在する場合にどのようにジョブが流れるかを示したのが上図の下のガントチャートです。薄青色の「処理1」と書いた部分は処理部1でジョブが処理されている時間を表します。同じ色で「待ち」と書いた部分は処理部1で処理が完了したが、処理部2がまだ空いていないので、ジョブが処理部1に滞在したまま待っていることを表わしています。上のガントチャートでは装置前で待っていた時間が下のガントチャートでは装置内(この場合、処理部1)で待つことになったのが分かります。よって、装置前での待ち時間は待ち行列の考察における装置モデルの改善で提案したようなボトルネック処理部のみで計算した待ち時間と異なります。この例では、処理部1で装置前の待ち時間を全て吸収してしまいましたが、必ずそうなるというものでもありません。別のジョブ到着時刻を与えた例を以下に示します。
- 図4:ガントチャートの例2
この図の下のガントチャートでジョブ3は、まず、処理部1を待って、1時間単位だけ装置の外で待ちます。その後、処理部1で2単位だけ処理し、その後処理部1で7単位の間、処理部2を待ちます。
興味深いことに、このどちらの例においても、装置内と装置外の待ち時間を合計すると、処理部1がない場合の待ち時間と等しくなることです。ここから考えるに、ボトルネックの前でボトルネックを待つ時間を知るためには、ボトルネック処理部のデータから待ち時間を求めれば「よさそう」に見えます。しかし処理部1や2が処理時間に変動を持った場合について今回考慮しておりませんし、ボトルネックの前に処理部が複数ある場合にまでモデルを拡張するとどのような条件の時に上記が成り立つか、まだ私には明らかではありません。