基本粒子群优化算法_第1页
基本粒子群优化算法_第2页
基本粒子群优化算法_第3页
基本粒子群优化算法_第4页
基本粒子群优化算法_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

粒子群优化算法(PSO)ParticleSwarmOptimization目的基础利用粒子群中粒子的协作找到最优解粒子群优化算法发展简介粒子群优化算法的基本思想基本粒子群算法描述基本粒子群优化算法的算法流程算法例子改进算法简介粒子群算法同其它算法的融合

由Kennedy和Eberhart于1995年提出.群体迭代,粒子在解空间追随最优的粒子进行搜索.

简单易行

粒子群算法:收敛速度快

设置参数少1、粒子群算法发展历史简介

2、粒子群算法的基本思想粒子群算法的思想源于对鸟群捕食行为的研究.生活中的现象:鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。模拟鸟群飞行觅食的行为。鸟之间通过集体的协作使群体达到最优目的,是一种基于SwarmIntelligence的优化方法。对最大恩赐!粒子群算法的基本思想

设想这样一个场景:一群鸟在随机搜索食物在这块区域里只有一块食物;所有的鸟都不知道食物在哪里;

但它们能感受到当前的位置离食物还有多远.

已知那么:找到食物的最优策略是什么呢?

搜寻目前离食物最近的鸟的周围区域.根据自己飞行的经验判断食物的所在。PSO正是从这种模型中得到了启发.

3.1、算法概括介绍

每个寻优问题的解都被想像成一只鸟,称为“粒子”。所有粒子都在一个D维空间进行搜索。所有的粒子都由一个fitnessfunction

确定适应值以判断目前的位置好坏。每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。每一个粒子还有一个速度以决定飞行的距离和方向。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。3.2、粒子群算法精确描述在D维目标搜索空间中,n个粒子组成一个群落,每个粒子i包含一个D维向量和速度向量。粒子i在搜索D维解空间时,记住其搜索到的最优位置Pi。在每次迭代中,粒子i根据自身惯性及自身经验Pi和群体最优经验Pg调整自身的速度向量,进而调整自身位置。可以通过适值函数来衡量粒子的优劣。

PSO算法采用如下公式更新粒子状态:3.3、参数设置位置向量

表示粒子i目前所处的D维空间位置,通常,需要限定xid的搜索范围[xmin,xmax]。速度向量

需要限定Vm,作用在于维护算法探索能力和开发能力的平衡。Vm较大时,探索能力增强,但粒子容易飞过最优解;Vm较小时,开发能力增强,但容易陷入局部最优解。随机数r1和r2是取值介于(0,1)之间的随机数。在迭代中若Xid、Vid超出了边界值,则该维的速度或位置被限制为该维最大速度或边界位置种群大小 m是一个整型参数。m很小时可能会导致局部优化,m较大时,PSO的优化能力很好,但当群体数目增长至一定水平时,再增长将不再有显著的作用。惯性因子

w是非负常数,调节对解空间的搜索范围。较大的惯性因子可以加强算法的全局探索能力,较小的惯性因子能增加算法的局部开发能力。学习因子学习因子c1和c2是非负常数,代表粒子偏好的权值。c1与c2之和为4.1时搜索效率会较高。

c1=0,无私型粒子群算法:"只有社会,没有自我",迅速丧失群体多样性,易陷入局优而无法跳出。c2=0,自我认知型粒子群算法:"只有自我,没有社会",完全没有信息的社会共享,导致算法收敛速度缓慢。

前次迭代中粒子i自身的速度。“自我认知”部分,表示粒子本身的思考,可理解为粒子i当前位置与自己最好位置之间的距离。“社会经验”部分,表示粒子间的信息共享合作,可理解为粒子i当前位置与群体最好位置之间的距离。区域最优解全域最佳解运动向量惯性向量4、基本粒子群算法的算法流程Step1:(初始化)对于每一个种群中粒子i,i=1,2,···,n随机初始化第i个粒子的位置向量;随机初始化第i个粒子的速度向量;计算第i个粒子,并初始化;以群体中适应值最优的粒子的位置向量初始化;

首先确定种群大小mStep2:循环迭代,直到满足PSO终止条件为止:选择算法的惯性因子w;对每个粒子,若则;搜索值,若,则;对每个粒子,依据位置和速度更新公式更新和值。停止准则

停止准则一般有如下两种:

最大迭代步数

可接受的满意解

粒子群优化算法流程图

开始初始化粒子群计算每个粒子的适应度根据适应度更新pi、pg,更新粒子位置速度结束noyes达到最大迭代次数或全局最优位置满足最小界限?2维简例Note合理解目前最忧解区域最忧解全域区域5.粒子群算法示例

例求解如下四维Rosenbrock函数的优化问题.种群大小:

解算法的相关设计分析如下.

编码:因为问题的维数是4,所以每个粒子的位置和即算法中粒子的数量,取速度均4维的实数向量.设定粒子的最大速度:初始位置:

设各粒子的初始位置和初始速度为:

对粒子群进行随机初始化包括随机初始化各粒子的位置和速度

初始位置都在搜索范围内[-30,30]初始速度:设各粒子的初始位置和初始速度为:

对粒子群进行随机初始化包括随机初始化各粒子的位置和速度

初始速度:初始位置:

计算每个粒子的适应值

按照计算适应值历史最优解更新粒子的速度和位置:,得到速度和位置的更新函数为初始速度:初始位置:

群体历史最优解:个体历史最优解:更新速度,得:初始速度:初始位置:

群体历史最优解:个体历史最优解:更新位置,得:初始速度:初始位置:

群体历史最优解:个体历史最优解:不强行拉回解空间更新位置,得:初始速度:初始位置:

群体历史最优解:个体历史最优解:按照计算适应值重复上述步骤,将迭代进行下去.

按照计算适应值历史最优解从上述结果,可以看出,经过10000次迭代,粒子群算法得到了比较好的适应值.

matlab程序例:求下面函数的最小值输出结果6、粒子群算法的改进按解决问题划分,粒子群算法可以分为解决实数优化问题的基本粒子群算法及其改进算法、解决二进制离散编码的粒子群算法(BPSO)和解决组合优化问题的离散粒子群算法。按改进粒子群算法的方式划分,可分为针对实数粒子群算法的参数改进算法、种群结构(或行为模式)改进算法、全局算法和离散粒子群算法等。参数改进型粒子群

温馨提示

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

评论

0/150

提交评论