インテリジェントなアルゴリズム:遺伝的アルゴリズム

基本的な理論:遺伝的アルゴリズムを模倣する生物進化にある最適なソリューションは、自然淘汰は、再生、クロスオーバーや突然変異と遺伝的発生の現象をシミュレートします。これは、最初の表現の組からの潜在的な解決策の集団であり、そして個々の成分をコードする遺伝子の特定の番号の後に集団によってもよいです。人口は、それがより多くのグループになって、より良い環境に適応した個人のグループで得られた「少しの勝利の適者生存、排除の生存、」ルールの進化に応じて、各個人の推定適応度を選択、交叉と突然変異の操作を繰り返し、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、11、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ツールボックスを追加することができます。

 

おすすめ

転載: www.cnblogs.com/kmxojer/p/12297880.html