
![]()
2009-02-27
今回は、計算最適化システム IOSO の機能を紹介します。 最適化はシミュレーションの中でも歴史が長く、多くの計算手法が提案されてきました。 適用分野をCAEに焦点を絞った場合、計算機負荷が大きいという問題への対処が第一課題となります。 この命題を踏まえて、IOSOは応答曲面法(RSM: Response Surface Method)を採用しています。 本文では、既往の計算技法の現状分析を行った後、Indirect Optimizationの概念と計算実施例を数回の分冊にて解説いたします。
公開モジュールIOSO-NMはMulti-Objective、即ち多目的関数用モジュールを意味します。 開発元のSIGMA社はNMに先行してIOSO-NS[1]を開発しました。このコードはSingle-Objective、即ち単目的関数用の最適化コードです。
CFD, FEA等を用いたCAEに使用される最適化の方法は
に大別されます。 手法[Ⅰ]は数理解析法であり基礎理論が体系化され、適用範囲や計算機負荷などを、或る程度までは推定できます。 この計算技法の歴史は長く、CAEのアプリケーション・プログラムの付属モジュールとして搭載されている場合も有ります[2] [3]。
例えば、汎用流体解析ソフト CFD-ACE+[2]は
を標準装備しています。
上記の決定論的手法を適用する場合、
等の課題に留意する必要が有ります。 (「多目的関数、Pareto問題」に関しては、本News-Letter第3号、「§3 多目的関数(MOモジュール)」の項を御参照下さい)
他方、確率論的手法[Ⅱ]は上記の問題点[2]の解決を図るものであります。 多目的関数の大域的最適解を得る代表的な手法として「遺伝的アルゴリズム」(GA:Genetic Algorithm)が挙げられます。
此処で、CAEを計算機負荷の観点で振り返ってみます。 CFDは本質的に非線形問題です。機器の幾何形状や流入速度、壁面温度などの入力パラメータの数値を固定した単独のケースに付いて、数百回から数千回の反復計算を必要とします。 FEAも接触問題や大変形解析、弾塑性解析の場合は同様に反復計算が必要です。 非定常解析の計算機負荷の大きさは言う迄も有りません。
制約条件を満たす許容領域(feasible region)の探索を行い、より適切な解の方向を学習するためには、計算機内部で数十ケースから、場合に依っては百ケース以上の候補の探索を繰り返す事になります。 確率論的手法[Ⅱ]では、この計算機負荷の大きい事がボトルネックとなります。 従って目的関数の評価のために、直接にCFDやFEMの計算を行うDirect Callの頻度を低減する事が設計支援の「ツール」として必須の条件となります。 この命題に応えるのがIOSO(Indirect Optimization on the basis of Self-Organization)です。
IOSOの計算技法の特徴は
です。
アプリケーション・プログラムとしての特徴は、
「GA(遺伝的アルゴリズム)」の場合、突然変異の頻度など、個々の解析対象に相応した調整が必要な場合も有ります。
他方IOSOのGUIには、ユーザーの属人的な設定に陥り易い項目は有りません。 RSMのサンプル数や、制約条件の処理に必要な計算技法上の設定はIOSOがプログラム内部で行います。 GUIで必要な設定は
程度の一般的な事項です。通常はdefaultの設定で問題は有りません。
![]()
図4-1 アルゴリズムに関する設定画面 (クリックすると拡大します)
CAEに直接関係のない「アナロジ」に関する知識を必須としません。即ち
などの周辺知識を必要としません。(注:GMDH法に関しては、後掲予定のAppendix-91「用語解説」を御覧下さい)
IOSOのSO(自己組織化)の機構はNN(ニューラルネット)の情報伝達回路の相互作用によって進化しますが、CAEのユーザはNN法の数理的背景を知悉する必要は有りません。 学習・推論の具体的な手続きはプログラム内部で処理されます。
上記を具体的に説明するために、数理計画法の代表的なベンチマーク問題を用いて検証します。
文献[4]で紹介された「4変数のRosenbrock関数の最小値」の問題を採り上げます。 課題の式を再記します。 (本文を再引用の場合は、原文献[4]の出典・著者を明記し、著作権の保護に御留意下さい。)
Eq.(5-4)は、㈱シムサイドが追加した条件です。各種文献のRosenbrock問題の解説では通常、この範囲でベンチマークを行っています。
文献[5]では、2変数のRosenbrock関数は最適値の近傍で峡谷の如く急峻な勾配を持つ事が図示されています。此れは関数形の性質と理論値の予備知識が無ければ、適切な初期値の設定が困難である事を示します。 文献[4]の設題は、此れに加えて更に過酷な条件を課しています。即ち
という設題です。上記の条件 a.は、文献[4]では許容領域は「殆んど線分」である事が図示されています。此れと斜交する峡谷状の近傍は極めて狭小となります。
設計変数が最適値、xj=1, (j=1,4) に到達した極限では、制約条件Eq.(5-2)の右辺も、g(x)≒0に急接近します。 従って、制約条件Eq.(5-2)は収束過程で探索範囲を拘束する効果のみを持ち、最適化条件は右辺の上限の定数(0.5)に依存せずに成立すべき束縛項です。設題は細部が工夫されています。 右辺の定数が小さい程、許容領域は狭小であり過酷な問題となります(殆んど「点」になります)。
設計変数
目的関数と制約条件
計算を開始する時点で、初期サンプルをプログラム内部で生成します。従って、「適切な初期値の推定」と云う、ユーザーにとって難しい作業は有りません。 Eq.(5-4)の上下限の範囲では図5-2が生成されます。

図5-2 初期サンプルの位置と目的関数の大きさ(クリックすると拡大します)
![]()
図5-3 設計変数 x1 の収束状況(クリックすると拡大します)
![]()
図5-4 目的関数 f(x) の収束状況(クリックすると拡大します)
![]()
図5-5 制約関数 g(x) の推移状況(クリックすると拡大します)
以上により、IOSOは
等、シミュレーション・ソフトの要件を満足する事を示しました。