gareal.m

来自「主旨表遗传算法」· M 代码 · 共 45 行

M
45
字号
clc
clear all
nind=80;
fielddr=[4.8 10;4.9 10.5];
chrom=crtrp(nind,fielddr)
y=objectval(chrom);
maxval(1)=max(y);
avgval(1)=sum(y)/80;
minval(1)=min(y);
maxgen=100;
%tic;
for i=2:maxgen
    fit=ranking(y');
    for j=1:80
           m=max(fit);
           if fit(j)>=m
               topval=chrom(j,:);
           end
    end    
    a=select('sus',chrom,fit);
    newch=xovsp(a,0.6);
    %newch1=mutate('mut',newch,2*ones(1,20),0.0001);
    newch1=mutbga(newch,fielddr,[0.001,1]);
    y=objectval(newch1);
   fit=ranking(y');
   for j=1:80
       m=min(fit);
       if fit(j)<=m
          newch1(j,:)=topval;
       end
    end 
    chrom=newch1;
    y=objectval(newch1);
    maxval(i)=max(y);
    avgval(i)=sum(y)/80;
    minval(i)=min(y);
end
%toc;
%t=toc;
%max(y)
x=1:maxgen;
plot(x,-maxval,'b-',x,-avgval,'r-',x,-minval,'k-')


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?