いわて駐在研究日誌

OpenCAE、電子工作、R/C等、徒然なるままに

最適化手法の勉強

DAKOTAを使えるだけではなくて、ちゃんと最適化手法を勉強せんとあかんなということで、まとめてみる。言葉だけだと、なんか分かりにくいかもしれないが...。

 

  1. 勾配法のほうが最適解を求めるのは早いが、複数の最適解が存在する場合や、応答曲面にノイズが乗っかっているような場合は、過剰な勾配評価により必ずしも大域的最適解には到達できない。
  2. 問題にもよるが、GAやPSOのような大域的最適化手法のほうが大域的最適解を見出す可能性が大きく、かつロバストである。ただし、試行・評価回数は増えてしまい、計算時間は増大する。
  3. 形状最適化によく用いられるのはSurrogate Based MOGAというもので、多目的関数のパレート解を得るMOGAに、近似応答曲面(Surrogate response surface)を併用するものである。
  4. もともとMOGA自体は、多目的関数のグローバル最適化に向いた手法であるが、大域的最適解を見つけるには上述のように多数回の評価が必要であることから、厳密な応答曲面での評価ではなく、近似応答曲面をまず見つけ、そこでの最適化を評価し(少ない試行回数・サンプル数で)、その結果からさらに応答曲面の近似精度を上げていく。これを繰り返す。
  5. 結果的に、トータルの評価回数を大きく減らすことが可能

※ GAとかのアルゴリズムはまた別に勉強せんとな。