雷英杰第七章原程序下载_第1页
雷英杰第七章原程序下载_第2页
雷英杰第七章原程序下载_第3页
雷英杰第七章原程序下载_第4页
雷英杰第七章原程序下载_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、遗传算法工具箱及应用程序7.1 简单一元函数优化实例figure(1);fplot('variable.*sin(10*pi*variable)+2.0',-1,2);NIND=40;MAXGEN=25;PRECI=20;GGAP=0.9;trace=zeros(2,MAXGEN);FieldD=20;-1;2;1;0;1;1;Chrom=crtbp(NIND,PRECI);gen=0;variable=bs2rv(Chrom,FieldD);ObjV=variable.*sin(10*pi*variable)+2.0;while gen<MAXGEN, FitnV=ra

2、nking(-ObjV); SelCh=select('sus',Chrom,FitnV,GGAP); SelCh=recombin('xovsp',SelCh,0.7); SelCh=mut(SelCh); variable=bs2rv(SelCh,FieldD); ObjVSel=variable.*sin(10*pi*variable)+2.0; Chrom ObjV=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); variable=bs2rv(Chrom,FieldD); gen=gen+1; Y,I=max(ObjV),hol

3、d on; plot(variable(I),Y,'bo'); trace(1,gen)=max(ObjV); trace(2,gen)=sum(ObjV)/length(ObjV);endvariable=bs2rv(Chrom,FieldD);hold on,gridplot(variable',ObjV','b*');figure(2);plot(trace(1,:)');hold on;plot(trace(2,:)','-.');grid;legend('½âµ

4、96;±ä»¯','ÖÖȺ¾ùÖµµÄ±ä»¯')7.2多元单峰函数优化实例%¶¨ÒåÒÅ´«Ëã·¨²ÎÊýNIND=40;MAXGEN=500;NVAR=20;PRECI=20;GGAP=0.9;trace=zeros(MAXGE

5、N,2);%½¨Á¢ÇøÓòÃèÊöÆ÷FieldD=rep(PRECI,1 NVAR);rep(-512;512,1 NVAR);rep(1;0;1;1,1 NVAR);Chrom=crtbp(NIND,NVAR*PRECI);gen=0;ObjV=objfun1(bs2rv(Chrom,FieldD);while gen<MAXGEN, FitnV=ranking(ObjV); SelCh=select('sus',Chrom,F

6、itnV,GGAP); SelCh=recombin('xovsp',SelCh,0.7); SelCh=mut(SelCh); ObjVSel=objfun1(bs2rv(SelCh,FieldD); Chrom ObjV=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); gen=gen+1; %Êä³ö×îÓŽ⼰Æä¶ÔÓ¦µÄ20¸&#

7、246;×Ô±äÁ¿µÄÊ®½øÖÆÖµ£¬YΪ×îÓŽ⣬IΪÖÖȺµÄÐòºÅ trace(gen,1)=min(ObjV); trace(gen,2)=sum(ObjV)/length

8、(ObjV);endplot(trace(:,1);hold on;plot(trace(:,2),'-.');grid;legend('ÖÖȺ¾ùÖµµÄ±ä»¯','½âµÄ±ä»¯')7.3多元多峰函数优化实例function z=Shubert(x,y)z=(1*cos(1+1)*x+1)+(2*cos(2+1)*x+2

9、)+(3*cos(3+1)*x+3). +(4*cos(4+1)*x+4)+(5*cos(5+1)*x+5)*(1*cos(1+1)*y+1). +(2*cos(2+1)*y+2)+(3*cos(3+1)*y+3)+(4*cos(4+1)*y+4). +(5*cos(5+1)*y+5);% x1,x2=meshgrid(-10:0.1:10);% figure(1);% Shubert(x1,x2)NIND=40;MAXGEN=50;NVAR=2;PRECI=25;GGAP=0.9;FieldD=rep(PRECI,1 NVAR);rep(-3;3,1 NVAR);rep(1;0;1;1,1

10、NVAR);Chrom=crtbp(NIND,NVAR*PRECI);gen=0;trace=zeros(MAXGEN,2);x=bs2rv(Chrom,FieldD);A=rep(x,1 20);B=rep(x(:,2),1 40);C=Shubert(A,B)ObjV=C(:,1)while gen<MAXGEN, FitnV=ranking(ObjV); SelCh=select('sus',Chrom,FitnV,GGAP); SelCh=recombin('xovsp',SelCh,0.7); SelCh=mut(SelCh); x=bs2rv(

11、SelCh,FieldD); A=rep(x,1 18); B=rep(x(:,2),1 18); C=Shubert(A,B) ObjVSel=C(:,1) Chrom ObjV=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); gen=gen+1; Y I=min(ObjVSel); if(gen=50) figure(2); plot(ObjV);hold on; plot(ObjV,'b*');grid endendfigure(3);clfplot(trace(:,1);hold on;plot(trace(:,2),'-.')

12、;grid;legend('½âµÄ±ä»¯','ÖÖȺ¾ùÖµµÄ±ä»¯')7.4收获系统最优控制NVAR=20;RANGE=0;200;GGAP=0.8;XOVR=1;MUTR=1/NVAR;MAXGEN=500;INSR=0.9;SUBPOP=8;MIGR=0.2;MIGGEN=20;NIND=20;SEL_F='sus'

13、;XOV_F='recdis'MUT_F='mutbga'OBJ_F='objharv'FieldDD=rep(RANGE,1,NVAR);gen=0;trace=zeros(MAXGEN,2);Chrom=crtbp(SUBPOP*NIND,FieldDD);ObjV=objharv(Chrom);while gen<MAXGEN, FitnV=ranking(ObjV,2 1,SUBPOP); SelCh=select(SEL_F,Chrom,FitnV,GGAP,SUBPOP); SelCh=recombin(XOV_F,SelCh,

14、XOVR,SUBPOP); SelCh=mutate(MUT_F,SelCh,FieldDD,MUTR,SUBPOP); ObjVOff=feval(OBJ_F,SelCh); Chrom,ObjV=reins(Chrom,SelCh,SUBPOP,1 INSR,ObjV,ObjVOff); gen=gen+1; trace(gen,1),I=min(ObjV); trace(gen,2)=mean(ObjV); if (rem(gen,MIGGEN)=0) Chrom,ObjV=migrate(Chrom,SUBPOP,MIGR,1,1,ObjV); endendY I=min(ObjV);

15、figure(1);plot(Chrom(I,:);hold on;grid;figure(2);plot(-trace(:,1);hold on;plot(-trace(:,2),'->');legend('½âµÄ±ä»¯','ÖÖȺ¾ùÖµµÄ±ä»¯');xlabel('µü´

16、ú´ÎÊý')% ×¢ÊÍ£º1¡¢º¬ÓÐ×ÓÖÖȺµÄÔÚ¼ÆËãChromʱҪ°ÑSUBPOP³ËÉÏ% 2¡¢¡®¡&

17、#175;²»ÊǶԱßÓõģ¬¼ÓÓë²»¼Ó²î±ð¾Þ´ó£¬Èç¡®XOV_F¡¯,»áÒÔºì×ÖÏÔ&

18、#202;¾¡£7.5装载系统最优问题NVAR=20;RANGE=0;10;GGAP=0.8;XOVR=1;MUTR=1/NVAR;MAXGEN=200;INSR=0.9;SUBPOP=12;MIGR=0.2;MIGGEN=20;NIND=20;SEL_F='sus'XOV_F='recdis'MUT_F='mutbga'OBJ_F='objpush'FieldDD=rep(RANGE,1,NVAR);gen=0;trace=zeros(MAXGEN,2);Chrom=crtbp(SUBPOP*NIN

19、D,FieldDD);ObjV=feval(OBJ_F,Chrom);while gen<MAXGEN, FitnV=ranking(ObjV,2 0,SUBPOP); SelCh=select(SEL_F,Chrom,FitnV,GGAP,SUBPOP); SelCh=recombin(XOV_F,SelCh,XOVR,SUBPOP); SelCh=mutate(MUT_F,SelCh,FieldDD,MUTR,SUBPOP); ObjVOff=feval(OBJ_F,SelCh); Chrom,ObjV=reins(Chrom,SelCh,SUBPOP,1 INSR,ObjV,Obj

20、VOff); gen=gen+1; trace(gen,1),I=min(ObjV); trace(gen,2)=mean(ObjV);end Y I=min(ObjV); subplot(211); plot(Chrom(I,:);hold on; plot(Chrom(I,:),'.');grid subplot(212); plot(trace(:,1);hold on; plot(trace(:,2),'-');grid; legend('½âµÄ±ä»¯',

21、'ÖÖȺ¾ùÖµµÄ±ä»¯');% ×¢Ò⣺1¡¢¾ùֵһֱΪ0£¬ÉÙÌõ¼þ»òÕß²ÎÊ&#

22、253;¶¨Òå´íÎó% 2¡¢subplotº¯ÊýµÄÓ÷¨£¬²»Óüӿոñ7.6离散二次线性系统最优控制问题NVAR=45;% RANGE=0;10;GGAP=0.8;XOVR=1;MUTR=1/NVAR;MAXGEN=2000;INSR=0.9;SUBPOP=

23、12;MIGR=0.2;MIGGEN=20;NIND=20;SEL_F='sus'XOV_F='recdis'MUT_F='mutbga'OBJ_F='objlinq'FieldDR=feval(OBJ_F,1);% FieldDD=rep(RANGE,1,NVAR);gen=0;trace=zeros(MAXGEN,2);Chrom=crtrp(SUBPOP*NIND,FieldDR);ObjV=feval(OBJ_F,Chrom);while gen<MAXGEN, trace(gen+1,1)=min(ObjV); t

24、race(gen+1,2)=mean(ObjV); FitnV=ranking(ObjV,2 0,SUBPOP); SelCh=select(SEL_F,Chrom,FitnV,GGAP,SUBPOP); SelCh=recombin(XOV_F,SelCh,XOVR,SUBPOP); SelCh=mutate(MUT_F,SelCh,FieldDR,MUTR,SUBPOP); ObjVOff=feval(OBJ_F,SelCh); Chrom,ObjV=reins(Chrom,SelCh,SUBPOP,1 INSR,ObjV,ObjVOff); gen=gen+1;end Y I=min(O

25、bjV); subplot(211); plot(Chrom(I,:);hold on; plot(Chrom(I,:),'.');grid legend('×îÓÅ¿ØÖÆÏòÁ¿') subplot(212); plot(trace(:,1);hold on; plot(trace(:,2),'-');grid; legend('½âµÄ±ä»&#

26、175;','ÖÖȺ¾ùÖµµÄ±ä»¯'); xlabel('µü´ú´ÎÊý');7.7目标分配问题function eval = targetalloc(chrom)m,n=size(chrom);%Éä»÷ÓÐÀû³Ì¶

27、ȹÀ¼Æp=.87 .52 .11 .78 .72 .69 .94 .72 .36 .28 .27 .74 .24 .78 .45;. .87 .52 .11 .78 .72 .69 .94 .72 .36 .28 .27 .74 .24 .78 .45;. .87 .52 .11 .78 .72 .69 .94 .72 .36 .28 .27 .74 .24 .78 .45;. .87 .52 .11 .78 .72 .69 .94 .72 .36 .28 .27 .74 .24 .78 .45;. .87 .52 .11 .78 .72

28、.69 .94 .72 .36 .28 .27 .74 .24 .78 .45;. .87 .52 .11 .78 .72 .69 .94 .72 .36 .28 .27 .74 .24 .78 .45;. .62 .87 .70 .22 .80 .42 .43 .90 .13 .95 .18 .19 .12 .61 .35;. .48 .20 .42 .16 .43 .58 .69 .03 .34 .72 .15 .24 .29 .30 .75;w=.47 .97 .76 .62 .48 .77 .33 .74 .54 .65 .43 .35 .63 .66 .57;for i=1:m fo

29、r j=1:15 chrom(i,j)=p(chrom(i,j),j); endendeval=chrom*w'GGAP=0.9;MAXGEN=50;trace=zeros(MAXGEN,2);NIND=40;BaseV=crtbase(15,8);Chrom=crtbp(NIND,BaseV)+ones(NIND,15);gen=0;ObjV=targetalloc(Chrom);while gen<MAXGEN, FitnV=ranking(-ObjV); SelCh=select('sus',Chrom,FitnV,GGAP); SelCh=recombin

30、('xovsp',SelCh,0.7); f=rep(1;8,1,15); SelCh=mutbga(SelCh,f); SelCh=fix(SelCh); ObjVSel=targetalloc(SelCh); Chrom,ObjV=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); gen=gen+1; trace(gen,1)=max(ObjV); trace(gen,2)=sum(ObjV)/length(ObjV);endY I=max(ObjV);Chrom(I,:),Yfigure(2);plot(trace(:,1),'-.'

31、;);hold on;grid;plot(trace(:,2);legend('½âµÄ±ä»¯','ÖÖȺ¾ùÖµµÄ±ä»¯');7.8双积分的优化问题Dim=20;Preci=20;GGAP=0.8;MAXGEN=100;NIND=20;SEL_F='sus'XOV_F='xovsp'MUT_F='

32、mut'OBJ_F='objdopi'FieldDR=feval(OBJ_F,1);FieldDD=rep(Preci,1 Dim);FieldDR;rep(1;0;1;1,1 Dim);gen=0;Chrom=crtbp(NIND,Dim*Preci);Best=NaN*ones(MAXGEN,1);while gen<MAXGEN, ObjV=feval(OBJ_F,bs2rv(Chrom,FieldDD); Best=NaN*ones(MAXGEN,1); plot(log10(Best),'bo'); FitnV=ranking(ObjV)

33、; SelCh=select(SEL_F,Chrom,FitnV,GGAP); SelCh=recombin(XOV_F,SelCh); SelCh=mutate(MUT_F,SelCh); Chrom=reins(Chrom,SelCh); gen=gen+1; trace(gen,1),I=min(ObjV); trace(gen,2)=mean(ObjV)endY I=min(ObjV);figure(1);plot(Chrom(I,:);hold on;grid;figure(2);plot(-trace(:,1);hold on;plot(-trace(:,2),'->

34、');legend('½âµÄ±ä»¯','ÖÖȺ¾ùÖµµÄ±ä»¯');xlabel('µü´ú´ÎÊý')7.9雷达目标识别问题function class=recognite(signal,inform)%signalΪ´ýʶ±ðÄ¿±êµÄÀ×´ïÐźţ»informÄ¿±êʶ±ðÊý¾Ý¿

温馨提示

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

评论

0/150

提交评论