PSO算法.ppt
- 文档编号:1404801
- 上传时间:2022-10-22
- 格式:PPT
- 页数:36
- 大小:313.50KB
PSO算法.ppt
《PSO算法.ppt》由会员分享,可在线阅读,更多相关《PSO算法.ppt(36页珍藏版)》请在冰豆网上搜索。
粒子群优化算法ParticleSwarmOptimization,PSO,西华大学数学与计算机学院彭宏SchoolofMath.&Computer,XihuaUniversity,背景,人工生命:
研究具有某些生命基本特征的人工系统。
包括两方面的内容:
1、研究如何利用计算技术研究生物现象;2、研究如何利用生物技术研究计算问题。
我们关注的是第二点。
已有很多源于生物现象的计算技巧,例如神经网络和遗传算法。
现在讨论另一种生物系统-社会系统:
由简单个体组成的群落和环境及个体之间的相互行为。
背景,群智能(swarmintelligence):
模拟系统利用局部信息从而可以产生不可预测的群行为。
我们经常能够看到成群的鸟、鱼或者浮游生物。
这些生物的聚集行为有利于它们觅食和逃避捕食者。
它们的群落动辄以十、百、千甚至万计,并且经常不存在一个统一的指挥者。
它们是如何完成聚集、移动这些功能呢?
Millonas在开发人工生命算法时(1994),提出群体智能概念,并提出五点原则:
1、接近性原则:
群体应能够实现简单的时空计算;2、优质性原则:
群体能够响应环境要素;3、变化相应原则:
群体不应把自己的活动限制在一狭小范围;4、稳定性原则:
群体不应每次随环境改变自己的模式;5、适应性原则:
群体的模式应在计算代价所值得的时候改变。
背景,社会组织的全局群行为是由群内个体行为以非线性方式出现的。
个体间的交互作用在构建群行为中起到重要的作用。
从不同的群研究得到不同的应用。
最引人注目的是对蚁群和鸟群的研究。
其中粒子群优化方法就是模拟鸟群的社会行为发展而来。
背景,对鸟群行为的模拟:
Reynolds、Heppner和Grenader提出鸟群行为的模拟。
他们发现,鸟群在行进中会突然同步的改变方向,散开或者聚集等。
那么一定有某种潜在的能力或规则保证了这些同步的行为。
这些科学家都认为上述行为是基于不可预知的鸟类社会行为中的群体动态学。
在这些早期的模型中仅仅依赖个体间距的操作,也就是说,这中同步是鸟群中个体之间努力保持最优的距离的结果。
背景,对鱼群行为的研究:
生物社会学家E.O.Wilson对鱼群进行了研究。
提出:
“至少在理论上,鱼群的个体成员能够受益于群体中其他个体在寻找食物的过程中的发现和以前的经验,这种受益超过了个体之间的竞争所带来的利益消耗,不管任何时候食物资源不可预知的分散。
”这说明,同种生物之间信息的社会共享能够带来好处。
这是PSO的基础。
背景,粒子群优化算法(PSO),粒子群优化算法(PSO)是一种进化计算技术,由Eberhart博士和kennedy博士于1995年提出的,它源于对鸟群捕食的行为研究。
(KennedyJ,EberhartRParticleswarmoptimizationProceedingsoftheIEEEInternationalConferenceonNeuralNetworks199519421948.)粒子群优化算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解PSO的优势在于简单容易实现并且没有许多参数的调节。
目前已被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。
粒子群优化算法(PSO),设想这样一个场景:
一群鸟在随机的搜索食物。
在这个区域里只有一块食物,所有的鸟都不知道食物在哪。
但是它们知道自己当前的位置距离食物还有多远。
那么找到食物的最优策略是什么?
最简单有效的就是搜寻目前离食物最近的鸟的周围区域。
粒子群优化算法(PSO),基本粒子群算法,抽象:
鸟被抽象为没有质量和体积的粒子(点),并延伸到N维空间,粒子i在N维空间的位置表示为Xi(x1,x2,xN)飞行速度表示为Vi(v1,v2,vN)。
每个粒子都有一个由目标函数决定的适应值(fitnessvalue),并且知道自己到目前为止发现的最好位置(pbest)和现在的位置Xi。
这个可以看作是粒子自己的飞行经验。
除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(gbest)(gbest是pbest中的最好值)。
这个可以看作是粒子同伴的经验。
粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。
PSO的初始化为一群随机粒子(随机解)。
然后通过迭代找到最优解。
在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。
在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。
基本粒子群算法,
(1),
(2),在式
(1)、
(2)中,i1,2,M,M是该群体中粒子的总数,Vi是粒子的速度;pbest和gbest如前定义;rand()是介于(0、1)之间的随机数;Xi是粒子的当前位置。
c1和c2是学习因子,通常取c1c22。
在每一维,粒子都有一个最大限制速度Vmax,如果某一维的速度超过设定的Vmax,那么这一维的速度就被限定为Vmax。
(Vmax0),基本粒子群算法,基本粒子群算法,从社会学的角度来看,公式
(1)的第一部分称为记忆项,表示上次速度大小和方向的影响;公式第二部分称为自身认知项,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分;公式的第三部分称为群体认知项,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和知识共享。
粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。
以上面两个公式为基础,形成了后来PSO的标准形式。
标准粒子群算法,1998年shi等人在进化计算的国际会议上发表了一篇论文Amodifiedparticleswarmoptimizer对前面的公式
(1)进行了修正。
引入惯性权重因子。
(3),
(2),w为非负,称为惯性因子。
公式
(2)和(3)被视为标准PSO算法。
w值较大,全局寻优能力强,局部寻优能力弱;w值较小反之。
初始时,shi将w取为常数,后来实验发现,动态w能够获得比固定值更好的寻优结果。
动态w可以在PSO搜索过程中线性变化,也可根据PSO性能的某个测度函数动态改变。
目前,采用较多的是shi建议的线性递减权值策略(linearlydecreasingweight,LDW)。
标准粒子群算法,线性递减权值策略(LDW),(4),Gk为最大进化代数,wini为初始惯性权值,wend为迭代至最大代数时惯性权值。
典型取值为wini0.9,wend0.4。
(4),w的引入使PSO算法性能有了很大提高,针对不同的搜索问题,可以调整全局和局部搜索能力,也使得PSO算法能成功的应用于很多实际问题。
标准粒子群算法,标准PSO算法的流程:
Step1:
初始化一群粒子(群体规模为m),包括随机位置和速度;Step2:
评价每个粒子的适应度;Step3:
对每个粒子,将其适应值与其经过的最好位置(局部)pbest作比较,如果较好,则将其作为当前的最好位置pbest;Step4:
对每个粒子,将其适应值与群体所经过的最好位置(全局)gbest作比较,如果较好,则将其作为当前的最好位置gbest;Step5:
根据
(2)、(3)式调整粒子速度和位置;Step6:
未达到结束条件则转Step2。
迭代终止条件根据具体问题一般选为最大迭代次数T或(和)微粒群迄今为止搜索到的最优位置满足预定最小适应阈值。
标准粒子群算法,局部和全局最优算法,方程
(2)和(3)中pbest和gbest分别表示粒子群的局部和全局最优位置。
当C10时,则粒子没有了认知能力,变为只有社会的模型(social-only):
被称为全局PSO算法。
粒子有扩展搜索空间的能力,具有较快的收敛速度,但由于缺少局部搜索,对于复杂问题比标准PSO更易陷入局部最优。
(5),局部和全局最优算法,当C20时,则粒子之间没有社会信息,模型变为只有认知(cognition-only)模型:
被称为局部PSO算法。
由于个体之间没有信息的交流,整个群体相当于多个粒子进行盲目的随机搜索,收敛速度慢,因而得到最优解的可能性小。
(6),参数分析,参数有:
群体规模m,惯性因子w,学习因子c1和c2最大速度Vmax,迭代次数T。
群体规模m一般取2040,对较难或特定类别的问题可以取到100200。
最大速度Vmax决定当前位置与最好位置之间的区域的分辨率(或精度)。
如果太快,则粒子有可能越过极小点;如果太慢,则粒子不能在局部极小点之外进行足够的探索,会陷入到局部极值区域内。
这种限制可以达到防止计算溢出、决定问题空间搜索的粒度的目的。
参数分析,权重因子包括惯性因子w和学习因子c1和c2。
惯性因子w使粒子保持着运动惯性,使其具有扩展搜索空间的趋势,有能力探索新的区域。
学习因子c1和c2代表将每个粒子推向Pbest和gbest位置的统计加速项的权值。
较低的值允许粒子在被拉回之前可以在目标区域外徘徊,较高的值导致粒子突然地冲向或越过目标区域。
参数设置:
如果令c1c20,粒子将一直以当前速度的飞行,直到边界,很难找到最优解。
如果w0,则速度只取决于当前位置和历史最好位置,速度本身没有记忆性。
假设一个粒子处在全局最好位置,它将保持静止,其他粒子则飞向它的最好位置和全局最好位置的加权中心,粒子将收缩到当前全局最好位置。
在加上第一部分后,粒子有扩展搜索空间的趋势,这也使得w的作用表现为针对不同的搜索问题,调整算法的全局和局部搜索能力的平衡。
较大时,具有较强的全局搜索能力;较小时,具有较强的局部搜索能力。
参数分析,参数分析,通常设c1c22。
Suganthan的实验表明:
c1和c2为常数时可以得到较好的解,但不一定必须等于2。
Clerc引入收敛因子(constrictionfactor)K来保证收敛性。
其中,(7),(8),通常取为4.1,则K0.729。
实验表明,与使用惯性权重的PSO算法相比,使用收敛因子的PSO有更快的收敛速度。
其实只要恰当的选取和c1、c2,两种算法是一样的。
因此使用收敛因子的PSO可以看作使用惯性权重PSO的特例。
恰当的选取算法的参数值可以改善算法的性能。
参数分析,离散二进制PSO,基本PSO是用于实值连续空间,然而许多实际问题是组合优化问题,因而提出离散形式的PSO。
速度和位置更新公式为:
(9),为sigmoid函数,then,else,其中,(10),基于遗传思想改进的PSO,A、利用选择的方法:
使用的选择算子为锦标赛选择算子,将每个个体的适应度,根据其当前位置,与k个其它个体进行比较,并记下最差的一个点。
群体再用这个记录排序,最高得分出现在群体的头部。
算法流程如下:
(1)从群体中选择一个个体。
将该个体适应度与群体中其它个体的适应度逐一进行比较,如果当前个体的适应度优于某个个体的适应度,则授予该个体一分。
对每个个体重复这一过程。
(2)根据前一步所计算的分数对群体中的个体进行由大到小的排列。
(3)选择群体中顶部的一半个体,并对它们进行复制,取代种群底部的一半个体,在此过程中最佳个体的适应度并未改变。
基于遗传思想改进的PSO,B、借鉴杂交的方法:
Angeline提出了杂交PSO。
粒子群中粒子被赋予一个杂交概率,这个杂交概率由用户确定的,与粒子的适应值无关。
在每次迭代中,依据杂交概率选取指定数量的粒子放入一个池中。
池中的粒子随机地两两地杂交,产生相同数目的子代,并用子代粒子取代父代粒子,以保持种群的粒子数目不变。
基于遗传思想改进的PSO,让a和b表示被选择的两个亲代个体的指针,那么杂交算法的计算公式如下:
(11),(12),这里r1U(0,1)。
经过杂交操作,在由亲代个体形成的超立方体中随机产生了两个新的位置。
速度的交叉处将两个亲代个体的速度之和的长度规格化,因此只有方向受到影响,数量却没有被影响。
基于遗传思想改进的PSO,Lovbjerg等人的研究表明:
繁殖操作降低了单峰函数的收敛率,因此,应用了繁殖算子的PSO比原始的PSO效率更低。
但是在有多个局部最小值的函数中情况恰恰相反。
PSO和其他算法的比较,1、遗传算法和PSO的比较共性:
(1)都属于仿生算法。
(2)都属于全局优化方法。
(3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PSO 算法