遺伝的アルゴリズム(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が成立する範囲で内部的に選択される必要があります。
エラー処理と終了
- Fekoソルバーの最大実行回数に達したとき
- 現行世代の染色体間の標準偏差が十分に小さくなったとき
- 最適化目標に達したとき
CADFEKOバッチメッシングツールまたはPREFEKOでの再評価とメッシングで、パラメータの特定の組み合わせを処理していて発生した障害は、適切なエラーメッセージが.logファイルに書き込まれることによって処理されます。つづいて、障害の原因となったパラメータを置き換える新しいランダムなパラメータの組み合わせが計算されます。この技法の特性上、これらのパラメータはパラメータ空間に定義された境界の範囲に自然に収まる値となります。
GA法のテキストログ
最適化では、OPTFEKOによって最適化プロセスのテキストログがプロジェクトの.logファイルに保持されます。このファイルの構造は主に最適化手法によって決まります。
========================= 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
=============== 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\
=============== 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
=============== 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