Unsplashある物流会社では経費削減のため、減価償却が済んだフォークリフトをなるべく長い期間使い続ける戦略を取っています。それだけ故障頻度は高くなりますが、修理代や修理中の機会損失等を考慮しても、その方がお得だろうという考え方です。物流センターAでは5台のフォークリフトを所有しています。平均車齢が7年と古いため、平均して1年に1度くらい故障します。故障すると修理が終わるまでに平均1か月かかります。この国ではフォークリフトを輸入に頼っているため、スペアパーツが在庫になくて修理に2か月くらいかかるなんてこともざらにあるためです。修理期間中は少ないフォークリフト台数でしのぐことになります。まとめ◆仕事や勉強の息抜きに。一般的な待ち行列モデルこの問題は一見、待ち行列理論など使えなさそうに思えますね。待ち行列理論で扱うのは一般に次のような問題だからです。あるATMは昼休み時間に平均2分間に1人がお金を下ろしに来ます。ATMを操作してお金を受け取れるまでの時間は平均1分間です。この時、行列で平均何分間待つことになるでしょうか?図で描くと次のようになります。拡大解釈して待ち行列モデルに当てはめるここで冒頭の問題に当てはめるために、銀行を物流センター、人をフォークリフトとしてみましょう。この図を見て一目でピンと来る人は相当良いセンスの持ち主です。普通はピンと来ないです。待ち行列では、何を「系」とするかを始めに決めないといけません。ATMの例では銀行が系になります。フォークリフトの例では、「修理工場」と「物流センター」が系の候補になりますが、普通は「修理工場」を系として考えるのではないでしょうか?なぜなら、修理工場で修理待ちの列ができることが予想されるからです。ところが、この例では物流センターを系と考え、その中にフォークリフトが何台滞留するか?と考えます。次にわかりにくいのが、離脱率の考え方です。ATMの例では系、つまり銀行からの離脱率はATMの処理速度のことでした。ATMの処理速度が上がれば、銀行からの離脱率も上がります。ところが、フォークリフトの例では、フォークリフトの故障速度を離脱率と考えます。フォークリフトが故障する速度が上がるほど(より故障し易くなるほど)、物流センターから離脱する速度も上がると考えるのです。一つわかりにくいのは、到着率と離脱率が場面によって異なることです。いうことなのでしょうか?到着率や離脱率が一定にならない待ち行列とは?銀行の例では人の到着率は一定と考えています。これは銀行に来る人は無限にいると考えているためです。実際には来る可能性がある人は数千人くらいしかいないかもしれませんが、皆がみんな同じ時間に来ることはなく、到着率は一定と考えても大きな問題にはなりません。ATMが1台であれば離脱率も当然一定と考えられます。これに対し、フォークリフトの例ではフォークリフトの到着率も離脱率も一定ではありません。フォークリフトの台数が5台と限られているため、場面場面で異なってきます。修理工場にフォークリフトが1台、物流センターに4台ある時の到着率と離脱率は次のようになります。故障したフォークリフトを修理するのに1か月かかるということは、1日で1/30台分を修理できるということなので、修理工場を出て物流センターにやってくる到着率λは1/30台/日になりますね。難しいのは、離脱率μの計算です。フォークリフトは1年に1回故障するので、1日に1/365回故障すると考えられます。物流センターにはこのフォークリフトが4台あって、どれも1日に1/365回故障します。物流センター全体では1日に4/365回故障します。1日に4/365回故障するということは、1日に4/365台のフォークリフトが物流センターから出ていくということなので、離脱率μは4/365台/日になるのです。次に、修理工場にフォークリフトが2台、物流センターに3台ある時の到着率と離脱率はどうなるでしょうか?同じように考えると、次のようになります。同様に他の場合については以下のようになります。各状態の確率を求める定理を適用するこれですべてのパターンを網羅できました。物流センターの中のフォークリフトの台数は0~5の6通りありました。これを待ち行列風にいうと、「系の中に滞留している台数」ということになります。6通りの定常状態が考えられるということです。この定常状態と上述した到着率と離脱率をまとめて書くと、次のように状態遷移図を描くことができます。これを前回の記事で解説したM/M/1モデルと比べてみましょう。M/M/1モデルにおける状態遷移図は次図のようでした。このようにM/M/1モデルでは到着率λと離脱率μを、系の中に滞留している人数に関わらず一定としていましたが、今回は異なります。系内に滞留する人数がj人である確率Πjは、M/M/1モデルと同じようにして求めることができます。M/M/1モデルでは、ΠjはΠ0を使って次のように計算できました。Πj=Π0ρj=Π0λj/μj【待ち行列|M/M/1モデル】5つの公式をわかりやすい言葉で解説します今回はλとμが一定でないため、次のようになります。Πj=Π0λ0λ1λ2...λj-1/μ1μ2μ3...μj本サイトは数学を実務に使うためのやり方を紹介するサイトですので、この式の証明は省略しますが、これは簡単に証明できます。フォークリフトの例ではj=0~5ですが、j=1~5におけるΠjは次のように計算できます。Π0+Π1+Π2+Π3+Π4+Π5=1が成り立ちます。Π0(1+λ0/μ1+λ0λ1/μ1μ2+・・・+λ0λ1λ2λ3λ4/μ1μ2μ3μ4μ5)=1が成り立ちます。この式の中で未知なのはΠ0だけであるため、この方程式を解けばΠ0が求まります。すると、他の式にΠ0を代入することにより、Π1~Π5も求まることになります。以上をExcelで計算すると、次のようになります。クリックすると拡大しますこれで最終行にΠ0~Π5が計算されました。知りたいのは、物流センターの中で稼働中のフォークリフトが4台になる確率なのでΠ4を知りたいわけです。その確率は28%あることがわかります。1か月の28%、つまり1週間くらいはフォークリフトが1台欠けた状態で運営しないといけないことを覚悟しましょうということです。まとめ待ち行列理論は行列の人数を推定するためだけのものではない。モノが滞留する個数を推定することにも使える人やモノが滞留する場所、つまり「系」は銀行、スーパー、レストラン、物流センター、家の中など、いかなる場所でもよい人やモノが無限ではなく限られている場合、到着率や離脱率は一定にならない。その場合でも各状態に落ち着く確率Πjは同じように計算できるこのフォークリフト問題を待ち行列理論で解く方法には別の方法もあります。こちらの方が応用範囲が広い解法です。...待ち行列理論を応用して高速コピー機の費用対効果を定量化する方法Aさん:「高性能マシンを導入して生産性を上げたいんです。...2段階シンプレックス法で貨物積載率が最大になる条件を求めてみた。...◆キーワードで探すイチローの安打数がポアソン分布にならず正規分布になる理由を考察してみた【マルコフ連鎖】標準体重の人が太りすぎになるまで平均何年かかる?待ち行列理論を応用して10分カットが儲かる仕組みを解明してみた。計算グラフモンテカルロ積分クラスタリングカーネルトリックPythonSimPy(離散事象シミュレーション)inventorize(在庫シミュレーション)SARIMAX(時系列解析)investpy(財務データ取得)PyPDF2(PDF操作)仕事や勉強の合間の息抜きに管理人ロジギークロジスティクス業界で6か国に勤務。