関数[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