グローバルサーチオプション

最適化問題を解く際に挙がる一般的な議論として、得られた最適化解は局所的なものか大域的なものか、ということがあります。

局所近似ベースの手法(勾配ベースの最適化)は局所的最適化解に陥りやすい一方、大域的近似法(応答サーフェス手法)および探索技術的手法(遺伝的アルゴリズム)は、局所近似ベースの手法と比べると局所最適化解に陥りにくくなっています。すなわち、これらのテクニックは、より大域的な最適化解を探し出すチャンスを広げていると言えます。しかしながら、どのアルゴリズムも、求められた最適化解が実際大域的な解であることを保証することはできません。凸型最適化問題である場合に限って、最適化解が大域的解であることが保証されます。凸型最適化問題については、目的関数と制約条件のドメインが凸でなければなりません。しかし残念なことに現実的には、解が求められるほとんどのエンジニアリング問題は凸であると分かってはいません。したがって、実際の問題では、大域的な最適化解は捕えどころがないままです。異なるタイプのアルゴリズムを使っても単に、より大域的な最適化解を求めるチャンスを変化させるだけで、それを保証できるわけではありません。これらを考えると、そのようなチャンスを増大させるアルゴリズムは計算コストの犠牲を伴うことに留意することが大切です。

図 1 は、上記の凸問題の概念を示すものです。凸型最適化問題は、唯一の最小値(または最大値)を有します。この最小値(図におけるPoint A)は大域的最小値です。


図 1. 凸関数 f(x)
非凸問題を勾配ベースの手法で解いた場合、得られる最適化結果は初期設計のスターティングポイントに依存するという挙動を示します。これにより、これらのタイプのアルゴリズムは、局所的最適化解に陥りやすくします。OptiStructのバージョン11.0以降では、勾配ベースの最適化アプローチの拡張版である新しい全体検索(グローバルサーチ)が装備されています。このアプローチは、マルチスタートポイント最適化(Multiple Starting Points Optimization)と呼ばれます。この全体検索アルゴリズムは、より大域的な最適化解を求めるチャンスを増やすために、複数の開始ポイントについて設計空間の拡張的な検索を行います。初期設計の開始ポイントに依存し、n個の異なる設計開始ポイントがn個の異なる最適化ソリューションをもたらす可能性があります。また、異なる設計開始ポイントが同じ最適化ソリューションを呈する場合も大いにありえます。しかしながらこれは、求められた最適化ソリューションが大域的な最適化解であるということを意味するわけではありません。このコンセプトを図 2で示します。


図 2. 非凸関数 f(x)

-a ≤ x ≤ bの境界内にある非凸関数f(x)を考えます。設計開始ポイントAから設計を最適化すると、最適化ソリューションはPになります。同様に、開始ポイントBから設計を最適化しても、最適化ソリューションは同じくPになります。一方、初期の設計開始ポイントCから設計を最適化すると、最適化ソリューションはQになります。このことから、マルチスタートポイントアプローチを使用すると、(他のアルゴリズムのように)大域的な最適化は保証できないものの、より良い大域的な最適化を見つける可能性は高くなります。

OptiStructではグローバルサーチオプション(GSO: Global Search Option)は、寸法および形状最適化でサポートされています。

入力

グローバルサーチ最適化スタディの特定は、入力デックのI/Oセクション内のDGLOBALエントリで行われ、GSOのセットアップと実行に必要なパラメータは、DGLOBALバルクデータエントリで定義されます。

並列化

グローバルサーチオプションは、領域分割法の助けによって並列で実行されることが可能です。このプロセスでは、スタートポイント(NPOINT)がDDM MPIプロセスに並列に割り当てられます(並列化の1つ目のレベル)。マシン上で十分なコア数が使用可能な場合、PARAM,DDMNGRPS,<ngrps>を用いてMPIプロセス(-np)をグループに分けることが可能です。スタートポイントは再度順番に割り当てられますが、今度は個々のMPIプロセスではなく、MPIプロセスグループに割り当てられます。各MPIプロセスグループはDDMの幾何分割を介してスタートポイントを解きます(並列化の2つ目のレベル)。

さらなる情報については、領域分割法(DDM)内のDDM Level 2 – 幾何分割の並列化をご参照ください。

出力

DGLOBALエントリを介して定義された複数の開始ポイントが複数の固有の設計に収束する場合、固有の各設計に対応した出力ファイルはユーザーの作業ディレクトリに保持されます。すべての開始ポイントが単一の設計に収束する場合、この共通の設計に対応する、出力ファイルの1つのセットのみが保持されます。