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

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)一-基于遺傳算法的函數(shù)優(yōu) 化人工智能實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一基于遺傳算法的函數(shù)優(yōu)化1、實(shí)驗(yàn)?zāi)康?)掌握Matl ab子函數(shù)的編寫(xiě)與調(diào)用。2)理解基本遺傳算法的原理,并利用程序?qū)崿F(xiàn)利用遺傳算法優(yōu)化非線(xiàn)性函數(shù)的解2、實(shí)驗(yàn)內(nèi)容與實(shí)驗(yàn)要求1)掌握基本遺傳算法方法原理。2)掌握matl ab子函數(shù)的編寫(xiě)方法及調(diào)用方法。3)根據(jù)基本遺傳算法方法原理,編寫(xiě)Mat lab程序,優(yōu)化非線(xiàn)性函數(shù)的解。4)設(shè)f(x) = x2 4x 1 ,求max f (x), x -2, 2,解的精度保留二位小數(shù)。3、實(shí)驗(yàn)要求1)自己獨(dú)立編寫(xiě)Matlab函數(shù)。2)書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告。3)分析實(shí)驗(yàn)結(jié)果,用圖或表描述出迭代次數(shù)與適應(yīng)度函數(shù)值的關(guān)

2、系曲線(xiàn)。4、實(shí)驗(yàn)設(shè)備1)計(jì)算機(jī)2) 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)?840029,所以編碼所用的二進(jìn)制串 至少需要9位。編碼:二進(jìn)制串 的映射:(b8b7b6b1b。)與-2, 2內(nèi)實(shí)數(shù)298xbi2ii 0b8b7b6 b 1b0二進(jìn)制串a(chǎn)=其對(duì)應(yīng)的十進(jìn)制數(shù)為:(101

3、000111)2327轉(zhuǎn)化到-2, 2內(nèi)的實(shí)數(shù)為:2 x,* 2910. 56產(chǎn)生初始群體:pop1=100011110吊% al001000010,% a2110000000,% a3% a4轉(zhuǎn)化成-2, 2之間的十進(jìn)制數(shù)即為:pop1=0.24,-1.48,1.01,1.05(2)定義適應(yīng)函數(shù)和適應(yīng)值,、f(x) Fmin,若 f (x) Fmin 0 g(x) 0,其他由于目標(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)值增大的方向,也為以后計(jì)算各個(gè) 體的入選概率打下基礎(chǔ)。定義適應(yīng)函

4、數(shù):為了便于計(jì)算,這里的 Fmin采 用了一個(gè)特定的輸入值,如果取 Fmin=-1,則 f(x)=1對(duì)應(yīng)的適應(yīng)值為 g(x)=2o上述隨機(jī)產(chǎn)生的 初始群體,取Fmin=-1,則它們的目標(biāo)函數(shù)值和適 應(yīng)值分別為:f(pop1)= -0.02, 4.73, -4.06,-4.30g(pop1)=-1.02,3.73,5.06,-5.30)(3)確定選擇標(biāo)準(zhǔn)1用適應(yīng)值比例來(lái)作為入選概率。2設(shè)給定的規(guī)模為400的群體pop=ai, a2,. a400,個(gè)體ai的適應(yīng)值為g(a),則其入選概 率為R(a)40g(a) (i 1,2,3,., 400)g(a) i 1上述隨機(jī)產(chǎn)生的初始群體,它們的入選概率

5、分別為:p(pop1)=g(pop1)/sum(g(pop1)=0,1,0,0)(4)產(chǎn)生種群3將入選概率大的個(gè)體選入種群,淘汰概率小的 個(gè)體,并用概率最大的個(gè)體補(bǔ)入種群,得到與原 群體大小同樣的種群。 TOC o 1-5 h z 4在上述隨機(jī)產(chǎn)生的初始群體中,淘汰掉a3,再加入a2,得到新的種群(選擇):newpop1=,%a1001000010,%a2001000010,%a2)%a4交叉:5交叉也就是將一組染色體上對(duì)應(yīng)基因段的交 換得到新的染色體,然后得到新的染色體組, 組成新的群體。6將前面得到的 newpopl的四個(gè)個(gè)體兩兩配 對(duì),重復(fù)的不配對(duì),進(jìn)行交叉(可以在任一位 進(jìn)行交叉):變

