2. 数値計算による最適化

Design-Expertの数値計算による最適化は、次に示す対象を最大化、最小化、または、目標にすることができます:

画面左側にある Optimization ブランチにある “Numerical” ノードをクリックしてこれを開始しましょう。

数値計算による基準の設定例

 

最適化基準の設定

Design-Expert では、因子と誤差の伝播(POE)を含むすべての変数に関して基準を設定することができます(POE に関しては後ほど説明します)。因子の範囲は、プログラムによって要因の水準(コード化された値ではプラス1からマイナス1に対応)、すなわち、この実験計画で最も正確な予測が期待される範囲に限定されます。応答の範囲はデフォルトで実測値の両極値に限定されます。この事例の場合は、time(時間)、temperature(温度)、catalyst(触媒)の各因子の基準についてはデフォルトの指定のままにしておくことになりますが、応答の基準に関しては若干の変更を加える必要が出てきます。

それでは、数値計算による最適化で最も大切な段階、すなわち、最適化パラメータの割り当てに入りましょう。このプログラムでは、目標とする望ましさの指標(di)に次の5つの可能性を使います。

望ましさの値の範囲は、いずれの応答についても 0 から 1 の値をとります。プログラムは、個々の望ましさをひとつの数字として集約した後、その中から全体として最も望ましい最大値を探し出します。理想的なケースは、値が1となる場合です。単一または複数の応答が望ましさの範囲から外れている場合、その値は 0 となります。Design-Expert で採用されているのは、Derringer と Suich によって開発された最適化手法です。詳細は Myers、Montgomery、Anderson-Cook 共著『Response Surface Methodology, 3rd edition』(John Wiley and Sons, New York, 2009) をご参照ください。

このチュートリアルの事例では、反応率をできるだけ高くすることが前提として求められていますので、“Conversion” をクリックし、その Goal “maximize” に指定しましょう。以下に示すように、Lower Limit は 「80」(許容できる最小値)に、Upper Limit は 「100」(理論上の最大値)に指定します。

Conversion に関する基準の設定

 

これら2つの閾値は、望ましさの方程式を正しく機能させるために必要ですので必ず入力してください。デフォルトでは、応答の実測範囲、この事例の場合、51 と 97 がこれら2つの閾値として設定されます。望ましさの上限を 100 に引き上げたことで、目標とする最大値を拡張したことになります。これを修正しなければ、目標とする最適条件に満たない条件しか見つけられないことになります。

続いて、2番目の応答 “Activity” をクリックしてください。Goal target -> とし、その値を「63」に指定します。Lower LimitsUpper Limits にはそれぞれ「60」「66」を指定します。この2つの値は、最も望ましいのは目標値 63 を実現することですが、値 60 と 66 の間の範囲も許容することをあらわします。この範囲外にある値は条件として認めません。

Activityに関する基準の設定

 

以上の設定で、望ましさに関する以下の関数が作成されました:

1. Conversion (反応率について):

2. Activity (活性について):

注意: ボタンを押せば、Numerical Optimization(数値計算による最適化)に関する Screen Tips を開き、Design-Expert ソフトウェアの高度な機能の操作に役立つアドバイスを参照できることを思い出してください。

 

望ましさの重みと変数の (相対的) 重要度の変更

各応答には上記以外にも “weights” (重み) と呼ばれるパラメータを選択することができます。重みとは、上限値や下限値、あるいは、目標値に至る変化に一層明確な強調を加えるものです。重みが 1 の場合は、望ましさの指標 (di) は 0 から 1 の間で線形的に変化します。重みが 1 よりも大きい場合 (重みの最大値は 10) は、目標に至る変化は大きくなります。重みが 1 よりも小さい場合 (重みの最小値は 0.1) は、目標に至る変化は小さくなります。

重み付けの変更について: この重みは、望ましさの傾斜に表示されたハンドル (□) をマウスで「つかむ」(クリックしてドラッグする) ことによって簡単に変更することができます。以下のように左側の正方形を下に、右側の正方形を上に動かして実際に試してみてください。
ハンドルをマウスで掴んで重みを変更
例えば、ある顧客が自分たちは目標値 63 を望んでいるが、他の指定で必要とされる基準とのトレードオフの関係によってそれを確実に達成することができない場合、仮に誤りが生じるとしても目標値よりも高い側で生じる方が良いという要望に応えようとすれば、このような設定になるかもしれません。この場を離れる前に、WeightsLowerUpper の値をそれぞれデフォルトの「 1 」「 1 」に入力しなおしてください。これで、曲線はまっすぐになり、元の「テント型」の形状 (^) に戻るはずです。

 

“Importance” は、目標を達成するために用いた一部又は全ての変数の優先順位を相対的に変更するツールです。ある変数のみを他のすべてから特に重要視したい場合は、その Importance を他よりも高く設定します。Design-Expert では、重要度の水準がプラス1 (+) からプラス5 (+++++) まで用意されています。この調査の場合、Importance フィールドは中間の +++ 設定のままにしておきましょう。重要度の基準がデフォルトの指定のままであれば、他から優先される目標は特に指定されないことになります。

次に、“Options” ボタンをクリックして、数値計算による最適化を制御して思い通りに実行させるための設定方法について学びましょう。

Optimization Options ダイアログボックス

 

Numerical Optimization(数値計算による最適化)について: “Help” を押すと、これらのオプションに関する詳細を確認することができます。次は Duplicate Solution Filter を使用した実験です。これは本質的に等しい解を取り除くための "Epsilon" (ε: 差異の最小値) を設定するものです。最適化に向けた最初の検索を実行した後、この Option に戻ってさまざまな方向にスライドしてみてください。どのような解が示されるかよく注意してください。Filter バーを右に動かすと、数が減ります。逆に、バーを左に動かすと 解が減少します。

