声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 基础理论 查看内容

自适应遗传算法matlab代码

2011-4-1 07:54| 发布者: 雪缘| 查看: 3507| 评论: 0|来自: 振动论坛

摘要: matlab程序是雷英杰课本中的第一个算例, 将其改为自适应的代码. figure(1); fplot('v.*sin(10*pi*v)+2.0',); NIND=40; MAXGEN=30; PRECI=20; GGAP=0.9; trace=zeros(2,MAXGEN); FieldD=; Chrom=crtbp(NI ...
matlab程序是雷英杰课本中的第一个算例,
将其改为自适应的代码.

  1. figure(1);
  2. fplot('v.*sin(10*pi*v)+2.0',[-1,2]);
  3. NIND=40;
  4. MAXGEN=30;
  5. PRECI=20;
  6. GGAP=0.9;
  7. trace=zeros(2,MAXGEN);
  8. FieldD=[20;-1;2;1;0;1;1];
  9. Chrom=crtbp(NIND,PRECI);
  10. gen=0;
  11. v=bs2rv(Chrom,FieldD);
  12. ObjV=v.*sin(10*pi*v)+2.0;
  13. while gen
  14.     FitnV=ranking(-ObjV);
  15.     SelCh=select('sus',Chrom,FitnV,GGAP);
  16.     FitnVmax=max(FitnV);
  17.     FitnVave=sum(FitnV)/NIND;
  18.       if(FitnV>= FitnVave)
  19.          Index1=find(FitnV>= FitnVave);
  20.          Index2=find(FitnV< FitnVave);
  21.          Pc1=0.5*(FitnVmax- FitnV(Index,1))/(FitnVmax- FitnVave);
  22.          Pm1=0.02*(FitnVmax- FitnV(Index,1))/(FitnVmax- FitnVave);
  23.      else   
  24.          Pc2=0.85;
  25.          Pm2=0.05;
  26.     end
  27.   end
  28.     SelCh=recombin('xovsp',SelCh(Index1,1),Pc1);
  29.     SelCh=recombin('xovsp',SelCh(Index2,1),Pc2);
  30.     SelCh=mut(SelCh(Index1,1),Pm1);
  31.     SelCh=mut(SelCh(Index2,1),Pm2);
  32.     v=bs2rv(SelCh,FieldD);
  33.     ObjVSel=v.*sin(10*pi*v)+2.0;
  34.     [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);
  35.     gen=gen+1;
  36.     variable=bs2rv(Chrom, FieldD)
  37.     [Y,I]=max(ObjV),hold on;
  38.     plot(I,Y,'bo');
  39.     trace(1,gen)=max(ObjV);
  40.     trace(2,gen)=sum(ObjV)/length(ObjV);
  41.     if (gen==20)
  42.         figure(2);
  43.         plot(ObjV);hold on;
  44.         plot(ObjV,'b*');grid;
  45.     end
  46. %end
  47. figure(3);
  48. plot(trace(1,:)','Pr');
  49. hold on;
  50. plot(trace(2,:)','-.');grid;
  51. legend('解的变化','种群均值的变化')
复制代码

本文内容由 frogfish 提供

最新评论

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-24 12:01 , Processed in 0.137221 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部