差分演化算法matlab程序.doc

差分演化算法matlab程序.doc

ID:52698238

大小:21.00 KB

页数:2页

时间:2020-03-29

差分演化算法matlab程序.doc_第1页
差分演化算法matlab程序.doc_第2页
资源描述:

《差分演化算法matlab程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、functionDE(Gm,F0)%差分进化算法程序基本程序%F是变异率F0=0.6Gm=1000;%最大迭代次数Np=100;%种群规模CR=0.9;%杂交参数G=1;%初始化代数D=0;%所求问题的维数eps=1e-9;%精度ge=zeros(1,Np);%各代的最优值bestx=zeros(Np,D);%各代的最优解%产生初始种群%xmin=-10;xmax=100;%带负数的下界xmin=-5.12;xmax=5.12;%-----函数值计算-----------functionresult=DEMB(XX);sol=XX;result=0;

2、fori=1:Dresult=result+sol(i)^2;%y=sum(XX.^2-10.*cos(2.*pi.*XX)+10);endend%---------------------------X0=(xmax-xmin)*rand(Np,D)+xmin;X=X0;%%%%%%%%%%变异操作X1new=zeros(Np,D);%初始化X1_new=zeros(Np,D);%初始化X1=zeros(Np,D);%初始化value=zeros(1,Np);whileG<=Gmfori=1:Np%产生j,k,p三个不同的数a=1;b=Np;dx=

3、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);end%变异算子F=0.5;bon=X(p,:)+F*(X(j,:)-X(k,:));if(bon>xmin)&(bonCR%利用二项分布来交叉X1_

4、new(i,:)=X(i,:);elseX1_new(i,:)=X1new(i,:);endend%%%%%%%%%%%%%%%竞争操作fori=1:NpifDEMB(X1_new(i,:))

5、,Np,Np);%plot(ii,ge)[gmin,n]=min(ge);value=gminsolution=bestx(n,:)%目标函数的倒数End

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。