全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一步:定義目標(biāo)函數(shù)即將二進(jìn)制碼的X轉(zhuǎn)為十進(jìn)制碼并轉(zhuǎn)化到實(shí)際定義域function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength);20行10列的元素為0或1的矩陣function pop2=decodebinary(pop) px,py=size(pop); px=20,py=10for i=1:py 從第一列到第10列pop1(:,i)=2.(py-i).*pop(:,i); 每一列乘2(py-1)新矩陣由二進(jìn)制轉(zhuǎn)為十進(jìn)制end pop2=sum(pop1,2);計(jì)算每一行的和(2表示第二維即行)function pop2=decodechrom(pop,spoint,length)pop1=pop(:,spoint:spoint+length-1);將pop從一到十列分別賦值給pop1%spoint待解碼的二進(jìn)制串的起始位置,此處為1,length表示所截取的長(zhǎng)度(10)pop2=decodebinary(pop1);pop2所有已轉(zhuǎn)為十進(jìn)制的每一行和即20個(gè)解function objvalue=calobjvalue(pop) temp1=decodechrom(pop,1,10); 將已定義且已轉(zhuǎn)為十進(jìn)制的pop賦值給temp1x=temp1*10/1023; 將二值域 中的數(shù)轉(zhuǎn)化為變量域的數(shù)即(0,10)objvalue=10*sin(5*x)+7*cos(4*x); 正式給出定義好的目標(biāo)函數(shù),注意此時(shí)objvalue實(shí)質(zhì)上為20個(gè)x代入而得的20 X 1的矩陣第二步:計(jì)算適應(yīng)值function fitvalue=calfitvalue(objvalue) global Cmin; Cmin=0; px,py=size(objvalue); px=20,py=1for i=1:px i從1到20if objvalue(i)+Cmin0 此處為求極大值(具體參考PPT)temp=Cmin+objvalue(i); else temp=0.0; end fitvalue(i)=temp; 即大于零的保留,小于等于零的剔除end fitvalue=fitvalue;即將列矩陣轉(zhuǎn)換為行矩陣第三步:選擇復(fù)制function newpop=selection(pop,fitvalue) totalfit=sum(fitvalue); 求得所有列的適應(yīng)值的和fitvalue=fitvalue/totalfit; 單個(gè)個(gè)體被選擇的概率 fitvalue=cumsum(fitvalue); fitvalue=1 2 3 4,則 cumsum(fitvalue)=1 3 6 10 px,py=size(pop); px=20,py=10ms=sort(rand(px,1); 產(chǎn)生20行值為(0,1)之間的隨機(jī)數(shù)并從小到大排列 fitin=1; 賦值1newin=1; 賦值1while newin=px 如果1小于1024 if(ms(newin)fitvalue(fitin) 如果ms(1) fitvalue(1)newpop(newin)=pop(fitin); newpop(1)=pop(1)newin=newin+1; newin=2else 否則fitin=fitin+1; fitin=2end 意義在于只有當(dāng)適應(yīng)值大于隨即產(chǎn)生的ms時(shí)才能被保留到newpop中end第三步:交叉function newpop=crossover(pop,pc) px,py=size(pop); px=20,py=10newpop=ones(size(pop); 產(chǎn)生20行10列的全1矩陣for i=1:2:px-1 對(duì)i從1到20,步長(zhǎng)為2if(randpc) 如果隨機(jī)數(shù)小于交叉交叉概率pccpoint=round(rand*py); cpoint=隨機(jī)數(shù)乘以10再取整 newpop(i,:)=pop(i,1:cpoint),pop(i+1,cpoint+1:py); pop第一行的1到3列與第二行的4到10列組合形成newpop的第一行newpop(i+1,:)=pop(i+1,1:cpoint),pop(i,cpoint+1:py); pop第二行的1到3列與第一行的4到10列組合形成newpop的第二行else 否則newpop(i,:)=pop(i); newpop的第一行依舊為原pop第一行newpop(i+1,:)=pop(i+1); newpop的第一行依舊為原pop第一行end end 第四步:變異 function newpop=mutation(pop,pm) px,py=size(pop); px=20,py=10newpop=ones(size(pop); newpop為20行10列的全1矩陣for i=1:px 對(duì)于i從1到20 if(randpm) 如果隨機(jī)數(shù)小于變異概率pmmpoint=round(rand*py); mpoint=隨機(jī)數(shù)與10相乘取整if mpoint=0 如果mpointbestfit 如果fitvalue(i)大于以前的bestindividual=pop(i,:); bestindividual=pop第i行bestfit=fitvalue(i); bestfit=fitvalue第i列end end 第六步:主程序popsize=20; %群體大小 chromlength=10; %字符串長(zhǎng)度(個(gè)體長(zhǎng)度) pc=0.6; %交叉概率 pm=0.001; %變異概率 pop=initpop(popsize,chromlength); %隨機(jī)產(chǎn)生初始群體 for i=1:20 %20為迭代次數(shù) objvalue=calobjvalue(pop); %計(jì)算目標(biāo)函數(shù) fitvalue=calfitvalue(objvalue); %計(jì)算群體中每個(gè)個(gè)體的適應(yīng)度 newpop=selection(pop,fitvalue); %復(fù)制 newpop=crossover(pop,pc); %交叉 newpop=mutation(pop,pc); %變異 bestindividual,bestfit=best(pop,fitvalue); %求出群體中適應(yīng)值最大的個(gè)體及其適應(yīng)值 y(i)=max(bestfit); y(i)= bestfit最大值n(i)=i; 此時(shí)的迭代次數(shù)pop5=bestindividual; 將適應(yīng)值最大的那個(gè)解賦值給pop5x(i)=decodechrom(pop5,1,chromlength)*10/1023; 將pop5翻譯成十進(jìn)制pop=newpop; 下一次從第二代開始復(fù)制
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)藝術(shù)傳播策略-洞察分析
- 云存儲(chǔ)端到端加密技術(shù)-洞察分析
- 水管供應(yīng)商移動(dòng)互聯(lián)網(wǎng)營(yíng)銷策略與新零售實(shí)踐研究-洞察分析
- 關(guān)于帶手機(jī)去學(xué)校的檢討書范文500字(7篇)
- 部編版小學(xué)語(yǔ)文六年級(jí)上冊(cè)習(xí)作《我的拿手好戲》精美課件
- 健康度假景區(qū)全攻略
- 辦公用品采購(gòu)中的合規(guī)律條應(yīng)用實(shí)例
- 創(chuàng)新型綠色教育項(xiàng)目的策劃與執(zhí)行
- 《生產(chǎn)部月報(bào)模板》課件
- 2025年煤炭汽車運(yùn)輸服務(wù)合同
- 四川省普教科研資助金課題檢測(cè)報(bào)告
- 古傳五禽戲內(nèi)功法詳解(圖)
- 粵西茂名許氏源流考
- 關(guān)于房屋裝飾裝修價(jià)值評(píng)估的探討
- 土力學(xué)基本知識(shí)完整版
- 六十仙命配二十四山吉兇選擇一覽表
- 瓷磚膠項(xiàng)目項(xiàng)目建議書寫作范本
- 小型辦公系統(tǒng)(數(shù)據(jù)庫(kù)課程設(shè)計(jì))word格式
- 模擬通信系統(tǒng)(PM調(diào)制)Matlab仿真平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 宋史·文天祥傳 閱讀附答案
- 船體結(jié)構(gòu)CM節(jié)點(diǎn)
評(píng)論
0/150
提交評(píng)論