基本的な理論:遺伝的アルゴリズムを模倣する生物進化にある最適なソリューションは、自然淘汰は、再生、クロスオーバーや突然変異と遺伝的発生の現象をシミュレートします。これは、最初の表現の組からの潜在的な解決策の集団であり、そして個々の成分をコードする遺伝子の特定の番号の後に集団によってもよいです。人口は、それがより多くのグループになって、より良い環境に適応した個人のグループで得られた「少しの勝利の適者生存、排除の生存、」ルールの進化に応じて、各個人の推定適応度を選択、交叉と突然変異の操作を繰り返し、1最適解の進化の方向、および要件を満たすために、最適な解を得るために復号された最高の個々の最後に最後の人口。
最適化問題(1)の単項機能
遺伝的アルゴリズムに+3.5 [-1,2.5]間隔の最大で算出関数f(x)= xcos(5Πx)。
ハミング崖を避けるために、我々は購買0.9、60遺伝性代数の最大値を使用して、グレイコード、50人、20個の質問それぞれの長さのそれぞれの人口規模を選びました。
F(X)= xcos(5Πx)+3.5:
関数y = fun_sigv(X) 及び = X * COS(。5 * PI * X)+ 3.5。
遺伝的アルゴリズム:
= opt_minmax 1 ;%目的最適化タイプ:最大- 最小にするために1 num_ppu = 50 ;%の集団サイズ:個々の数 num_gen = 60 ;%の最高の遺伝子生成 len_ch = 20することである。%の遺伝子の長 GAP = 0.9 ;%のギャップの サブ = - 1 ;%変数の限界値 まで = 2.5 ;%の可変上限値 cd_gray = 1 ;%グレイ符号化の選択は次の場合:1 0なしで sc_log = 0 ;%対数スケールを選択するかどうかは:1である0 NO トレースは、ゼロ(num_gen = 2);%反復遺伝子パフォーマンス追跡 fieldd = [len_ch;サブ;アップ; 1 -cd_gray; sc_log; 1 ; 1 ];%の面積記述子 CHROM = crtbp(num_ppu、len_ch);%初期生成人口 k_gen = 0 ; X = bs2rv(CHROM、fieldd); %の10進の翻訳初期母集団 fun_v%; = fun_sigv(X)計算された目的関数値 TX =サブ:01 :アップ、 プロット(TX、fun_sigv(TX)) は、xlabel(' X ' ) ylabelの(' Y ' ) タイトル(' 一つの機能最適化の結果' ) ON HOLD ながら k_gen < num_gen fit_v =ランキング(-opt_minmax * fun_v);%計算フィットネス目標関数 selchrom = SELECT(' RWS '、CHROM、fit_v、GAP);%使用してルーレットオプション selchrom = recombin(' xovsp '、selchrom);%クロス selchrom = MUT(selchrom);%の変動 X = bs2rv(selchrom、fieldd);%子孫翻訳 fun_v_sel = fun_sigv(X);%子孫に対応する目的関数値を計算し 、[CHROM、fun_v]手綱=(CHROM、selchrom、1、1、opt_minmax fun_v *、* opt_minmax fun_v_sel);%目的関数は、子孫の新しい人口を挿入します [F、ID] = MAX(fun_vを);%が最適解にこの集団を見つける X = bs2rv(CHROM、fieldd); F = F * opt_minmax; fun_v = fun_v * opt_minmax。 k_gen = k_gen + 。1 ; トレース(k_gen、1。)= F; トレース(k_gen、2)= 平均(fun_v); エンド プロット(X(ID)、F、' R&LT * ' ) 図 プロット(トレース(:、1) 、' R- * ' ); ON HOLD プロット(トレース(:、2)、'BO 「); 伝説(」各子孫集団の最適なソリューション「」子孫の人口の平均「); は、xlabel(」イテレーション「); ylabelの(」目的関数の最適化「) タイトル(」単項関数最適化プロセス" )
プロセス:
結果:
バグが解決さ:
バグ:
未定義の関数や変数「crtbp」。
ソリューション:
これは、正常に解決手順でインストールを行い、ダウンロード後にインストールシェフィールドが必要な遺伝的アルゴリズムツールボックス、の欠如です。
次のように具体的な手順は次のとおりです。
リンクします。https://pan.baidu.com/s/1ex6auJZ6Pmtk_flRGZF1iwパスワード:81nk
Gatbxは、MATLABのインストールパッケージをダウンロードすることができます。
インストール手順:ツールボックスのMATLABのインストールディレクトリのフォルダ内のファイルを抽出するgatbx.rar。MATLABを実行するには、のパスセットでgatbxツールボックスを追加することができます。