整数空间粒子群算法MATLAB程序.doc

整数空间粒子群算法MATLAB程序.doc

ID:55036066

大小:18.00 KB

页数:3页

时间:2020-04-26

整数空间粒子群算法MATLAB程序.doc_第1页
整数空间粒子群算法MATLAB程序.doc_第2页
整数空间粒子群算法MATLAB程序.doc_第3页
资源描述:

《整数空间粒子群算法MATLAB程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、整数空间粒子群算法clearallclcticT=1200;%最大迭代次数PopSize=40;%种群大小c1=2;%学习因子1c2=2;%学习因子2w=0.9;%惯性因子NDim=60;%空间维数fori=1:PopSizeforj=1:NDim%初始化各粒子初始位置,在有效范围内随机选数x(i,j)=round(rand*20)+20;endendvmax=zeros(PopSize,NDim);fori=1:PopSizeforj=1:NDim%初始化各粒子最大速度,使粒子不能越出边界vmax(i,j)=10;endendv=vmax.*rand(PopS

2、ize,NDim);%计算初始各粒子的适应度值fori=1:PopSizefvalue(i)=youhualianxuduo(x(i,:));endpbest=x;%记录各粒子的个体极值点位置fpbest=fvalue;%记录初始个体最佳适应度值[fbestval,index]=min(fvalue);%找出全局极值和相应的序号gbest1=fbestval;g1=x(index,:);%浸入主循环,按照公式依次迭代直到满足迭代次数fori=1:Tforj=1:PopSizeif(youhualianxuduo(x(j,:))

3、,:)=x(j,:);fpbest(j)=youhualianxuduo(x(j,:));endif(fpbest(j)x(j,d)a1=0;elsea1=c1*(pbest(j,d)-x(j,d));endifpbest(j,d)>x(j,d)b1=c1*(pbest(j,d)-x(j,d));elseb1=0;endifg1(d)>x(j,d)a2=0;elsea2=c2*(g1(d)-x(j,d));endifg1(d)>x(

4、j,d)b2=c2*(g1(d)-x(j,d));elseb2=0;endR1=randi([a1,b1],1,1);R2=randi([a2,b2],1,1);v(j,d)=round(w*v(j,d))+R1+R2;end%更新速度Vforn=1:PopSize%速度v的限定,最大值为10fork=1:NDimifv(n,k)>10v(n,k)=10;endifv(n,k)<-10v(n,k)=-10;endendendx(j,:)=x(j,:)+v(j,:);%更新位置x%逸出标志forl=1:PopSize%阻止逸出form=1:NDimifx(l,m)

5、<1

6、x(l,m)>40x(l,m)=round(rand*20+20);endendendendw=0.9-i*0.5/Tgb1(i)=gbest1;endfigure(7)plot(gb1);TempStr=sprintf('c1=%g,c2=%g',c1,c2);title(TempStr);xlabel('迭代次数');ylabel('适应度值');toc

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

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

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