遺傳算法求函數(shù)極大值(matlab實現(xiàn))_第1頁
遺傳算法求函數(shù)極大值(matlab實現(xiàn))_第2頁
遺傳算法求函數(shù)極大值(matlab實現(xiàn))_第3頁
遺傳算法求函數(shù)極大值(matlab實現(xiàn))_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、遺傳算法求函數(shù)最大值(matlab實現(xiàn))一、 題目:尋找f(x)=x2,當x在031區(qū)間的最大值。二、 源程序:%遺傳算法求解函數(shù)最大值%本程序用到了英國謝菲爾德大學(Sheffield)開發(fā)的工具箱GATBX,該工具箱比matlab自帶的GATOOL使用更加靈活,但在編寫程序方面稍微復雜一些Close all;Clear all;figure(1);fplot('variable*variable',0,31); %畫出函數(shù)曲線%以下定義遺傳算法參數(shù)GTSM=40; %定義個體數(shù)目ZDYCDS=20; %定義最大遺傳代數(shù)EJZWS=5; %定義變量的二進制位數(shù)DG=0.9;

2、%定義代溝trace=zeros(2, ZDYCDS); %最優(yōu)結果的初始值FieldD=5;-1;2;1;0;1;1; %定義區(qū)域描述器的各個參數(shù)%以下為遺傳算法基本操作部分,包括創(chuàng)建初始種群、復制、交叉和變異Chrom=crtbp(GTSM, EJZWS); %創(chuàng)建初始種群,即生成給定規(guī)模的二進制種群和結構gen=0; %定義代數(shù)計數(shù)器初始值variable=bs2rv(Chrom, FieldD); %對生成的初始種群進行十進制轉換ObjV=variable*variable; %計算目標函數(shù)值f(x)=x2while gen<ZDYCDS %進行循環(huán)控制,當當前代數(shù)小于定義的最大

3、遺傳代數(shù)時,繼續(xù)循環(huán),直至代數(shù)等于最大遺傳代數(shù) FitnV=ranking(-ObjV); %分配適應度值 SelCh=select('sus', Chrom, FitnV, DG); %選擇,即對個體按照他們的適配值進行復制 SelCh=recombin('xovsp', SelCh, 0.7); %交叉,即首先將復制產(chǎn)生的匹配池中的成員隨機兩兩匹配,再進行交叉繁殖 SelCh=mut(SelCh); %變異,以一個很小的概率隨機地改變一個個體串位的值 variable=bs2rv(SelCh, FieldD); %子代個體的十進制轉換 ObjVSel=var

4、iable*variable; %計算子代的目標函數(shù)值 Chrom ObjV=reins(Chrom, SelCh, 1, 1, ObjV, ObjVSel); %再插入子代的新種群,其中Chrom為包含當前種群個體的矩陣,SelCh為包好當前種群后代的矩陣 variable=bs2rv(Chrom, FieldD); %十進制轉換 gen=gen+1; %代數(shù)計數(shù)器增加 %輸出最優(yōu)解及其序號,并在目標函數(shù)圖像中標出,Y為最優(yōu)解,I為種群的%序號 Y, I=max(ObjV);hold on; %求出其最大目標函數(shù)值 plot(variable(I), Y, 'bo'); trace(1, gen)=max(ObjV); %遺傳算法性能跟蹤 trace(2, gen)=sum(ObjV)/length(ObjV);end%以下為結果顯示部分,通過上面計算出的數(shù)值進行繪圖variable=bs2rv(Chrom, FieldD); %最優(yōu)個體進行十進制轉換hold on, grid;plot(variable,Ob

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論