首页 量子进化算法求解函数优化问题 非常实用的程序.doc

量子进化算法求解函数优化问题 非常实用的程序.doc

举报
开通vip

量子进化算法求解函数优化问题 非常实用的程序&#46;doc量子进化算法求解函数优化问题 非常实用的程序.doc % min fitness(1,i)=100*(x1^2-x2)^2+(1-x1)^2; -2.048<= x1&x2<=2.048; %function [trace1]=main主程序: clc clear tt0=cputime;%记记记记 format long maxgeneration=400; %最大迭代次数 popsize=20;%记群大小 chromlength=60;%量子染色体度记记 gen=1; %记记置迭代次数1 [p_lead]=i...

量子进化算法求解函数优化问题 非常实用的程序&#46;doc
量子进化算法求解函数优化问题 非常实用的程序.doc % min fitness(1,i)=100*(x1^2-x2)^2+(1-x1)^2; -2.048<= x1&x2<=2.048; %function [trace1]=main主程序: clc clear tt0=cputime;%记记记记 format long maxgeneration=400; %最大迭代次数 popsize=20;%记群大小 chromlength=60;%量子染色体度记记 gen=1; %记记置迭代次数1 [p_lead]=initpop(popsize,chromlength);%记群初始化[chromsome0]=observe(p_lead);%记记 [objvalue,x1,x2]=calobjvalue1(chromsome0);%记记记记记算目函数[m,n]=min((objvalue));trace1=zeros(1,maxgeneration);%最小记记记 best_f=m; %%%%%%%记记记记记最个体%%%%%%%%%%%%%%%%%%%%%%% %best_chromsome=chromsome0(n,:); p_best(1,:)=p_lead(2*n-1,:);p_best(2,:)=p_lead(2*n,:);while gen<=maxgeneration [chromsome0]=observe(p_lead);%记记 [objvalue,x1,x2]=calobjvalue1(chromsome0);%记记记记记算目函数 [m,n]=min(abs(objvalue)); if m=p_lead(i,j)^2 chromsome0(k,j)=1; else chromsome0(k,j)=0; end end k=k+1; end function [objvalue,x1,x2]=calobjvalue1(chromsome0) %记记记记记算目函数 [n,t1]=size(chromsome0); param=zeros(n,2); for i=1:n for j=1:30 param(i,1)=param(i,1)+chromsome0(i,j)*pow2(j-1); end for j=31:60 param(i,2)=param(i,2)+chromsome0(i,j)*pow2(j-31); end m=pow2(30)-1; x1(1,i)=-2.048+param(i,1)/m*4.096; x2(1,i)=-2.048+param(i,2)/m*4.096; objvalue(1,i)=100*(x1(1,i)^2-x2(1,i))^2+(1-x1(1,i))^2; end function [p]=upgate(p_lead,p_best,gen,maxgeneration) %量子更新记记记 k=10*exp((-1)*gen/maxgeneration);%k=0.0015*pi; [n,m]=size(p_lead); for i=1:2:n for j=1:m d1=p_best(1,j)*p_best(2,j); pt(1,1)=p_lead(i,j); pt(2,1)=p_lead(i+1,j); d2=pt(1,1)*pt(2,1); a1=abs(atan(p_best(2,j)/p_best(1,j)));%最佳解的角度 a2=abs(atan(p_lead(i+1,j)/p_lead(i,j)));%当前个体的角度 d3=a1-a2; d0=d1*d2*d3; if d0>=0 d0=+1; else d0=-1; end %k=0.5*pi*abs(abs(p_best(1,j))-abs(p_lead(i,j))); d=k*d0; G=[cos(d) -sin(d);sin(d) cos(d)]; pt=G*pt; p_lead(i,j)=pt(1,1); p_lead(i+1,j)=pt(2,1); end end p=p_lead;
本文档为【量子进化算法求解函数优化问题 非常实用的程序&#46;doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_751406
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:5
分类:生活休闲
上传时间:2018-02-21
浏览量:34