DE算法-matlab程序
摘要:functionDE(Gm,F0);%差分进化算法程序基本程序%F是变异率%Gm=1000;%最大迭代次数Gm=10000;F0=0.8;Np=100;%种群规模CR=0.9;%杂交参数G=1;%初始化代数N=10;%所求问题的维数ge=zeros(1,Gm);%各代的最优值bestx=zeros(Gm,N);%各代的最优解%产生初始种群%xmin=-10;xmax=100;%带负数的下界xmin=-5.12;xmax=5.12;functiony=f(XX);%y=sum(XX.^4-16*XX.^2+5*XX)/10+79.333;y=sum(XX.^2-10.*cos(2.*pi.*XX)+10);endX0=(xmax-xmin)*rand(Np,N)+xmin;X=X0;%%%%%%%%%%变异操作X1new=zeros(Np,N);%初始化X1_new=zeros(Np,N);%初始化X1=zeros(Np,N);%初始化value=zeros(1,Np);whileG<=Gmfori=1:Np%产生j,k,p三个不同的数a=1;b=Np;dx=randperm(b-a+1)+a-1;j=dx(1);k=dx(2);p=dx(3);ifj==ij=dx(4);elseifk==ik=dx(4);elseifp==ip=dx(4);endnamd=exp(1-Gm/(Gm+1-G));%变异算子F=F0*2.^namd;bon=X(p,:)+F*(X(j,:)-X(k,:));if(bon>xmin)&(bon<xmax)%防止变异超出边界X
温馨提示:当前文档最多只能预览
5 页,若文档总页数超出了
5 页,请下载原文档以浏览全部内容。
本文档由 匿名用户 于 2022-07-18 23:09:16上传分享