實(shí)驗(yàn)一-基于遺傳算法的函數(shù)優(yōu)化_第1頁(yè)
實(shí)驗(yàn)一-基于遺傳算法的函數(shù)優(yōu)化_第2頁(yè)
實(shí)驗(yàn)一-基于遺傳算法的函數(shù)優(yōu)化_第3頁(yè)
實(shí)驗(yàn)一-基于遺傳算法的函數(shù)優(yōu)化_第4頁(yè)
實(shí)驗(yàn)一-基于遺傳算法的函數(shù)優(yōu)化_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

人工智能實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一基于遺傳算法的函數(shù)優(yōu)化1、實(shí)驗(yàn)?zāi)康恼莆誐atlab子函數(shù)的編寫與調(diào)用。理解基本遺傳算法的原理,并利用程序?qū)崿F(xiàn)利用遺傳算法優(yōu)化非線性函數(shù)的解。2、實(shí)驗(yàn)內(nèi)容與實(shí)驗(yàn)要求掌握基本遺傳算法方法原理。掌握matlab子函數(shù)的編寫方法及調(diào)用方法。根據(jù)基本遺傳算法方法原理,編寫Matlab程序,優(yōu)化非線性函數(shù)的解。設(shè)f(x)=,求maxf(x),x?[-2,2],解的精度保留二位小數(shù)。3、實(shí)驗(yàn)要求自己獨(dú)立編寫Matlab函數(shù)。書(shū)寫實(shí)驗(yàn)報(bào)告。分析實(shí)驗(yàn)結(jié)果,用圖或表描述出迭代次數(shù)與適應(yīng)度函數(shù)值的關(guān)系曲線。4、實(shí)驗(yàn)設(shè)備計(jì)算機(jī)Matlab軟件5、實(shí)驗(yàn)結(jié)果及分析(1)編碼和產(chǎn)生初始群體首先需要確定編碼的策略,也就是說(shuō)如何把[-2,2]區(qū)間內(nèi)的數(shù)用計(jì)算機(jī)語(yǔ)言表示出來(lái)。采用二進(jìn)制形式來(lái)解決編碼問(wèn)題,即將某個(gè)變量值代表的個(gè)體表示為一個(gè){0,1}二進(jìn)制串。串的長(zhǎng)度取決于求解的精度,例如假設(shè)求解精度為保留兩位小數(shù),由于區(qū)間[-2,2]的長(zhǎng)度為4,則必須將該區(qū)間分為400等分。因?yàn)?8<400<29,所以編碼所用的二進(jìn)制串至少需要9位。編碼:二進(jìn)制串(b8b7b6…b1b0)與[-2,2]內(nèi)實(shí)數(shù)的一一映射:b8b7b6…b1b0二進(jìn)制串a(chǎn)=<101000111>其對(duì)應(yīng)的十進(jìn)制數(shù)為:轉(zhuǎn)化到[-2,2]內(nèi)的實(shí)數(shù)為:產(chǎn)生初始群體:pop1={<100011110>,%a1<001000010>,%a2<110000000>,%a3<110000101>}%a4轉(zhuǎn)化成[-2,2]之間的十進(jìn)制數(shù)即為:pop1={0.24,-1.48,1.01,1.05}(2)定義適應(yīng)函數(shù)和適應(yīng)值由于目標(biāo)函數(shù)f(x)在[-2,2]內(nèi)的值有正有負(fù),所以必須通過(guò)建立適應(yīng)函數(shù)與目標(biāo)函數(shù)的映射關(guān)系,保證映射后的適應(yīng)值非負(fù),而且目標(biāo)函數(shù)的優(yōu)化方向應(yīng)對(duì)應(yīng)于適應(yīng)值增大的方向,也為endendcleari;clearj;%函數(shù)調(diào)用2%計(jì)算出適應(yīng)函數(shù)值g(x)%原函數(shù)f(x)=-x^2-4x+1%取Fmin=-1%g(x)=-x^2-4x%value是pop種群中每個(gè)個(gè)體的適應(yīng)值%并將value中小于零的數(shù)都賦值為零functionfitness()globalpop;globalvalue;fori=1:400value(i)=0.;forj=1:9ifpop(i,j)==1value(i)=value(i)+pop(i,j)*2^(j-1);endendvalue(i)=-2.+value(i)*4./(2^9-1);value(i)=-value(i)*value(i)-4.*value(i);ifvalue(i)<=0value(i)=0;endendcleari;clearj;%函數(shù)調(diào)用3%求value的平均值%popl是各數(shù)的出現(xiàn)的概率%table中的最后一個(gè)值是所有的value值之和%保存最優(yōu)的個(gè)體functioncalculate()globalpop;globaltable;globalpopl;globalvalue;globalavg;globalbest_in;%table的初始化fori=1:400table(i)=0.;end%求最大的value值的個(gè)體的序列號(hào)max,并把最優(yōu)個(gè)體放在best_in中max=1;fori=1:399ifvalue(i+1)>value(i)max=i+1;endendforj=1:9best_in(j)=pop(max,j);end%求所有value值的總和加到table中求出平均值avg1,再求出均值個(gè)體的出現(xiàn)概率avgfori=1:400ifi==1table(i)=table(i)+value(i);elsetable(i)=table(i-1)+value(i);endendavg1=table(400)./400;avg=avg1./table(400);%求value中每個(gè)個(gè)體出現(xiàn)的概率并且保留在popl中fori=1:400popl(i)=value(i)./table(400);endfori=1:400ifpopl(i)<avgforj=1:9pop(i,j)=best_in(j);endendendcleari;clearq;clearj;cleark;cleartemp;clearmax;clearavg1;%函數(shù)調(diào)用4%將popl(i)=0的個(gè)體除去,并補(bǔ)上其相鄰的不為0的pop%將新產(chǎn)生的群pop_new最終復(fù)制到popfunctionselection()globalpop;globalpopl;globalbest_in;pop_new(400,9)=0.;fori=1:400ifpopl(i)==0forj=1:9pop_new(i,j)=best_in(j);endelseforj=1:9pop_new(i,j)=pop(i,j);endendendfori=1:400forj=1:9pop(i,j)=pop_new(i,j);endendcleari;clearj;clearm;clearn;%函數(shù)調(diào)用5%單點(diǎn)交叉操作%pop_size:種群大小%chromo_size:染色體長(zhǎng)度%cross_rate:交叉概率functioncrossover()globalpop%設(shè)置交叉概率為0.6cross_rate=0.6;fori=1:2:399if(rand<cross_rate)cross_pos=round(rand*9);ifor(cross_pos==0,cross_pos==1)continue;endforj=cross_pos:9temp=pop(i,j);pop(i,j)=pop(i+1,j);pop(i+1,j)=temp;endendendcleari;clearj;clearcross_pos;cleartemp;%函數(shù)調(diào)用6%單點(diǎn)變異操作%pop_size:種群大小%chromo_size:染色體長(zhǎng)度%cross_rate:變異概率functionmutation()globalpop;%設(shè)置變異概率為0.01mutate_rate=0.01;fori=1:400ifrand<mutate_ratemutate_pos=round(rand*9);ifmutate_pos==0continue;endpop(i,mutate_pos)=1-pop(i,mutate_pos);endendfori=1:400forj=1:9pop(i,j)=pop(i

溫馨提示

  • 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)論