第11章-11.2 粒子群优化算法_第1页
第11章-11.2 粒子群优化算法_第2页
第11章-11.2 粒子群优化算法_第3页
第11章-11.2 粒子群优化算法_第4页
第11章-11.2 粒子群优化算法_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

11.2粒子群优化主要内容11.2.1引言11.2.2基本粒子群算法11.2.3粒子群算法的实现流程11.2.4仿真示例11.2.1引言--PSO的起源由JamesKennedy和RussEberhart于1995年提出[Kennedy,J.andEberhart,R.(1995).“ParticleSwarmOptimization”,Proceedingsofthe1995IEEEInternationalConferenceonNeuralNetworks,pp.1942-1948,IEEEPress.](/~zxue/Evacuation_Research/Other_models/pso.pdf)受鸟群和鱼群社会行为的启发。它是一种基于群体的随机优化技术。PSO的起源11.2.2基本粒子群算法每个寻优的问题解都被想像成一只鸟,我们也称为“Particle”。所有的Particle都有一个fitnessfunction以判断目前的位置之好坏。每一个Particle必须赋予记忆性,能记得所搜寻到的最佳位置。每一个Particle还有一个速度以决定飞行的距离与方向。11.2.2基本粒子群算法初始化:

以随机速度和位置初始化粒子群。评估:计算每个粒子的适应度值。寻找Pbest:

记录每个粒子的历史最佳适应度值,作为个体最优解pid。寻找Gbest:

找到全局最佳粒子,作为全局最优解

pgd。

更新

更新粒子的速度和位置。

返回步骤2,直到满足终止条件。速度更新Vid :粒子i在第d维度的速度i:粒子索引d:粒子维度w :惯性系数

c1、c2:学习因子

Rand():介于(0,1)之间的随机数Pid :粒子i的历史最佳位置。Pgd:

所有粒子的历史最佳位置xid :粒子i的当前位置PSO更新方程velocity:vid(t+1)=w*vid(t)+C1*rand()*[pid(t)-xid(t)(t)]+C2*rand()*[Pgd(t)-xid(t)(t)]v-速度

w-惯性权重

C-学习因子

pid-区域最佳解

Pgd-全域最佳解原来速度

vid过去自身经验同伴飞行经验运动向量目前的区域最佳解pbest目前的全域最佳解gbest原来位置

xid(t)新位置

xid(t+1)原来速度

vid(t)新速度vid(t+1)

新位置:xid(t+1)=xid(t)+vid(t+1)区域最佳解全域最佳解运动向量惯性向量craziness图像解释11.2.3粒子群算法实现流程

PSO的示例使用PSO算法找到这个函数

的最小值

其中

步骤1:初始化设置种群大小N=3随机初始化每个粒子的速度和位置PSO的示例使用PSO算法找到这个函数

的最小值

其中

步骤2:计算每个粒子的适应度值PSO的示例使用PSO算法找到这个函数

的最小值

其中

.步骤3:更新速度和位置10.8超出范围,因此调整为10PSO的示例使用PSO算法找到这个函数

的最小值

其中

步骤4:确定是否满足终止条件满足,结束。不满足,返回步骤2继续循环。Schwefel'sfunction搜索过程---初始化搜索过程-在5

代后搜索过程-在10

代后搜索过程-在15

代后搜索过程-在20

代后搜索过程-在25

代后搜索过程-在100

代后搜索过程-在500

代后结果迭代结果0416.2455995515.74879610759.40400615793.73201920834.813763100837.9115355000837.965771Best837.9658一些演示让我们试一试!PSO和

GA相同点不同点PSO从随机生成的种群开始使用适应度值来评估种群个人最优位置全局最优位置GASelection&reproductionCrossoverMutation11.2.4仿真示例x,yin[-4,4]基于Matlab的粒子群算法实现x,yin[-4,4]基于Matlab的粒子群算法实现%初始化clear;closeall;clc;N=100;%群体粒子个数D=2;%粒子维数T=50;%最大迭代次数c1=1.5;%学习因子1c2=1.5;%学习因子2Wmax=0.8;%惯性权重最大值Wmin=0.4;%惯性权重最小值Xmax=4;%位置最大值Xmin=-4;%位置最小值Vmax=1;%速度最大值Vmin=-1;%速度最小值%初始化种群个体(限定位置和速度)x=rand(N,D)*(Xmax-Xmin)+Xmin;v=rand(N,D)*(Vmax-Vmin)+Vmin;%初始化个体最优位置和最优值p=x;pbest=ones(N,1);fori=1:Npbest(i)=func2(x(i,:));end%初始化全局最优位置和最优值g=ones(1,D);gbest=inf;fori=1:Nif(pbest(i)<gbest)g=p(i,:);gbest=pbest(i);endendgb=ones(1,T);%按照公式依次迭代直到满足精度或者迭代次数fori=1:Tforj=1:N%更新个体最优位置和最优值if(func2(x(j,:))<pbest(j))p(j,:)=x(j,:);pbest(j)=func2(x(j,:));end

%更新全局最优位置和最优值if(pbest(j)<gbest)g=p(j,:);gbest=pbest(j);end

%计算动态惯性权重值w=Wmax-(Wmax-Wmin)*i/T;%更新位置和速度值v(j,:)=w*v(j,:)+c1*rand*(p(j,:)-x(j,:))...+c2*rand*(g-x(j,:));x(j,:)=x(j,:)+v(j,:);%边界条件处理forii=1:Dif(v(j,ii)>Vmax)|(v(j,ii)<Vmin)v(j,ii)=rand*(Vmax-Vmin)+Vmin;endif(x(j,ii)>Xmax)|(x(j,ii)<Xmin)x(j,ii)=rand*(Xmax-Xmin)+Xmin;endendend%记录历代全局最优值gb(i)=gbest;end基于Matlab的粒子群算法实现g;%最优个体

gb(end);%最优值figureplot(gb,'-r*')xlabel('迭代次数');ylabel('适应度值’);title('适应度进化曲线’)

%适应度函数functionvalue=func2(x)val

温馨提示

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

评论

0/150

提交评论