【有限ソースの待ち行列】フォークリフトが正常稼働する台数を求める別解

2023年10月7日

Photo by Elevate on Unsplash

前回の記事待ち行列理論を応用して10分カットが儲かる仕組みを解明してみた。では、収容人数に制限がある待ち行列を扱いました。

床屋に入れる人数、つまり系の収容人数が有限の場合です。

この場合、床屋を訪れようとする人数に制限はありません。

今回は、これが有限の待ち行列を扱います。

これを有限ソースの待ち行列と呼びます。

 

床屋の例でいうと、近所に住んでいる男性30人の得意客しか、その床屋を訪れる可能性はないようなケースです。

このようにいうと特殊なケースを想定しているように思えますが、そうでもありません。

例えば、ある事務所に10人しか従業員がいないのであればコピー機に並ぶ人は最大10人ですし、従業員100人の会社の社員食堂であれば、どんなに混雑していても行列の人数は100人が最大です。

 

今回はまず、このような有限ソースの待ち行列を解析する公式を紹介します。

そして、5台のフォークリフトがある物流センターにおいて、最低4台のフォークリフトが正常稼働する確率を推定します。

実はこの問題は待ち行列理論を使ってフォークリフトが正常稼働する台数を推定してみる で解いているのですが、今回はその別解になります。

そして、今回の方が応用範囲が広い解法であることが、後ほど明らかになります。

 

当ページのリンクには広告やプロモーションが含まれています。

有限ソースの待ち行列の公式

状態遷移図

物流センターに5台のフォークリフトがあり、それぞれが1年間に平均λ回故障するとします。

一方、故障したフォークリフトを修理する修理工場には十分なキャパがあり、常に待たずに修理ができるものとします。

修理は1か月にμ台できるとします。

この状況は次のように図示できます。

 

ここで、修理工場をと考えます。

すると、修理工場へのフォークリフトの到着率は5λとなるはずです。

なぜなら1年間で平均λ回故障する(物流センターを離れて修理工場に到着する)フォークリフトが、5台物流センターにあるためです。

一方で、修理工場ではフォークリフトがありませんので、修理工場からフォークリフトの離脱率は0になります。

これを上図に書き入れると次のようになります。

 

次に、フォークリフトが1台故障して、修理工場で修理している場合を考えてみましょう。

次のようになるはずです。

 

同様にフォークリフトが2台故障した場合から5台故障した場合を図で表すと、次のようになります。

2台故障した場合

 

3台故障した場合

 

4台故障した場合

 

5台故障した場合

 

以上を状態遷移図にまとめると、次のようになります。

 

系にフォークリフトがj台ある確率

次に系内にj台ある確率を求める式を見てみましょう。

修理工場にフォークリフトが0台ある確率Π0、1台ある確率Π1、、、Π5を求める式です。

この公式の導出は少し難しいので、こんな式があることを知っておいて、必要な時に使えればOKです。

λ/μ=ρとすると、

ΠjkjρjΠ0                                                       j=0, 1, 2, … , Rの時

Πjkjρjj!Π0/R!Rj-R                                       j=R+1, R+2, R+3, … , kの時

 

但しkjはk個からj個を選ぶ組み合わせの数を表し、kj=k!/j!(k-j)!で計算できます。

二項分布の公式の意味とExcelでグラフを描く2通りの方法を実演

またΠjの定義から、

であることは明らかです。

 

系にフォークリフトが滞在する時間の期待値

次に先で求めた確率を用いて、系に滞在するフォークリフト台数の期待値を求めます。

期待値の公式から、次のように計算できます。

この結果を使うと、系にフォークリフトが滞在する時間Wはリトルの法則から

W=L/λ

で求められます。

しかし、先ほどの状態遷移図で見たように、到着率λは状態(系に滞在するフォークリフト台数)により異なります。

よって、到着率λの期待値を求めておきます。

先ほどと同様に期待値の公式を使うと、λの期待値λ*は次のように計算できます。

このλの期待値を先ほどのリトルの法則式に代入することによって、系にフォークリフトが滞在する時間の期待値は次のように求められます。

W=L/λ*=L/λ(K-L)

 

フォークリフトが正常稼働する台数をシミュレーション

物流センターAでは5台のフォークリフトを所有しています。

平均車齢が7年と古いため、平均して1年に1度くらい故障します。

そして故障すると修理が終わるまでに平均1か月かかります。

修理期間中は少ないフォークリフト台数でしのぐことになります。

この時、4台のフォークリフトでしのぐことになる確率は何%あるでしょうか?

また、修理にかかる日数は平均何日でしょうか?

 

 

考え方

修理工場を系と考えると、修理工場にフォークリフトが1台ある確率Π1を求める問題に帰着します。

また修理にかかる平均日数を求めることは、フォークリフトが系(修理工場)に滞在する日数の期待値Wを求めることと同じです。

到着率λや離脱率μがフォークリフトの稼働台数で変わるのは、先の状態遷移図で見た通りです。

 

Excelで計算

Excelシートで計算すると次のようになります。

クリックすると拡大します

 

Π1が物流センターで稼働するフォークリフトが4台になる確率で、28%です。

またΠ0が67%ということは、フォークリフトが5台すべて稼働する確率は2/3しかないことになります。

一か月のうち10日間くらいは、フォークリフトが欠けた状態になることを覚悟しましょうということです。

これは下記の記事で計算した結果と同じです。

待ち行列理論を使ってフォークリフトが正常稼働する台数を推定してみる

 

また修理にかかる平均日数は30日で、これは修理工場で待ち時間がないため当然の結果ですね。

 

修理工場のキャパに制限がある場合

それでは修理工場で待ち行列ができる場合、つまり修理工場のキャパに制限がある場合はどうなるでしょうか?

この方が現実的な設定ですね。

ここでは、修理工場が同時に2台までしか修理できなくて、フォークリフトの故障頻度が1年に平均2回である場合でシミュレーションしてみましょう。

まず各状態での到着率と離脱率がどうなるかを見てみると、次のように離脱率が2μで頭打ちになることがわかります。

クリックすると拡大します

 

従って、状態遷移図は次のようになります。

 

このことに注意して先ほどと同じようにExcelで計算すると、次のようになります。

 

このようにフォークリフトが4台稼働する(修理工場にフォークリフトが1台ある)確率は30%になります。

そしてフォークリフトが5台すべて稼働する確率は37%しかないことがわかり、これではとてもオペレーションが回せないことがわかります。

また、1台の修理にかかる平均日数は54日もあることもわかります。

これは、修理工場で1度に2台しか修理できるキャパがないために、待ち時間ができてしまうためです。

 

まとめ

以前の記事待ち行列理論を使ってフォークリフトが正常稼働する台数を推定してみるでは、物流センターを系として待ち行列理論を適用しました。

今回は逆に、修理工場を系として待ち行列理論を適用しました。

どちらでも解けますが、修理工場のキャパに制限がある場合には、今回のように修理工場を系として有限ソースの待ち行列の公式を適用する必要があります。

 

 

Udemyの関連講座

Optimization with Excel: Operations Research without Coding

Optimization with Gurobi, CBC, IPOPT. Linear programming, nonlinear, genetic algorithm. Using Excel, without coding

 

Assignment and Transportation Problem Operations Research 01

The Hungarian Assignment Problem and Transportation Problem

 

Optimization with Python: Solve Operations Research Problems

Solve optimization problems with CPLEX, Gurobi, Pyomo… using linear programming, nonlinear, evolutionary algorithms…