基于MATLAB的粒子群优化算法的应用示例_第1页
基于MATLAB的粒子群优化算法的应用示例_第2页
基于MATLAB的粒子群优化算法的应用示例_第3页
基于MATLAB的粒子群优化算法的应用示例_第4页
全文预览已结束

付费下载

下载本文档

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

文档简介

1、对于函数f=x*sin(x)*cos(2*x)-2*x*sin(3*x),求其在区间0,20上该函数的最大值。初始化种群已知位置限制0,20,由于一维问题较为简单,因此可以取初始种群N为50,迭代次数为100,当然空间维数d也就是1。位置和速度的初始化即在位置和速度限制内随机生成一个N刈的矩阵,对于此题,位置初始化也就是在020内随机生成一个50X1的数据矩阵,而对于速度则不用考虑约束,一般直接在01内随机生成一个50X1的数据矩阵。此处的位置约束也可以理解为位置限制,而速度限制是保证粒子步长不超限制的,一般设置速度限制为-1,1。粒子群的另一个特点就是记录每个个体的历史最优和种群的历史最优,

2、因此而二者对应的最优位置和最优值也需要初始化。其中每个个体的历史最优位置可以先初始化为当前位置,而种群的历史最优位置则可初始化为原点。对于最优值,如果求最大值则初始化为负无穷,相反地初始化为正无穷。每次搜寻都需要将当前的适应度和最优解同历史的记录值进行对比,如果超过历史最优值,则更新个体和种群的历史最优位置和最优解。速度与位置的更新速度和位置更新是粒子群算法的核心,其原理表达式和更新方式如下:d=1;ger=100;limit=0,20;vlimit=-1,1;w=0.8;c1=0.5;c2=0.5;每次更新完速度和位置都需要考虑速度和位置的限制,需要将其限制在规定范围内,此处仅举出一个常规方

3、法,即将超约束的数据约束到边界(当位置或者速度超出初始化限制时,将其拉回靠近的边界处)。当然,你不用担心他会停住不动,因为每个粒子还有惯性和其他两个参数的影响。代码如下:clc;clear;closeall;%初始化种群f=(x)x.*sin(x).*cos(2*x)-2*x.*sin(3*x);%函数表达式figure(1);ezplot(f,0,0.01,20);N=50;%初始种群个数%空间维数%最大迭代次数%设置位置参数限制%设置速度限制%惯性权重%自我学习因子%群体学习因子fori=1:dx=limit(i,1)+(limit(i,2)-limit(i,1)*rand(N,d);%初

4、始种群的位置%初始种群的速度%每个个体的历史最佳位置%种群的历史最佳位置%每个个体的历史最佳适应度%种群历史最佳适应度endv=rand(N,d);xm=x;ym=zeros(1,d);fxm=zeros(N,1);fym=-inf;holdonplot(xm,f(xm),'ro');title('初始状态图');figure(2)%群体更新iter=1;record=zeros(ger,1);%记录器whileiter<=gerfx=f(x);%个体当前适应度fori=1:Niffxm(i)<fx(i)fxm(i)=fx(i);%更新个体历史最佳适

5、应度xm(i,:)=x(i,:);%更新个体历史最佳位置endendiffym<max(fxm)fym,nmax=max(fxm);%更新群体历史最佳适应度ym=xm(nmax,:);%更新群体历史最佳位置endv=v*w+cl*rand*(xm-x)+c2*rand*(repmat(ym,N,1)-x);%速度更新%边界速度处理v(v>vlimit(2)=vlimit(2);v(v<vlimit(1)=vlimit(1);x=x+v;%位置更新%边界位置处理x(x>limit(2)=limit(2);x(x<limit(1)=limit(1);record(iter)=fym;%最大值记录%x0=0:0.01:20;%plot(x0,f(x0),'b-',x,f(x),'ro');title('状态位置变化')%pause(0.1)iter=iter+1;endfigure(3);plot(record);title('收敛过程')x0=0:0.01:20;figure(4);plot(x0,f(x0),'b-',x,f(x),'ro'

温馨提示

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

评论

0/150

提交评论