資源描述:
《MATLAB求解編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、NIND=200;MAXGEN=2000;NVAR=55;max=5000000;P=0.3;M=3;N=5;L=7;A=[313000000378000000465000000];M=[2000010000300004000040000];D=[165150200100150300200];f=[6000000;4000000;6000000;700000;5000000];V=[80;80;90;955;100];a=[15;20;24;20;15;20;20;15;20;24;20;15;24;20
2、;15];C=[20;15;15;20;15;20;15;20;25;20;25;15;15;15;15;15;15;20;20;25;20;30;20;20;20;20;25;20;20;15;15;15;20;20;20;20];P=3;fori=l:NINDwhile0<1forj=1:5chroml(i,j)=round(rand(i));endif(sum(chroml(i,:),3)>=1)&(sum(chroml(i,:),3)<=P)breakendendendsumb=zeros(NIN
3、D,5);sumd=zeros(NIND,5);fori=l:NINDforj=l:5ifchrom1(i,j)=0chrom3(i,(2*(j-1)+1):(3*j))=0;chrom3(i,(7*(j-l)+1):(8*j))=0;elsewhilechroml(i,j)=lchrom3(i,(3*(j-1)+1):(3*j)=rand(i,3).*min(A[M(j)M(j)]);sumb(i,j)=sum(chrom3(i,(3*(j-l)+1):(3*j)),3);chrom3(j,(7*(j-
4、1)+1):(7*j))=rand(1,7).*(rep([M(j)],[11]));sumd(i,j)=sum(chrom3(i,(7*(j-l)+1):(7*j)),3);chrom3(i,(7*(j-l)+1):(7*j))=(sumb(i,j)/sumd(i,j))*chrom3(i,(7*(j-l)+1):(7*j));ifsumb(i,j)<=1.0*M(j)breakendendendendendchrom=[chromlchrorn2chrom3];%產(chǎn)生初始種群[objvalue]=ca
5、lobjvaluc(chrom,M,N,L,A,C,V,f);[fitvalue,restriction]=calfitvalue(objvalue,chrom,max,M,N,L,A,M,D,P);[bestindividual,bestfit,bestrestriction,nopos]=best(chrom,fitvalue,restriction);gem=0;whilegen6、,restriction]=calfitvalue(objvalue,chrom,max,M,N,L,A,M,D,P);[bestindividuall,bestfitl,bestrestrictionl,noposl]=best(chrom,fitvalue,restriction);ifbestrestriction>bestrestrictionlbestindividual=bestindividuall;besttit=-bestfitl;bestrestriction=bestrestrict
7、ionl;endifbestrestriction=bestrcstrictionl)&(bestfit8、wchrom]=mutation(newchrom,P,M,N,1);[bestindividual2,bestfit2,bestrestrietion2,nopos2]=best(newchrom,fitvalue,restrietion);Ifbestrestriction>bestrestriction2bestindividual=bestindividual2;bestfit=bestfit2;bestrestric