资源简介

自适应遗传算法matlab代码。针对函数求解的最优化问题,采用交叉概率和变异概率随适应度自适应变化的遗传算法进行优化。

资源截图

代码片段和文件信息

figure(1); 
fplot(‘v.*sin(10*pi*v)+2.0‘[-12]); 
NIND=40; 
MAXGEN=30; 
PRECI=20; 
GGAP=0.9; 
trace=zeros(2MAXGEN); 
FieldD=[20;-1;2;1;0;1;1]; 
Chrom=crtbp(NINDPRECI); 
gen=0; 
v=bs2rv(ChromFieldD); 
ObjV=v.*sin(10*pi*v)+2.0; 
while gen    FitnV=ranking(-ObjV); 
    SelCh=select(‘sus‘ChromFitnVGGAP); 
    FitnVmax=max(FitnV); 
    FitnVave=sum(FitnV)/NIND; 
      if(FitnV>= FitnVave) 
         Index1=find(FitnV>= FitnVave); 
         Index2=find(FitnV< FitnVave); 
         Pc1=0.5*(FitnVmax- FitnV(Index1))/(FitnVmax- FitnVave); 
         Pm1=0.02*(FitnVmax- FitnV(Index1))/(FitnVmax- FitnVave); 
     else     
         Pc2=0.85; 
         Pm2=0.05; 
    end  

评论

共有 条评论