6、異:變異就是通過(guò)一個(gè)小概率改變?nèi)旧w位串上 的某個(gè)基因。7現(xiàn)把jchpopl中第3個(gè)個(gè)體中的第 5位改 變,就產(chǎn)生了變異,得到了新的群體pop2 :pop2=,然后對(duì)新的種群重復(fù)上述的選擇、 交叉、變異,直 到滿(mǎn)足終止條件為止。(5)實(shí)驗(yàn)結(jié)果:6、附錄(Matlab函數(shù))%fi傳算法主函數(shù)%q:輸出最佳個(gè)體自變量值 名迭代次數(shù)為400function q=GA()global best_in;global g_value;%K始化initilize();%初始化最佳個(gè)體的適應(yīng)函數(shù)值for i=1:400g_value = 0.;end%迭代開(kāi)始for k=1:1:100fitness(); %

7、適應(yīng)函數(shù)操作calculate。;對(duì)出現(xiàn)概率小的個(gè)體進(jìn)行淘汰,并保留最佳個(gè)體best_in的信息%計(jì)算每一次迭代中最佳個(gè)體的適應(yīng)函數(shù)值aa,并賦給g_value(i)aa=0.;for j=1:9aa = aa+best_in(j).*2A(j-1);endg_value(k)=aa;selection();%選擇操作crossover();%交叉操作mutation();%變異操作endplotGA();% 打印算法迭代過(guò)程%獲得最佳個(gè)體變量值q = 0.;for j=1:9q = q+best_in(j).*2A(j-1);endq = -2+q*4./(2A9-1);q=-qA2-4*q

8、+1;%g果展示fprintf(最大值為:%3.2fn,q);clear i;clear j;clear q;%調(diào)用函數(shù)1附始化種群pop%種群大小400%染色體長(zhǎng)度9%ran時(shí)隨機(jī)數(shù)%rouncK 整function initilize()global pop;for i=1:400for j=1:9pop(i,j)=round(rand);endendclear i;clear j;%函數(shù)調(diào)用2%計(jì)算出適應(yīng)函數(shù)值g(x)與函數(shù) f(x)=-xA2-4x+1%. Fmin=-1%g(x)=-xA2-4x%value是pop種群中每個(gè)個(gè)體的適應(yīng)值%將value中小于零的數(shù)都賦值為零functi

9、on fitness()global pop;global value;for i=1:400value(i) = 0.;for j=1:9if pop(i,j)=1value(i)= value(i)+pop(i,j)*2A(j-1);endendvalue(i)=-2.+ value(i)*4./(2A9-1);value(i)=-value(i)*value(i)-4.*value(i);if value(i)value(i)max=i+1;endendfor j=1:9best_in(j)=pop(max,j);end%求所有value值的總和加到table中求出平均值avg1,再求出

10、均值個(gè)體的出現(xiàn)概率 avgfor i=1:400if i=1table(i)=table(i)+value(i);elsetable(i)=table(i-1)+value(i);endendavg1=table(400)./400;avg=avg1./table(400);%(tvalue中每個(gè)個(gè)體出現(xiàn)的概率并且保留在 popl中for i=1:400popl(i)=value(i)./table(400);end for i=1:400if popl(i)avgfor j=1:9pop(i,j)=best_in(j);endendendclear i;clear q;clear j;cle

11、ar k;clear temp;clear max;clear avg1;%函數(shù)調(diào)用4%等popl (i ) =0的個(gè)體除去,并補(bǔ)上其相鄰的不為0的pop%等新產(chǎn)生的群pop_newM終復(fù)制到popfunction selection()global pop;global popl;global best_in;pop_new(400,9)=0.;for i=1:400if popl(i)=0for j=1:9pop_new(i,j)=best_in(j);endelsefor j=1:9pop_new(i,j)=pop(i,j);endendendfor i=1:400for j=1:9po

12、p(i,j)=pop_new(i,j);endendclear i;clear j;clear m;clear n;%函數(shù)調(diào)用5%單點(diǎn)交叉操作%pop_size:種群大小%chromo_size: 染色體長(zhǎng)度%cross_rate: 交叉概率function crossover()global pop%設(shè)置交叉概率為0.6cross_rate=0.6;fo門(mén)=1:2:399if(rand cross_rate)cross_pos = round(rand * 9);if or (cross_pos = 0, cross_pos = 1) continue;endfor j=cross_pos:

13、9temp = pop(i,j);pop(i,j) = pop(i+1,j);pop(i+1,j) = temp;endendendclear i;clear j;clear cross_pos;clear temp;%函數(shù)調(diào)用6%單點(diǎn)變異操作%pop_size:種群大小%chromo_size: 染色體長(zhǎng)度%cross_rate: 變異概率function mutation() global pop;%設(shè)置變異概率為0.01mutate_rate=0.01;for i=1:400if rand mutate_ratemutate_pos = round(rand*9);if mutate_pos = 0 continue;endpop(i,mutate_pos) = 1 - pop(i, mutate_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論