遺伝的アルゴリズムGA(ヤギツールボックス)

 

関数[POP] = initializega(NUM、境界、eevalFN、eevalOps、オプション)

出力パラメータ:

初期集団はポップを生成しました

入力パラメータ:

人口NUMでの個体数

変数行列の代わりに範囲の上限および下限

eevalFNフィットネス機能

適合関数に渡されたパラメータをeevalOps

フォーム(浮動小数点コードまたはバイナリコード)符号化されたオプションを選択

  ときに指定された変数のバイナリ符号化精度精度

 

関数[X、endPop、bPop、traceInfo] = GA(境界、evalFN、evalOps、startPop、オプト、... 
termFN、termOps、selectFN、selectOps、xOverFNs、xOverOps、mutFNs、mutOps)

出力パラメータ:

最適解が得られたX

人口たendPop

人口bPopの最適な弾道を検索

入力パラメータ:

行列変数の境界の代わりに境界

evalFNフィットネス機能

適合関数に渡されたパラメータをevalOps

初期集団をstartPop

OPTS [イプシロンprob_ops表示](1:2)オプトinitializegaパラメータに相当するオプション、第三のパラメータが制御する典型的出力、0か否かを判断します。

[1E-6 1 0]

関数名のtermFN終了

termOps伝達関数パラメータ終了

関数の名前を選択しますselectFN

selectOps転送パラメータ選択機能

CROSS関数名テーブルxOverFNs

関数テーブルクロスに渡されたパラメータをxOverOps

mutFNsのバリオグラムテーブル

 

 

 

Fを求める1(X)= X + 10 * SIN(5X)+ * COS(4X) 7の最大値は、0 <= X <= 9
10、バイナリ、バイナリコード長、集団としての個体数の両方20、交叉確率0.95、0.08突然変異確率

関数[ゾル、評価] =フィットネス(ゾル、オプション)
X =ゾル(1)。
評価= X + 10 * SIN(5 * X)+ 7つの* COS(4 * X)。
終わり

 

>> initPop = initializega(10、[0 10]、 'トレーニング')。
[X endPop、bPop、トレース] = GA([0 10]、 'トレーニング'、[]、initPop、... 
  [1E-6 1 1]、 'maxGenTerm'、25 'normGeomSelect'、... 
  [ 0.08]、[ 'arithXover']、[2]、 'nonUnifMutation'、[2 25 3])。

BPop >>

bPopは=

    1.0000 9.3320 20.3311
    4.0000 7.8404 24.8068
    9.0000 7.8448 24.8296
   11.0000 7.8467 24.8373
   13.0000 7.8565 24.8554
   25.0000 7.8565 24.8554

>> X

X =

    7.8565は24.8554
xは7.8565、Fである場合(x)の最大値をとる24.8554

 

おすすめ

転載: www.cnblogs.com/zuiaimiusi/p/11302690.html