(完整word版)投影尋蹤 遺傳算法MATLAB程序_第1頁
(完整word版)投影尋蹤 遺傳算法MATLAB程序_第2頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

付費下載

下載本文檔

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

文檔簡介

1、clcclearcloseallAlpha=0.1;X=load('d:data.txt');fork=1:21eval(sprintf('symsa%d',k);enda=a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21;n,p=size(X);x=zeros(n,p);Xjmax=max(X);Xjmin=min(X);fori=1:nx(i,:)=(X(i,:)-Xjmin)./(Xjmax-Xjmin);end%構(gòu)造投影指標fori=1:nZ(i)=sum

2、(a.*x(i,:);end%計算投影指標函數(shù)meanZ=mean(Z);Sa=0;fork=1:nsa=(Z(i)-meanZ).八2;Sa=Sa+sa;Sa=sqrt(Sa/n);endR=Alpha*Sa;Da=0;fork=1:nrik=abs(Z(i)-Z(k);%ifR>rikDa=Da+rik;%endendQa=Sa*Da;%選擇操作functionret=select(individuals,sizepop)individuals.fitness=1./(individuals.fitness);sumfitness=sum(individuals.fitness);s

3、umf=individuals./fitness;index=;fori=1:sizepoppick=rand;whilepick=0pick=rand;endforj=1:sizepoppick=pick-sumf(j);ifpick<0index=indexj;break;endendendindivlduals.chrom=indivuduals.chrom(index,:);individuals.fitness=individuals.fitness(index);ret=individuals;%交叉操作functionret=Cross(pcross,lenchrom,ch

4、rom,sizepop,bound)fori=1:sizepoppick=rand(1,2);whileprod(pick)=0pick=rand(1,2);endindex=ceil(pick.*sizepop);pick=rand;whilepick=0pick=rand;endifpick>pcrosscontinue;endflag=0;whileflag=0pick=rand;whilepick=0pick=rand;endpos=ceil(pick.*sum(lenchrom);pick=rand;v1=chrom(index(1),pos);v2=chrom(index(2

5、),pos);chrom(index(1),pos)=pick*v2+(1-pick)*v1;chrom(index(2),pos)=pick*v1+(1-pick)*v2;flag1=test(lenchrom,bound,chrom(index(1),:),fcode);flag2=test(lenchrom,bound,chrom(index(2),:),fcode);ifflag1*flag2=0flag=0;elseflag=1;endendendret=chrom;%變異操作functionret=Mutation(pmutation,lenchrom,chrom,sizepopp

6、op,bound)pick=rand;whilepick=0pick=rand;endindex=ceil(pick*sizepop);pick=rand;ifpick>pmutationcontinue;endflag=0;whileflag=0pick=rand;whilepick=0pick=rand;endpos=ceil(pick*sum(lenchrom);v=chrom(i,pos);v1=v-bound(pos,1);v2=bound(pos,2)-v;pick=rand;ifpick>0.5delta=v2*(1-pick(1-pop(1)/pop(2)八2);c

7、hrom(i,pos)=v+delta;elsedelta=v1*(1-pick(1-pop(1)/pop(2)八2);chrom(i,pos)=v-delta;endflag=test(lenchrom,bound,chrom(1,:),fcode);endendendret=chrom;endend主函數(shù)clcclearmaxgen=200;sizepop=20;pcross=0.6;pmutation=0.01;lenchrom=11111;bound=00.9*pi;00.9*pi;00.9*pi;00.9*pi;00.9*pi;individuals=struct('fitn

8、ess',zeros(1,sizepop),'chrom',);avgfitness=;bestfitness=;bestchrom=;fori=1:sizepopindividuals.chrom(1,:)=code(lenchrom,bound);x=individuals.chrom(i,:);individuals,fitness(i)=fun(x);endbestfitness,bestindex=max(individuals.fitness);bestchrom=individuals.chrom(bestindex,:);avgfitness=sum(i

9、ndividuals.fitness)/sizepop;trace=;fori=1:maxgenindividuals=Select(individuals,sizepop);avggitness=sum(individuals.fitness)/sizepop;individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,imaxgen,bound);ifmod(i,10)=0individuals.chrom=nonlinear(individuals.chrom,sizepop);endforj=1:sizepopx=individuals.chrom(j,:);individuals.fitness(j)=fun(x);endnewbestfitness,newbestindex=max(individuals.fitness);ifbestfitness>newbestfitness

溫馨提示

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

評論

0/150

提交評論