遺伝的アルゴリズム(GA)

遺伝的アルゴリズム(GA:Genetic Algorithm)オプティマイザは、ダーウィンの法則にある自然淘汰と進化の概念に基づいてモデル化された堅牢な確率論的検索手法です。粒子群最適化(PSO)手法と同様に、GAはグローバルオプティマイザに分類されます。Fekoでは、実数値遺伝的アルゴリズム(RGA:Real Genetic Algorithm)が使用されます。

GAによる最適化は、いくつかの形で自然界を模倣しています。概念的には、GAの最適化では一連の試行解(世代)が選択されます。この世代には“親”の役割が割り当てられ、これらの親から、新しい世代である“子”が導き出されます。進化的な“適者生存プロセス”で、連続する世代のそれぞれは、適合度と目標関数の条件に基づいて選択される圧力の下で最適解に近づいていきます。

母集団の規模と反復計算の回数

デフォルトでは、GA法の世代規模は20、反復計算の最大回数は50にそれぞれ設定されているので、Fekoソルバーの最大許容実行回数は1000となります。

ユーザーがソルバーの最大実行回数()を指定した場合、その値は母集団の世代規模()と反復計算の回数()に変換されますが、条件A*B Cが成立している必要があります。A は最適化問題のパラメータ数(Np)の関数として、内部的な上限値以下の範囲で選択されます。Bも、条件B 5が成立する範囲で内部的に選択される必要があります。

エラー処理と終了

次のいずれかの場合、GAアルゴリズムは自然に終了します:
  • Fekoソルバーの最大実行回数に達したとき
  • 現行世代の染色体間の標準偏差が十分に小さくなったとき
  • 最適化目標に達したとき

CADFEKOバッチメッシングツールまたはPREFEKOでの再評価とメッシングで、パラメータの特定の組み合わせを処理していて発生した障害は、適切なエラーメッセージが.logファイルに書き込まれることによって処理されます。つづいて、障害の原因となったパラメータを置き換える新しいランダムなパラメータの組み合わせが計算されます。この技法の特性上、これらのパラメータはパラメータ空間に定義された境界の範囲に自然に収まる値となります。

GA法のテキストログ

最適化では、OPTFEKOによって最適化プロセスのテキストログがプロジェクトの.logファイルに保持されます。このファイルの構造は主に最適化手法によって決まります。

セクション1:最適化設定に関する一般情報。

=========================  L O G - FILE - OPTFEKO  =========================

Version: 13.22 of 2007-05-08
Date: 2007-06-06 16:32:51
File: test

OPTIMISATION WITH Feko

=============== Optimisation variables ===============

No.  Name                                  Beg.value          Minimum          Maximum
  1 zf0                              2.000000000e+00  1.000000000e+00  1.000000000e+01



=============== Optimisation goals ===============

No.  Name                            Expression
  1 search1.goals.farfieldgoal1     farfieldgoal1
セクション2: GA法のパラメータに関する情報。
=============== Optimisation method: RGA ===============

Maximum number of iterations:                             3
Population size:                                          1
Creep mutation with probability:            5.000000000e-01
Elitism, i.e. best individual replicated into next generation
Enforce niching
Uniform crossover with probability:         5.000000000e-01
Termination at standard deviation:          1.000000000e-04
Pseudorandom number generator seed:                       1\
セクション3:反復計算ごとのパラメータ値、目標値、およびGA目標に関する情報。
=============== RGA: Intermediate results ===============

 No.  zf0              search1.goals.f  global goal      global best aim
   1  2.000000000e+00  2.267123373e-01  7.732876627e-01  7.732876627e-01
   2  1.357202892e+00  2.267123373e-01  7.732876627e-01
   3  1.095988516e+00  2.267123373e-01  7.732876627e-01
セクション4:終了の理由と最適化結果に関する情報。感度解析を完了するうえで十分な情報が得られた場合は、感度解析の結果も提供されます。
=============== RGA: Finished ===============

Optimisation finished (Maximum number of analyses reached: 3)

Optimum found for these parameters:
  zf0                            =   2.000000000e+00

Optimum aim function value (at no. 1):   7.732876627e-01
No. of the last analysis: 3

Sensitivity of optimum value with respect to each optimisation parameter,
i.e. the gradient of the aim function at 1% variation from the optimum:
Parameter                          Sensitivity
  zf0                              8.344260771e-01