モンテカルロシミュレーションは、1940年代、科学者が原子爆弾を研究しているなかで、1つの核分裂ウラン原子が別の核分裂反応を引き起こす確率を計算したときに最初に用いて以来、長い経緯をたどってきました。今日は、既知の工学計算式とMinitabのDOE方程式でモンテカルロシミュレーションを実行する方法を見ていきます。
ウランが不足し、実験的な試行錯誤の余地がわずかしかなかった時代からずっと、モンテカルロシミュレーションの扱いは、シミュレーションデータから信頼できる確率を計算するものでした。今日、シミュレーションデータは、材料工学から医療機器包装の密封、製鋼まで、多くのシナリオで日常的に使用されています。これは、資源が限られている、実際のデータを収集するのに費用がかかりすぎるまたは実用的でないなどの多くの状況で、使えるものです。EngageまたはWorkspaceのモンテカルロシミュレーションツールがあれば、以下が可能になります。
- 考えられるさまざまな結果をシミュレーションして、意思決定に役立てる。
- 財務結果を予測する。または、プロジェクトのタイムラインを見積もる。
- 工程またはシステムのばらつきを理解する。
- 工程またはシステム内の問題を見つける。
- 費用対効果の関係を理解してリスクを管理する。
モンテカルロシミュレーションを開始するための4つのステップ
関係する因子の数によっては、シミュレーションが複雑になる可能性があります。ですが、基礎レベルでは、どのモンテカルロシミュレーションでも、簡単なステップが4つあるだけです。
1.伝達方程式を特定する
モンテカルロシミュレーションを作成するには、調べたい事業活動、計画、または工程の定量的モデルが必要です。工程の式は「伝達方程式」と呼ばれます。これは、既知の工学式またはビジネス式の場合もあれば、DOEまたは回帰分析から作成されたモデルに基づいている場合もあります。Minitab EngageやMinitab Workspaceなどのソフトウェアを使用すると複雑な方程式を作成できるので、相互に依存している応答が複数ある場合でも対応できます。
2.入力パラメータを定義する
伝達方程式の各因子について、そのデータがどのように分布するかを割り出します。入力が正規分布をとる場合や、三角分布または一様分布をとる場合があります。次に、各入力の分布パラメータを割り出す必要があります。たとえば、正規分布に従う入力の平均と標準偏差を特定します。データがどのような分布に従うかわからない場合は、EngageとWorkspaceに役立つツールがあります。
3.シミュレーションを設定する
有効なシミュレーションを行うには、入力ごとに非常に大きくてランダムなデータセットを作成する必要があります。これは10万インスタンスほどになります。このランダムなデータポイントは、各入力で長期間見られる値をシミュレーションします。この大変な作業で、EngageとWorkspaceが輝きを放ちます。入力とモデルを送信して、あとはお任せです。
4.工程の出力を分析する
データがシミュレーションされたら、伝達方程式を使用して結果を計算できます。モデル全体で十分な量のシミュレーションされた入力データを実行すると、入力の予想される変動が考慮され、時系列で工程からの出力が高い信頼性で示されます。
既知の工学式を使用したモンテカルロの4つのステップ
メーカーが、提案された製品の設計を評価するとします。1分間に12mlの液体を注出する必要がある小さなピストンポンプです。ピストンの直径(D)、ストロークの長さ(L)、1分あたりのストローク回数(RPM)の自然な変動を考慮して、数千のポンプで予想されるパフォーマンスを推定する必要があります。理想は、数千のポンプでポンプ流量の標準偏差が0.2ml以下です。
1. 伝達方程式を特定する
モンテカルロシミュレーションを実行する最初のステップは、伝達方程式を割り出すことです。ポンプ流量を測定する確立された工学式を使用するだけです。
流量 (in ml) = π(D/2)2 ∗ L ∗ RPM
2. 入力パラメータを定義する
ここで、伝達方程式で使用される各入力の分布とパラメータを定義する必要があります。ポンプのピストンの直径とストロークの長さはわかっていますが、目的の12ml/分の流量を達成するために必要な1分あたりのストローク回数(RPM)を計算する必要があります。ストロークごとの注出量は、次の式で出ます。
π(D/2)2 * L
D=0.8およびL=2.5の場合、各ストロークは1.256mlです。したがって、12ml/分の流量を達成するRPMは、9.549です。
工場で製造している他のポンプの性能に基づくと、ピストンの直径は、平均0.8cm、標準偏差0.003cmで正規分布していると言えます。ストロークの長さは、平均2.5cm、標準偏差0.15cmで正規分布しています。1分あたりのストローク回数は、平均9.549RPM、標準偏差0.17RPMで正規分布しています。
3. EngageまたはWorkspaceでシミュレーションを設定する
上部のリボンで[挿入]タブをクリックし、[モンテカルロシミュレーション]を選択します。
簡単になりました。各変数に名前を付け、ドロップダウンメニューから分布を選択して、パラメータを入力するだけです。前述の内容を用います。分布がわからない場合は、[データを使用して決定する]を選択できます。そうするとデータの.csvファイルをアップロードするように求められ、以下のオプションから選択できます。
4. 工程の出力をシミュレーションおよび分析する
次は方程式です。出力に名前を付け(ここでは「フロー」)、上記で特定した正しい伝達方程式を入力するだけです。上側規格限界と下側規格限界を追加して、シミュレーションの比較方法を確認することもできます。
次にリボンで、実行するシミュレーションの回数を選択し(100,000が適切なベースラインです)、ボタンをクリックしてシミュレーションを実行します。
この記事を書くために生成されたランダムデータでは、平均流量は100,000サンプルに基づき、11.996です。平均して目標を達成していますが、最小値は8.7817、最大値は15.7057でした。範囲がかなり広くなっています。伝達された変動(すべてのコンポーネントの)は、0.2mlの目標をはるかに超える0.756mlの標準偏差です。
このポンプの設計では、変動が大きすぎるように見えるため、生産を開始する前に改良する必要があります。ここで、シミュレーションのメリットがわかり始めます。すぐに生産を開始していたら、たくさんの不合格品が出たでしょう。モンテカルロシミュレーションを使用すると、何千もの試作品を製造および試験したり時期尚早に生産開始したりする費用をかけることなく、これらすべてを把握することができます。
これらのシミュレーション結果がどれほど合致するのかと、疑問に感じるかもしれないので、実際に試してみましょう!さまざまなシミュレーションを実行すると、わずかな違いがあっても、最終結果(流量の許容できない規模の変動)は毎回一貫しています。それがモンテカルロ方法論の力です。
もう1つのオプションのステップ: パラメータ最適化
標準偏差が高すぎることを認識することにはとても価値がありますが、EngageとWorkspaceには改善に役立つ能力があります。そこで登場するのがパラメータ最適化です。
最初の入力、ピストンの直径を見てみましょう。平均が0.8の場合、ほとんどのデータはその値に近づくか、1つまたは2つの標準偏差内に収まります。ですが、ピストンの直径を小さくすれば、流れが効率的になるとしたらどうでしょうか。パラメータ最適化は、その疑問の答えを得るのに役立ちます。
パラメータ最適化を行うには、入力ごとに探す範囲を指定する必要があります。この例では、簡単にするために、アルゴリズムに±3の標準偏差範囲を指定しました。次にEngageまたはWorkspaceを使用して、目標、この場合は標準偏差を減らすための各入力の最適な設定を探すことができます。適切な範囲を選択することが重要です。入力した全範囲が実行可能であることを確認します。最適なソリューションを探しても本番環境で再現できないのは良くないことです。
Minitab Statistical SoftwareでResponse Optimizerを使用したことがある場合、考え方は似ています。結果は、以下のとおりです。
これに基づいて、標準偏差を減らしたい場合は、ストロークの長さと1分あたりのストローク回数を減らす必要があります。ピストンの直径の位置はあまり変わりません。モンテカルロシミュレーションの重要なポイントは、新しい試作品を作成したり、新しい実験を行ったりすることなく、これらすべてを見つられるところです。
実験計画(DOE)応答方程式を使用したモンテカルロ
どの方程式を使っていいかわからない場合、または独自の工程の結果をシミュレーションしようとしている場合は、どうすればいいでしょうか。Minitab Statistical Softwareの実験計画機能を、EngageまたはWorkspaceのシミュレーション機能と組み合わせることができます。
電子機器メーカーで、電気めっき用の金属部品を準備する電気洗浄工程の改善業務を割り当てられたとします。電気めっきにより、原材料を異なる金属で被覆して、目的の特性を達成することができます。めっきは汚れた表面には付着しないため、自動電気めっき装置につながる連続フロー電気めっきシステムがあります。コンベヤーで各部品が槽に入り、槽に電圧が送られて、部品が洗浄されます。洗浄が不十分だと、二乗平均平方根(RMS)粗さの値が高くなり、表面仕上げがうまくいきません。適切に洗浄された部品は、滑らかな表面になり、RMSが低くなります。
工程を最適化するために、電圧(Vdc)と電流密度(ASF)の2つの重要な入力を調整できます。電気洗浄方法では、Vdcの一般的な工学的制限は3~12ボルトです。電流密度の制限は、10~150平方フィート/アンペア(ASF)です。
1. 伝達方程式を特定する
この工程では、教科書の公式を用いることはできませんが、Minitabで応答曲面DOEを設定して伝達方程式を割り出すことができます。応答曲面DOEは、「重要な少数の」制御可能因子に最適な設定を探し、応答を最適化するためによく使用されます。
この場合では、応答は、部品が洗浄された後の部品の表面品質になります。
Minitabで応答曲面実験を作成するには、[統計]>[DOE]>[応答曲面]>[応答曲面計画の作成]を選択します。電圧(Vdc)と電流密度(ASF)の2つの因子があるため、13回実行する2因子中心複合計画を選択します。
Minitabで実験計画を作成したら、13回の実験を実行し、データを収集して、13個の完成部品の表面粗さを記録する必要があります。Minitabがあれば、残差プロットを使用して、DOEの結果を簡単に分析し、モデルを縮小し、仮定を確認できます。最終モデルとMinitabの応答最適化を使用して、変数に最適な設定を探すことができます。この場合では、39.4の粗さ値を取得するには、ボルトを7.74に、ASFを77.8に設定します。
応答曲面DOEは、モンテカルロシミュレーションで以下の伝達方程式を生成します。
粗さ=957.8 − 189.4(Vdc)− 4.81(ASF)+ 12.26(Vdc2)+ 0.0309(ASF2)
2. 入力パラメータを定義する
これで、モンテカルロシミュレーション入力のパラメータ定義を設定して、EngageまたはWorkspaceに取り込むことができます。
標準偏差は、既存の工程の知識に基づいた、既知のものまたは推定のものでなければなりません。これは、すべてのモンテカルロ入力に当てはまります。ボルトは、平均7.74Vdc、標準偏差0.14Vdcで正規分布しています。平方フィート/アンペアは、平均77.8ASFおよび標準偏差3ASFで正規分布しています。
3. EngageまたはWorkspaceでシミュレーションを設定する
これはステップ3と同じです。リボンから[挿入]>[モンテカルロシミュレーション]をクリックし、入力を追加し、パラメータを定義して、モデルを入力します。Minitabの最新バージョンを使用している場合は、右クリックして[Engageに送信]または[Minitab Workspaceに送信]をクリックします。最新バージョンでない場合は、Minitabの出力から手動でコピーして、EngageまたはWorkspaceのモデルフィールドに貼り付けます。
4. 工程の出力をシミュレーションおよび分析する
要約すると、基礎となる入力が正規分布しているにもかかわらず、RMS粗さの分布が非正規であることが示されました。また、すべてのコンポーネントの伝達された変動が標準偏差0.521になり、工程の知識で、良好な工程結果であることがわかります。わずか13回実行のDOEに基づいて、実際に起きる工程を判断できます。これはシミュレーションのデータに基づいているため答えは少し異なるでしょうが、一般的な答えは正しいはずです。必要に応じて、パラメータ最適化を見て答えを微調整し、最適なソリューションを探すことができます。
この記事は、2012年2月のASQ Lean Six Sigma Conferenceで、Minitab技術トレーニングスペシャリストPaul Sheehyが行ったプレゼンテーションに基づいています。