前回の記事で、倉庫の保管レイアウトで保管効率が違ってくる場合があることを、シミュレーションで確認しました。倉庫レイアウトの違いによる保管効率をシミュレーションする方法【サンプル付き】しかし、これはある1つの出荷パターンでのシミュレーション結果に過ぎません。出荷数は日々変動しますので、例え1週間の短い期間であっても、出荷パターンがぴったり一致することは通常考えられません。出荷パターンが変われば、同じロジックで発注していたとしても発注数が変わります。応じて入荷数が変わるため、入荷ロットごとに保管する場合、保管効率が変わってくるのです。従って、色々な出荷パターンでシミュレーションしないと、将来の保管効率を予測できません。言って、むやみやたらに色々な出荷パターンでシミュレーションしても意味がありません。日々の出荷数は正規分布に近似できることが分かっているのですから、平均と標準偏差は過去データから算出して、それを使うべきです。平均と標準偏差を指定した乱数を日々の出荷数として使ってシミュレーションするのです。シミュレーションを何百回、何千回と行った後にその平均を調べれば、将来の保管効率を予測できます。このようなやり方はモンテカルロシミュレーションと呼ばれます。数式で解けない、もしくは数式化することが難しい現象を予測するのに便利な手法です。今回は、この手法を使って、最小発注数量が保管効率にどんな影響を与えるかを予測してみます。業務改善/ロジスティクスエンジニアリングの求人数が多いのはここだ!ページの最後でプログラムファイルを無料ダウンロードできます。正規分布に従う乱数をエクセルで発生させるには、2つの関数を使います。標準偏差)NORM.INV関数は、累積分布関数の逆関数です。エクセルを使って正規分布の乱数を生成する方法をわかりやすく解説RAND関数は、0から1までの数をランダムに発生します。「=RAND()」とA1セルに入力してEnterキーを押せば、ある時は0.965874がA1セルに表示され、またある時は0.458654が表示されたりします。重要なのは、0から1の間の数に限るということです。確率は0から1の数ですね。NORM.INV関数は、確率を指定すれば、それに対応する正規分布の数を返してくれる関数です。正規分布の形は平均と標準偏差によって決まりますので、平均と標準偏差も併せて指定してあげる必要があります。これらの関数を使うと、例えば平均110、標準偏差69の正規分布に従う乱数を発生させたい時は、=NORM.INV(RAND(),110,69)と入力すれば良いことになります。売上数量を正規分布の乱数にする前回までに作ったプログラムでは、売上は過去データで固定していました。今回は、これを乱数データに変えます。エクセルの乱数は同じシート上でデータが変わるたびに新しい乱数を発生させますので、1行ずつシミュレーションデータを書き込んでいくたびに売上データが変わってしまいます。これではシミュレーションになりませんので、違うシートで乱数を発生させ、それを「値だけ貼り付け」でこの計算シートにコピペすることにします。実際に他のシートで乱数を発生させると、次のようなデータが表示されます。マイナスの数が含まれていますね。今回は平均110、標準偏差69の正規分布に従う乱数を発生させていますので、確率は低いのですがマイナスの数も出てしまうのです。売上はプラスの整数でないといけませんので、マイナスの数はゼロになるように、隣の列に=IF(H4<0,0,H4)と入力しておきます。すると次のようにマイナスはゼロになります。このように発生させた乱数を、計算シートの売上の列に「値だけ貼り付け」して1回分のシミュレーションを行います。その結果を別のシートにコピペします。これを500回繰り返せば、500の出荷パターンについてのシミュレーション結果が得られます。今回のシミュレーション条件は下記の通りです。許容欠品率1%同一入荷ロットの保管スペースの最小単位は3パレット1パレット当たりの商品積載数量は50個そして、入荷ロットごとに分けて保管する場合に、分けないで保管する場合に比べて、保管効率が何%に落ちるかを予測します。最小発注数量は1個、50個、100個、150個、200個、250個、300個に変化させます。それぞれの場合について、500の出荷パターンでシミュレーションし、保管効率の分布をヒストグラムにして比較してみましょう。最小発注数量によって、保管効率の平均もばらつきも大きく異なっていることが分かります。平均をまとめると下表のようになります。保管効率に関する考察1パレット当たり50個、3パレット分で1ロケーションになっていますので、1ロケーション当たり150個まで保管することができます。最小発注数量が150個の場合、入荷数は150の倍数になります。入荷した商品は過不足なく保管できます。その後、徐々に出荷されますので保管効率は落ちていきますが、それは他の最小発注数量の場合も同様です。従って、最小発注数量が150個とその倍数である300個の場合は、保管効率が良くなります。ところが最小発注数量が200個の場合、入荷した時点で50個が半端になり、150個保管できるロケーションに50個しか保管できません。後日入荷する商品はロットが違いますので、空いている100個の箇所には保管できません。この傾向は、最小発注数量が250個の場合は、マシになります。入荷した時に半端になる数量が100個ですので、ムダになるスペースが50個分で済むからです。そのため保管効率は最小発注数量250個、200個の順に悪くなります。最小発注数量が150個より小さい場合はどうでしょうか?上記のロジックで考えると、100個、50個、1個の順に悪くなるように思えます。結果は、その逆になっています。これは、最小発注数量が50個の場合、入荷数が50個になるとは限らず、100個や150個になる時もあるからです。最小発注数量が1個の場合には、120個や148個など更に150個に近い入庫数になる可能性が高くなります。そのため、最小発注数量が小さいほど、保管効率が良くなるのです。このようなことは少し考えれば分かることですが、後付けの解釈にすぎません。どのくらいの割合で保管効率が変わるかということは、シミュレーションなしでは予測できないことがお分かりいただけると思います。業務改善/ロジスティクスエンジニアリングの求人数が多いのはここだ!まとめモンテカルロシミュレーションは有用ですね。カジノで有名な国家モナコ公国の4つの地区の1つであるモンテカルロにちなんで名付けられたと言われています。管理人はこのモンテカルロシミュレーションをよく使います。物流では物量を自分たちでコントロールできないことがほとんどです。過去データから大体の傾向は掴めます。それが平均と標準偏差です。これを使って乱数を発生させてシミュレーションすれば、将来の物量を占うことができます。その乱数は一瞬に作れますので、1回のシミュレーションもすぐに終わらせることができます。500回、でも1,000回でも繰り返せます。これくらいの回数を繰り返せば、予測値はかなり収束してきます。サイコロを6回振ったところで、それぞれの目が1回ずつ出ることはむしろ稀ですが、1,000回振れば、それぞれの目が出る回数は同じくらいになっていくでしょう。これと同じことで、何回もシミュレーションを繰り返せば、予測値はかなり確かなものになるのです。今回のプログラムファイルも無料でダウンロードできます。著作権フリーですので、ご自由にお使い下さい。【区間推定の使い方】タイヤの摩耗を具体例にわかりやすく解説します。TOP28【作業分析6】MMCモデル|最適なトラックドック数をSimpyでシミュレーション【作業分析5】トラックの待機台数の多さを人の表情でアニメーション(2)カンボジアの物流でお困りのことがあればお気軽にご相談下さい。学生時代にアジアの雑踏にハマる。誰もが羨むメーカーを退職し「旅するように働く」ことを目指し物流業界に転職。理工学と経営学のダブル修士。2023年1月からカンボジアのオートレスビーチ在住。