私たちのチームは数十年にわたり、プロセスおよび包装システムの離散イベントシミュレーションモデルの開発に取り組んできました。2024年には、これらのモデルから得られる統計結果の解釈を効率化し、強化するためにJMPを導入しました。
シミュレーションモデルの実行には時間と費用がかかる可能性があるため、現在ではJMPを用いて、計画的実験に基づく代替メタモデルを構築しています。これにより、シミュレーションから洞察を抽出する効率が飛躍的に向上します。メタモデルは、3Dビジュアルや単一のモデル実行で得られる詳細な実行統計といった従来の出力よりも、システムの挙動に関するより深い洞察をもたらします。
最初のメタモデルは、長年の分析課題である「包装ラインに複数のバッファがある場合、限られた資本資源の中でラインのパフォーマンスを最適化するには、それぞれのバッファをどの程度の大きさにすべきか」という問題に対する明確な解決策を明らかにしました。私たちは、合流・迂回メカニズムを備えたラインの複数のレイアウトオプションの比較や、配置場所によるパフォーマンスへの非線形効果など、他のメタモデルもいくつか提示します。
最後に、2つの倉庫間を直結させるかどうかの投資判断を支援するために使用されたフォークリフトシミュレーションのケーススタディを紹介します。サロゲートモデリングは私たちのシミュレーションワークフローの不可欠な部分となっており、JMPは、このアプローチをチームとステークホルダーの両方にとってよりアクセスしやすく、効率的で、影響力のあるものにする上で重要な役割を果たしました。
こんにちは、シャノン・ブラウニングです。Haskell社のシステム分析担当テクニカルリードを務めています。JMPは2023年から使い始めたばかりですが、離散イベントシミュレーションに関しては長年の経験があります。離散イベントシミュレーションは製造システムやサービスシステムでよく使われるツールで、実際に現場に導入する前に、仮想環境で新しい制御戦略、新しいレイアウト、異なるフロー、ロジックなどを試すことができます。
JMPを導入して以来、私たちは代替モデル、あるいはメタモデルと呼ぶ、モデルのモデル化によって新たな洞察を得ることに大きな成功を収めています。そのため、シミュレーションモデル自体を軸に実験計画法を採用し、入力を体系的に変化させることで理解を深め、より高次のレベルでシステムの挙動を観察できるようにしています。
ここでは、物理的または破壊的な実験計画法(DOE)とは異なる課題に直面します。制約となるのは、実質的には計算時間だけです。従来のDOEでは、材料の制約や、再現実験やシナリオ数を減らす必要が生じるような実現可能性に関する制約は気にしません。これにより、多くの可能性が開かれる一方で、興味深い課題もいくつか生じます。多くの離散事象シミュレーションは、本質的に確率的である傾向があり、つまりモデル内にランダムな変動が生じることを意味します。
共通乱数法と呼ばれる手法を使うと、異なる設定を複数回実行しますが、その各回で同じ乱数シードを使用します。こうすることで、十分に類似した行動が得られるため、例えば混合効果モデルにおいて、それらをランダム効果として扱うことができます。しかし、本当に役立つのは、これらの手法のいくつかを実際に試して、様々な応用例を見てみることだと私は考えています。
検討を重ねる中で、3つの異なるユースケースが魅力的だと分かりました。1つは、高度に自動化された高速梱包ラインにおいて、バッファをどこに配置すべきかという長年の課題です。2つ目は、搬送装置の制御と物理的なレイアウトについてもう少し詳しく説明します。3つ目は、施設内のフォークリフトの動線を調査し、レイアウト変更への多額の投資が回収期間や成果をもたらすかどうかを検証するユースケースです。
まず、ボトリングラインのシミュレーションから見ていきましょう。このシミュレーションでは、左下を見てください。システムをフローチャートレベルで表現しています。ここではソフトウェアツールを使って、様々なプロセッサとキューをドラッグ&ドロップして配置しています。これらのプロセッサとキューはそれぞれランダムに停止し、停止時間の間は一定速度で動作します。少しオーバースピードが発生するので、バッファがこれらのキューを時間内に切断できることがわかります。つまり、あるプロセッサが停止しても、上流のプロセッサがすぐに停止するわけではありません。バッファを多く用意すればするほど、より多くの設備を設置できます。ただし、収穫逓減の法則があります。つまり、非線形応答が存在します。
右下は、キューのダイナミクスが時間の経過とともにどのように変化するかを示しています。何かが停止すると、非常に急速に大量のデータが蓄積されます。その後、回復すると速度差が生じ、バッファが徐々に減少します。ここでは、マシンの信頼性、オーバースピード、バッファサイズなど、いくつかの変数を考慮する必要があります。課題の一つは、非常に多くの変数がある場合、どれを考慮すればよいかということです。意思決定プロセスのどの段階にいるかによって、目指すべき方向が決まったり、調整可能な変数が決まったりします。ここまで来ると、既に多くのマシンの選択肢がありました。実際に残されたのは、これらのバッファを確認することだけでした。
従来であれば、これらの因子を個別に検討します。「ここにバッファを一つ置いて、因子を一つずつ変化させよう」と考えるでしょう。しかし、JMPでは、それぞれのバッファを0分から4分に設定し、すべての組み合わせについて10回の反復実験を行いました。つまり、それぞれに9つの水準があり、これにより応答の曲率を非常に正確に調整することができました。これはコンピューターシミュレーションの世界なので、729通りの組み合わせがあることになります。
モデルの実行速度は非常に速いですが、それでも各10回の反復で実行しています。このモデルを7,000回以上実行し、すべてのシナリオを実行するのに半日以上かかりました。しかし、データが生成されたら、JMPで確認することができます。右上に予測プロファイラーが表示されています。これらのバッファすべてのベースラインを0とすると、この位置からバッファへの反応が最も良好で、バッファ3では少し反応が悪く、バッファ2ではほとんど反応がないことがわかります。また、相互作用効果もモデル化しました。この予測プロファイラーでは、例えばバッファ2に2分半、バッファ3に2分と選択すると、バッファ1の曲線がさらに平坦になっているのがわかります。これは、これら3つすべてを一度に最大限に活用することはできないためです。バッファ2に多くのバッファをかけると、バッファ3の効果が低下するなどの相互作用があります。
これは非常に強力な洞察でした。当初のプロジェクト計画では、これら3つのバッファーそれぞれに約50万ドルの投資が必要だったと思いますが、少なくとも1つのバッファーは不要だと明確に判断できました。そのため、少なくとも50万ドルの資本を投入できます。そして、3つ目のバッファーについては微調整が可能で、そのバッファーに全額投資する必要はありませんでした。これは、プロジェクトにとって非常に有益な洞察でした。
さて、次はシステムの実際の動作についてもう少し詳しく説明します。このケースでは、既存のラインが設置されており、前回のケースでは、2つのユニットオペレーション間の過速度差によってバッファが減少する様子を確認しました。システムのボトルネック部分に改良を加え、約10%高速化しました。その結果、過速度差はかなり小さくなりました。これがコンベアシステム自体の動作に問題を引き起こしました。
2本の製品レーンがあり、さらに製品を投入するオフラインホッパーと、それら全てが合流する合流分岐コンプレックスがありました。現場の自動化エンジニアは、その距離に基づいてギャップを埋めるのに課題があることに気づきました。ボトルネックの速度が上昇するにつれて、この課題が現れました。シミュレーションを使用して、これを12フィート上流に移動したらどうなるか、24フィート上流に移動したらどうなるかを検討しています。
当然のことながら、鋼材を切断し、コンベア全体を再配置し、すべてを調整するには、かなりの投資が必要でした。離散イベントモデリングの観点からも、レイアウトを3つの異なる方法で再作成する必要があったため、少し困難でした。元のレイアウトと、それを基に2つの異なる反復バージョンを作成しました。レイアウトを変更し、制御を微調整し、その結果を確認しました。先ほど、より詳細な反復バージョンをいくつか作成して、複数の異なる反復バージョンを実行できると述べましたが、各シナリオでこれらのモデル調整を行うコストは少しずつ増加しました。
JMPに数値を入力するまで全く予想していなかったことの一つは、上流に制約があることでした。下流では、次の機械とこの合流分岐設備との間に十分なスペースがないことは分かっていました。しかし、上流12フィート、さらに24フィートまで移動していくと、上流の部品に近づきすぎていることがわかりました。そこで、これをJMPに入力し、「モデル適合」プラットフォームを使用します。この例では、2次曲線近似を使用します。すると、上流に近づくにつれて性能が低下し始めることがわかりました。
これは私たちにとって少し驚きでした。実際に接続してみなければ気づかなかったかもしれません。画面には表示されていませんが、この近似方程式をここから取得し、微分して最大値を求めることができます。しかし、もちろん問題は、この点、つまり12フィートから24フィートの間のどこかで、どの程度の不確実性があるのかということです。
もちろん、一つのアプローチとしては、最適点に近い18フィートでモデルを作成し、そのデータに再フィッティングするという方法もあります。しかし、予測プロファイラーでは、二次関数のフィッティングの一次導関数と二次導関数の不確実性も確認できます。これは理解を深めるのに非常に役立ちます。最大値は12フィートから24フィートの間であることは分かっていますが、正確な値は分かりません。他にもこれを複雑にする変数があります。システムを実際にどのように構築するかという現実的な問題もあります。しかし、これは私たちにとって、より深い洞察を得るのに非常に役立ちました。
最後に見ていくのは、フォークリフトの交通量です。この施設では生産能力の増強が進められていました。まだ生産能力が足りていなかったため、実際に何が起こるかを観察することはできませんでした。しかし、梱包ラインのフローチャートモデルを構築し、それをこのモデルのベースとして利用しました。そして、フォークリフトの配車ルールとタスク、そしてフォークリフトがラインに資材を供給したりラインから撤去したりするすべての動作をプログラムしました。
ここで発見したことの一つは、これらのフォークリフトをカテゴリ変数として扱う必要があるということでした。最初にこのモデルを当てはめようとした際、非線形関係があることがわかりました。カテゴリ変数として扱うまで、確実には分かりませんでした。すると、このコネクタがないと、稼働中のフォークリフトが5台になった時点で、6台に増やしてもそれ以上のメリットは得られないことがわかります。また、この予測プロファイルでは、6台になった時点で、このコネクタを追加すれば、この特定の状況におけるレイアウトの革新であるこのコネクタを追加すれば、大きな潜在的利益が得られることがわかります。これが、このレイアウト変更は投資に見合う価値があると判断する根拠となります。このレイアウト変更は、大きな投資でした。
また、これらのインタラクションプロファイラーを確認することもできます。このインタラクションプロファイルを見ると、このコネクタの有無にかかわらず、このコネクタがないと実際に制約を受けていることがはっきりとわかります。ボトルネックの解消やトラフィックの混雑緩和に投資しなければ、運用面でできることは実際には何もなかったでしょう。
これは、既に構築しているシミュレーションモデルにJMPを適用してきた方法のいくつかを簡単にまとめたものです。これらのメタモデルは、シミュレーションアナリストが全体像を把握するのに役立っているとよく言っています。離散イベントモデルでは、調整すべき項目が多すぎて、雑草に埋もれてしまうことがあります。また、大量のデータが生成され、実際のビジネス上の問題や解決しようとしている項目に結び付けるのが難しい場合もあります。お時間をいただきありがとうございました。ご質問があればお気軽にお問い合わせください。