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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論