整数空间粒子群算法MATLAB程序_第1页
整数空间粒子群算法MATLAB程序_第2页
整数空间粒子群算法MATLAB程序_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

整数空间粒子群算法clear allclcticT =1200; %最大迭代次数PopSize=40; %种群大小c1 =2; %学习因子1c2 = 2; %学习因子2w=0.9; %惯性因子NDim = 60; %空间维数 for i=1:PopSize for j=1:NDim %初始化各粒子初始位置,在有效范围内随机选数 x(i,j)=round(rand*20) + 20; endendvmax=zeros(PopSize,NDim);for i=1:PopSize for j=1:NDim %初始化各粒子最大速度,使粒子不能越出边界 vmax(i,j)=10; end endv = vmax.*rand( PopSize,NDim); %计算初始各粒子的适应度值for i = 1:PopSize fvalue(i) = youhualianxuduo(x(i,:); endpbest = x; %记录各粒子的个体极值点位置fpbest = fvalue; %记录初始个体最佳适应度值fbestval,index = min(fvalue); % 找出全局极值和相应的序号 gbest1=fbestval;g1=x(index,:);%浸入主循环,按照公式依次迭代直到满足 迭代次数for i=1:T for j=1:PopSize if(youhualianxuduo(x(j,:)fpbest(j) pbest(j,:)=x(j,:); fpbest(j)=youhualianxuduo(x(j,:); end if (fpbest(j)x(j,d) a1=0; else a1=c1*(pbest(j,d)-x(j,d); end if pbest(j,d)x(j,d) b1=c1*(pbest(j,d)-x(j,d); else b1=0; end if g1(d)x(j,d) a2=0; else a2=c2*(g1(d)-x(j,d); end if g1(d)x(j,d) b2=c2*(g1(d)-x(j,d); else b2=0; end R1=randi(a1,b1,1,1); R2=randi(a2,b2,1,1); v(j,d)=round(w*v(j,d)+R1+R2; end%更新速度V for n=1:PopSize %速度v的限定,最大值为10 for k=1:NDim if v(n,k)10 v(n,k)=10; end if v(n,k)-10 v(n,k)=-10; end end end x(j,:)=x(j,:)+v(j,:); %更新位置x % 逸出标志 for l=1:PopSize % 阻止逸出 for m=1:NDim if x(l,m)40 x(l,m)=round(rand*20+20); end end end end w=0.9-i*0.5/T gb1(i)=gbest1;endfigure(7)plot(gb1);TempStr=sprin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论