ここでは、Box and Draper(1987)の著作から借用し、アレンジした「Stochastic Optimization.jmp」データテーブルを使います。ある化学反応プロセスで、化学物質「A」が化学物質「B」に変化するとしましょう。化学物質「B」の量は、反応時間と反応温度の関数として表されます。反応時間が長く、反応温度が高いほど、「B」の量は多くなります。ところが、反応時間を長く、反応温度を高くすると、「B」の一部がまた別の化学物質「C」に変化してしまうという問題があります。どの反応時間、どの反応温度のときに、「B」の量が最大になり、「A」、「C」の量が最小になるのでしょうか。反応時間を短くし、温度を上げるべきか、反応時間を長くし、温度を下げるべきかを調べてみましょう。
図7.21 化学反応
分析の目的は、化学物質「B」の量を最大化することです。アプローチの1つとして、実験を行い、反応収率(化学物質「B」の量)を時間と温度の関数とした応答曲面モデルをあてはめる方法が考えられます。しかし、アレニウスの法則に従った化学反応モデルが広く普及しており、それを使えば、反応収率を直接計算することができます。「収率」列に収率の計算式が保存されています。計算式は、「反応時間」と反応率の「k1」および「k2」の関数です。反応率は、「反応温度」(ケルビン温度)と既知の物理定数、q1q2q3q4の関数です。そのため、「収率」「反応時間」「反応温度」の関数ということになります。
1.
[ヘルプ]>[サンプルデータライブラリ]を選択し、「Stochastic Optimization.jmp」を開きます。
3.
「収率」[Y, 予測式]の役割を割り当てます。
4.
[中間計算式の展開]をクリックします。[OK]をクリックします。
5.
「予測プロファイル」の赤い三角ボタンのメニューをクリックし、[最適化と満足度]>[満足度の最大化]を選択します。
すると、「収率」が最大化され、グラフの「反応時間」「反応温度」の値が最適値に設定されます。
図7.22 「収率」の最大値
「収率」の値が最大(およそ0.62)になるのは、「反応時間」が0.115、「反応温度」が540度のときです。つまり、温度が高く、時間が短いのが最適と言えます (最適化プロセスでは、ランダムな初期値が使用されるので、結果は分析のたびにわずかに異なります)。
生産環境では、工程の入力因子を常に正確に制御できるとは限りません。入力因子(「反応時間」「反応温度」)に確率変動があった場合、「収率」にはどのような影響が及ぶでしょうか。さらに、「収率」に仕様限界がある場合、仕様外れとして廃棄される製品の割合は、何パーセントでしょうか。「シミュレータ」を使えば、「反応時間」「反応温度」の変動をもとに、「収率」の変動と不適合率を調べることができます。
6.
「予測プロファイル」の赤い三角ボタンのメニューで[満足度関数]の選択を解除します。
7.
8.
図7.23 に従って、因子パラメータの入力を行います。「反応温度」[正規 加重]分布で標準偏差が1、「反応時間」[正規 加重]分布で標準偏差が0.03です。「平均」パラメータは、デフォルトで現在の因子の値に設定されます。
図7.23 「シミュレータ」の設定
「収率」には、列プロパティとして0.55の下側仕様限界が設定されており、図7.23 に赤い線として表示されています。入力因子の確率変動を設定したら、シミュレーションを実行し、「収率」の変動と不適合率を調べることができます。
10.
[シミュレート]ボタンをクリックします。
図7.24 シミュレーションの結果
図7.24 を見ると、「収率」の予測値は0.62ですが、因子の変動を考慮に入れると、「収率」の平均が0.60、標準偏差が0.03になります。
「反応温度」「反応時間」の設定を変えると、不適合率はどうなるでしょうか。「反応温度」を535に変更し、「反応時間」「収率」が最大になるような値に設定してみましょう。
設定を変更する前に、「収率」が最大になるときの因子設定を保存しておきます。
11.
「予測プロファイル」の赤い三角ボタンのメニューから、[因子設定]>[設定を記録]を選択します。
12.
「最大収率」と入力し、[OK]をクリックします。
図7.25 「収率」が最大になるときの設定の記録
13.
ここで、「反応温度」の平均値を535に変更します。
14.
「反応時間」プロットの赤い点線を、「収率」が最大となるような値に動かします(およそ0.16)。「反応時間」の平均値を0.16に変更します。
15.
[シミュレート]をクリックします。
図7.26 「温度」が535のときの不適合率
図7.26 のように、不適合率はおよそ1.8%にまで下がり、6.0%から大幅に改善されたと言えます。つまり、因子にはばらつきがなく、特定の値に固定できるものとして得られた最適設定は、因子にばらつきがあるとして得られた最適設定とは一致しないことがわかります。
[シミュレーション実験]を実行すると、不適合率を最小にする「反応温度」「反応時間」の設定が特定できます。それには、「反応温度」「反応時間」を使った計画の各計画点で不適合率をシミュレートし、求められた不適合率に予測モデルをあてはめ、そして不適合率を最小化するような「反応温度」「反応時間」を求めます。
16.
「シミュレータ」の赤い三角ボタンのメニューにある[シミュレーション実験]をクリックします。
結果は図7.27 のようになります。シミュレーションでは乱数が使われるため、実際の結果は多少異なります。「Gauss過程」プラットフォームでは、自動的に「予測プロファイル」が起動します。
図7.27 「Gauss過程」であてはめたモデル
19.
不適合率が最小になる「反応温度」「反応時間」を特定するため、「予測プロファイル」の赤い三角ボタンのメニューから[最適化と満足度]>[満足度の最大化]を選択します。
図7.28 不適合率を最小化する設定
不適合率を最小にする設定は、「反応温度」がおよそ526、「反応時間」がおよそ0.3です。
20.
これで、元の「プロファイル」レポートウィンドウの「温度」「時間」が不適合率を最小化する値に設定されます。
22.
「予測プロファイル」の赤い三角ボタンのメニューから、[因子設定]>[設定を記録]を選択します。
23.
「最小不適合率]と入力し、[OK]をクリックします。
図7.29 不適合率が最小になる設定
24.
新しい設定が記録されたところで、[シミュレート]ボタンをクリックし、不適合率を推定します。
図7.30 不適合率の低下
不適合率は約0.05%になり、「収率」の最大化を目標としたときの約6.0%に比べ、大幅に改善されています。その改善率はおよそ120倍にもなります。最初の設定では、「収率」の平均が0.60でした。新しい平均は0.59です。0.01という下げ幅は、不適合率が120倍も改善されることを考えれば、許容できる値です。
25.
各設定のプロファイルを見るには、[設定の記録]レポートにあるラジオボタンをクリックします。
図7.31 設定の比較
これで、どの設定を使用すれば工程の品質が向上するかが判明しました。因子にばらつき(変動)がないなら、温度を高く、時間を短くすれば「収率」が最大になります。しかし、工程の入力因子に、この例で行ったシミュレーションのようなばらつきがある場合は、「収率」を最大にすると不適合率まで高くなってしまいます。そのため、因子にばらつきがある場合に不適合率を最小化するには、温度を低く、時間を長くする必要があります。