1つの目標の加重合計を使用する単一目的最適化
課題:燃料消費量(Fuel_mass)を最小限に抑えながら、エンジンラフネス(CoV)、ばい煙(Soot)、NOx(NOx_rel)などの変数を規定値以下に抑えます。
-
In/Outputs > 2D Plot Operating Points を選択します。
動作ポイントを定義する2個の変数(load と speed)が別ウィンドウに表示されます。
-
このウィンドウ内で、最適化を行う動作ポイントを指定します(例:speed = 2000 rpm、load = 2 bar)。
最適化実行中に speed と load の値が変化しないよう、これらの値をロックしておく必要があります。
-
speed と load の横にあるロックアイコン(
)をクリックします。 -
2つの入力がロックされ、アイコンがロック状態(
)になります。
入力フィールドが無効になり、プロット内の赤い点の位置が固定されます。
-
Optimization > Single Result を選択します。
Single Result Optimization ウィンドウが開きます。Output 列で最適化する出力を選択し、他の列で最適化目標を指定します。
-
Output 列の空のセルをクリックします。
-
ドロップダウンリストから Fuel_mass を選択します。
選択された出力の最適化目標として、デフォルト値が設定されます。さらに新しい空の行が追加されます。
- 同様に、他のすべての出力(CoV、Soot、NOx_rel)を選択します。
- 各出力の最適化目標を以下のように設定します。
|
Output |
目標 |
Value |
Weight |
|||
|---|---|---|---|---|---|---|
|
Fuel_mass |
Minimize |
None |
- |
- |
Constant |
1 |
|
CoV |
Bound |
Weak Upper Bound |
Constant |
5 [%] |
Constant |
1 |
|
Soot |
Bound |
Weak Upper Bound |
Constant |
0.3 [] |
Constant |
1 |
|
NOx_rel |
Bound |
Weak Upper Bound |
Constant |
30 [g/kg] |
Constant |
1 |
Single Result Optimization ウィンドウでは、さまざまな方法で最適化結果をモデル出力の有効範囲に制限することができます。
-
最適化結果が自動的にモデルの有効出力範囲内に収まるようにするには、以下のように操作します。
-
Model Validity ボタンをクリックします。
Valid Model Range ウィンドウが開きます。
- このウィンドウで、有効なモデル範囲内に制限したいエレメントを有効にします。
- OK をクリックして設定内容を確定し、Valid Model Range ウィンドウを閉じます。
-
-
入力の最小値と最大値を設定するには、以下のように操作します。
-
Input Bounds ボタンをクリックします。
Input Bounds ウィンドウが開きます。ここで入力の最小値と最大値を設定することができます。
-
Input Bounds ウィンドウで、すべての境界値を測定データに合わせるには、Fit をクリックします。
または
入力ごとに制限を設定するには、以下のいずれかを行います。
- 最適化用の有効な変動範囲("Min"/"Max")を入力します。
-
OP Dependent チェックボックスをオンにします。
入力の Map Bounds ウィンドウが開きます。ここで、グリッドポイントを操作してパラメータの変動範囲を設定することができます。
-
OK をクリックして設定内容を確定し、Input Bounds ウィンドウを閉じます。
注記
OP Dependent Input Bounds オプションを用いてパラメータの有効な変動範囲を定義する方法についての詳しい情報は、適合 を参照してください。
-
-
パラメータの変化の範囲が、指定した外殻の範囲内のデータに限定されるようにするには、以下のように操作します。
-
Hull ボタンの横のチェックボックスをオンにします。
パラメータの変化の範囲が、指定した外殻の範囲内のデータに限定されます(In/Outputs > Hull on Inputs)。現在の設定は Hull ボタンで確認できます。
-
単一目的最適化の設定を変更する
-
Single Result Optimization ウィンドウの Settings をクリックします。
Settings ウィンドウが開きます。
注記
詳細パラメータをカスタマイズするための Edit ボタンは、Advanced Parameters オプションがオンになっている場合(ASCMO-STATICの高度な設定 を参照)にのみ表示されます。
-
Start Design Type ドロップダウンリストで、最適化に使用する探索開始点を指定します。
以下の設定が可能です。
Last:ISPビューの現在の設定値が開始値になります。
Space Filling:開始値はソボルアルゴリズムにより空間充填的に選択されます。
All Edges:開始値 = 実験空間の全コーナー。母集団の残りは、ソボルアルゴリズムに従ってパラメータ空間に分散されます。
-
Number of Starts (Multi Start) 入力フィールドで、最適化の実行回数を指定できます。
グローバル最小値が必ず見つかるようにするには、さまざまな開始値を使用して複数回オプティマイザを実行する必要があります。
-
OK をクリックして設定内容を確定します。
設定が確定されます。ログウィンドウにメッセージが表示されます。
最適化を実行する
-
Single Result Optimization ウィンドウの Optimize をクリックします。
-
最適化が実行されます。
最適化の結果がISPビューの下のログウィンドウに詳しく表示され、ISP ビューに最適値が反映されます。
この結果では、燃料量以外の出力を規定値以下に抑えながら、燃料量が最小限に抑えられています。
注記
出力のモデルはトレーニングデータの前処理(外れ値の削除や反復ポイントなど)により少しずつ変わるので、実際の最適化結果は上図に表示されている結果とは少し異なっている可能性があります。
ローカル最適化の結果を保存する
-
メインウィンドウで Extras > Evaluation List > Add Current Settings to List を選択して、最適化データを保存します。
モデル評価リスト(Model Evaluation List ウィンドウ)が開き、そこに最新の最適化結果が追加されます。
- この評価リストを保存して後で利用できるようにするには、ウィンドウのメニューから File > Export を選択します。
- Save Data ウィンドウが開きます。ファイルのタイプ(*.xlsx、*.xls、*.csv、*.ascii)、パス、名前を指定し、保存 をクリックします。
動作ポイント選択時に自動的に最適化が行われるようにする
ASCMO-STATICでは、新しい動作ポイントを選択すると自動的に単一目標最適化が実行されるように設定することができます。
- 動作ポイントマネージャ(動作ポイントマネージャ(A:動作ポイント値の入力フィールド、B:動作ポイント、C:測定ポイント、D:プロットの凸包))で、Extras > Optimize On Move オプションをオンにします。
-
このプロット内をクリックして新しい動作ポイントを選択します(赤色の点)。
-
選択された動作ポイントについて、選択されている目標に基づく最適化が開始されます。