“OK” をクリックして Optimization Options ダイアログボックスを閉じます。

 

最適化の実行

最適化を開始するには “Solutions” タブをクリックします。デフォルトで Ramps view が設定されていますので、最適な因子設定と予測応答の状況を視覚的に確認することができます。

各種の解のRamps表示
(結果は異なる場合があります)

 

プログラムは望ましい結果を求めるために探索を開始する条件のセットを無作為に選択しますので、実際に表示される結果はこれとは異なる場合があります。反復計算の回数を増やせば、それだけ複数の局所的最適解を見つける確率が高くなり、その中から他の最適解より望ましさの値が高いものを見つけ出すことができます。Design-Expert は、その結果を分かりやすいようにテーブル形式に並び変えて表示します。開始条件が無作為化されているため、実際の結果は上記に示されたレポートの内容とは若干異なる場合がありますのであらかじめご了承ください。

Ramps(ランプ)表示による各種の解について:ランプ表示は、それぞれのグラフを一目で理解できるようにまとめたものです。色づけされた各ランプの点は、その解の因子設定、もしくは、応答予測をあらわします。点の高さは、望ましさの度合いをあらわします。Factors tools“Solutions” ドロップダウンメニューからさまざまな解を表示します。それらのいくつかに目を通し、点の違いを確認してみてください。隣り合う解の間では、点の変動は非常にわずかに過ぎないかも知れません。しかし、temperature について詳しく見てみると、2つの最適解を区別することができるはずです。解リストの最初の幾つかは 90℃ 付近にあり、下にある幾つかは 80℃付近にあります。

 

Solutions Toolbar には同じ最適化を3種類の視点で表示する方法が用意されています。“Report” をクリックしてください。

数値最適化のレポート

 

次に、Solutions Tool の “Bar Graph” を選択して棒グラフを表示します。

複数の応答を最適化する解決法:望ましさの棒グラフ

 

棒グラフは、各変数が設定された基準をどれだけ満たしているかを表します。値が 1 に近いほど好ましいものとなります。

 

最適化グラフ

等高線グラフの全体的な望ましさと、すべての応答を表示するには、画面上部の “Graphs” をクリックします。Factors Tool パレット上で “C:Catalyst” を右クリックして、それを “X2 axis” に指定します。すると Temperature は値が 90 ℃ の定数因子となります(この水準は Solution #1 で自動的に選択されます)。

 

以下の望ましさのグラフのように、ドロップリストを使用して各プロットをさらに大きくして見ることもできます。

望ましさのグラフ (X2 軸を因子 C に変更)

 

上記のスクリーンショットは、グラフにグラデーションカラーが表示されています。望ましさの値は青になるほど低く、黄色になるほど高くなります。

Design-Expertでは、最適解をあらわす点にフラッグが立てられます(上部のボタンバーで選択されているように、上のスクリーンショットでは番号 “1” が選択されています)。望ましさに関する応答を見たい場合は、Response ドロップリストから目的の応答を選択してください。Conversion プロットを以下に見てみましょう。

Conversion の等高線プロット (最適解にフラッグが立てられている)

 

等高線グラフの Graph Preference について: このグラフ上で右クリックして “Graph Preferences” を選択します。Surface Graphs に移動して “Show 2D grid lines” をクリックします。
Show 2D grid lines オプション
最適解の位置は、グリッド線によって大まかに把握することができますが、より厳密な位置を知るには、フラッグを右クリックして “Flag Size” -> “Full” を選択すれば、その位置の座標に加えて、予測された結果に関するその他様々な情報を表示させることができます。フラグに表示する内容のみ表示するには、再度右クリックして “Edit Info” を選択します。
フラッグサイズの切り替えで詳細を表示

 

望ましさの曲面を3次元で表示させてみましょう。Graphs Toolbarのドロップダウンリストから再び “Desirability” を選択し、“3D Surface” をクリックしてください。次に、グラフを右クリックして、“Set rotation” を選択して、水平方向のコントロールを「170 」に変更してください。Tab キーを押すか、グラフをマウスでクリックしてください。なんて素晴らしい眺めでしょう!

望ましさの 3D プロット

 

現在、触媒水準の全範囲を通じて、望ましさが高水準を保持している山を確認できるはずです。別の言葉で言い換えると、この最適解は因子Cに対して比較的に堅牢であると言えます。

注意::グラフを右クリックして、Graph preferences を開いてください。Surface Graphs タブから 3D graph shading オプションを “Wire Frame” に変更します。
3D graph shadingをwire frameに変更
いずれにせよ、Design-Expert を使用して、プロセス因子の最も望ましい組み合わせを紙に印刷したら、それを一緒に働く人達に見せてください(是非そうしてください!)。自分で分析した結果を人に見せる最も良い方法は、紙に印刷するのではなく、お持ちのコンピュータ画面上でデモンストレーションするか、出力結果をプロジェクターに映し出し、より多くの人々がそれを見られるようにすることです。この事例の場合では、デフォルトで指定されたカラーとその他の表示スキームに戻すのが最善の選択です。これを実行するには、右クリックで Graph Preferences を選択したら、Fonts and Colors、All Graphs、Surface Graphs について “Default” ボタンをクリックしてください。
P.S. Design-Expert には非常に高いグラフ解像度のオプションが用意されています。よろしければ、試してみてください。ただし、レンダリングの処理時間がかかると感じるかもしれません(特に、3D グラフの回転中)。当然、これは、ご使用のコンピュータの処理速度と、グラフィックスカードの機能によって異なります。

次は、最適化のグラフィック表示について説明します ― プロセスの最適化のためにスィート・スポットの表示は、RSM 実験の結果を伝える方法として最も適しているといえるでしょう。