MATLAB求解编程.doc_第1页
MATLAB求解编程.doc_第2页
MATLAB求解编程.doc_第3页
MATLAB求解编程.doc_第4页
MATLAB求解编程.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NIND=200;MAXGEN=2000;NVAR=55;max=5000000;P=0.3;M=3;N=5;L=7;A=313000000 378000000 465000000 ;M=20000 10000 30000 40000 40000 ;D=165 150 200 100 150 300 200 ;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;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;for i=l:NINDwhile 0=1)&(sum(chroml(i,:) ,3)=P)breakendendendsumb=zeros(NIND,5) ;sumd=zeros(NIND,5);for i=l:NINDfor j=l:5if chrom1(i,j)=0chrom3(i,(2*(j-1)+1):(3*j)=0;chrom3(i, (7*(j-l)+1):(8*j)=0;elsewhile chroml(i,j)=l chrom3(i,(3*(j-1)+1):(3*j)=rand(i,3).* min(AM(j)M(j);sumb(i,j)=sum(chrom3(i,(3*(j-l)+1):(3*j),3);chrom3(j,(7*(j-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);if sumb(i,j)=1.0*M(j)breakendendendendendchrom=chroml chrorn2 chrom3;%产生初始种群objvalue=calobjvaluc(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;while genbestrestrictionlbestindividual=bestindividual l;besttit=-bestfitl;bestrestriction=bestrestriction l;endif bestrestriction =bestrcstrictionl)&(bestfitbestrestriction2bestindividual=bestindividual2;bestfit=bestfit2;bestrestriction=bestrestriction2;endif(bestrestriction=bestrestriction2)&(bestfitbestfit2)bestindividual=bestindividual2;bestfit =-bestfit2;bestrestriction =bestrestriction2;endchrom=newchrom;gen=gen+1;endbestindividual,bestfit,bestrestriction%目标函数Functionobjvalue=ealobjvalue(chrom,M,N,L,A, V,f)Chrom1= chrom(:,1:N);Chrom2=chrom(:,(N+1):(N+M*N);chrom3= chrom (:,(N+M*N+1):(N+M*N+N*L);NIND,NVAR=size(chrom);for i=l:NINDfor j=l:Nu(i,j)=7300*sum(chrom2(i,(2*(j-l)+1):(2*j),2);endendobjvalue=chrom2*a*7300+chrom3*c*3650+sqrt(u).* chroml*V+chroml*f; %适应度计算和约束判断Functionfitvalue restrection=ealfitvalue(objvalue,chrom, max,M,N,l,A,M,D,P)Global gen;NIND,NVAR=size(chrom);Chroml=chrom (:,1:N);chrom2=Chrom(:,(N+1):(N+M*n);chrom3=Chrom(:,(N+M*N*N+1):(N+M*N+N*1);restriction=zeros(NIND,1);r=zeros(NIND,M);s=zeros(NIND,N);t=zeros(NIND,1);u=zeros(NIND,3);p=zeros(NIND,n);for i=l:NINDfor j=l:Mr(i,j)=A(j)-sum(chrom2(i,j:m:m*n),2);if r(i,j)0restriction(i,1)=restriction(i,1)+1;endendfor j=l:lt(i,j)=sum(chrom3(i,j:l:n*1),2)-D(j);if t(i,j)0restriction(i,1)=-restriction(i,l)+1;endendfor j=l:ns(i,j)=chroml(i,j)*M(j)-sum(chrom2(i,(M*(j-1)+1):(M*j),2);p(i,j)=abs(sum(chrom3(i,(1*(j-1)+1):(1*j),2)-sum(chrom2(i,(M*(j-1)+1):(M*j),2);if s(i,j)=l e-3restriction(i,1)=restriction(i,l)+l;endendu(i,1)=P-sum(chroml(i,:),2);if u(i,1)0restriction(i,1)=restriction(i,l)+1;endu(i,2)=sum(chroml(i,:),2)-1;if u(i,2)0restrigtion(i,1)=restriction(i,1)+l;endif(objvalue(i,1)restriction(i,1)pos=i;endif(restriction(pos,1)=restriction(i,1)&(fitvalue(pos,1)fitvalue(i,1)pos=i;endendbestindividual=chrom(pos,:);bestfit=fitvalue(pos);bestrestriction= restriction (pos,:);nopos=1;for i=l:NINDif restriction(nopos,1)fitvalue(i,1)nopos=i;endend%选择Functionnewchrom=selection(chrom,fitvalue)totalfit=sum(fitvalue);fitvalue=:fitvalue/totalfit;fitvalue=cumsum(fitvalue);NIND,NVAR=size(chrom);ms=sort(rand(NIND,1);fitin=1;newin=1;while newin=NINDif(ms(newin)=NINDfitin=NIND;endendnewchrom=temp;%交叉Functionnewchrom=crossover(chrom,M,N,1)global gen;NIND,SVAR=size(chrom);chrom1=chrom(:,l:n);chrom2=chrom(:, (N+1) : (N+M*N) ;chrom3=chrom(:, (N+m*n+1) : (N+M*N+N*1) ;newchrom=zeros(NIND,NVAR) ;P=0.75;for i=l:2:NIND-1if(randP)point=ceil(rand*(N-1);ifpoint5newchrom(i,:)=chroml(i,l:point)chromI(i+1,point+1:n) .chrom2(i,l:M*point)chrom2(i+l,M*point+1:M*N) .chrom3(i,1:l*point)chrom3(i+l,1*point+l:N*1);newchrom(i+l,:)=chroml(i+l,1:point)chroml(i,point+l:n) .chrom2(i+l,l:m*point)chrom2(i,M*point+l:M*N) .chrom3(i+1,1:l*point)chrom3(i,1*point+l:N*1);elsenewchrom(i,:)=chrom(i,:);newchrom(i+1,:)=chrom(i+l,:);endelsenewchrom(i,:)=chromo,:);newchrom(i+l,:)=chrom(i+l,:);endend%变异Functionnewchrom=mutation(chrom,P,M,N,L)global gen;FieldDR=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;20000 20000 10000 10000 30000 30000 40000 40000 40000 40000;RANGE=0 0 0 0 0 0 0;165 150 200 100 150 300 200;NIND,NVAR=size(chrom);chroml=chrom(:,l:N);chrom2=chrom(:, (N+1):(N+M*N);chrom3=chrom(:, (N+M*N+1):(N+M*n+ 1);newchrom=zeros(NIND,NVAR);newchroml=zeros(NIND,N);newchrom2=zeros(NIND,M*N);newchrom3=zeros(NIND,N*1);for i=1:NINDfor j=l:Nif chrom l(i,j)=0newchrom2(i,(M*(j-1)+1):(M*j)=0;newchrom3(i,1*(j-l)+1):(1*j)=0;elseif round(rand)=0newchrom2(i,(M*(j-1)+1):(M*j)=chrom2(i,(M*(j-1)+1):(M*j)+ .(FieldDR(2,(M*(j-1)+1):(M*j)=chrom2(i,(M*(j-1)+1):(M*j)*(1-rand(1-gen/2000)10);newchrom3(i,(1*(j-1)+1):(1*j)=chrom3(i,(1*(j-1)+1):(1*j) + .(165 150 200 100 150 300 200-chrom3(i,(1*(j-1)+1):(1*j)*(1-rand(1*gen/2000)10);elseif round(rand)=lnewChrom2(i,(M*(j-1)+1):(M*j) ) = Chrom2 (i,(M*(j-1)+1):(M*j) .(chrom2(i,(M*(j-1)+1):(M*j)-00)*(1-rand(1-gen/2000)10);newchrom3(i,(1*(j-1)+1):(1*j):chrom3(i,(1*(j-1)+1):(1*j) .(chrom3(i,(1*(j-1)+1):(N)-0 0 0 0 0 0 0 0)*(1-rand(1*gen/2000)10);endendendendnewchrom1=chrom1; newchrom=newchrom1 newchrom2 newchrom3;endendnewchrom1=chrom1; newchrom=newchrom1 newchrom2 newchrom3;bestindividualbestindividual=columms 1 through 171.0000 1.0000 0 0 1.00080.3686 20.6636 0 0 23.7458 50.7648 63.57695 0 0 123.6753 39.76

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论