1、粒子群优化算法详细易懂很多例子(优选)粒子群优化算法详细易懂很多例子解决最优化问题解决最优化问题的方法的方法n 传统搜索方法传统搜索方法n保证能找到最优解保证能找到最优解n Heuristic SearchHeuristic Searchn不能保证找到最优解不能保证找到最优解 由由KennedyKennedy和和EberhartEberhart于于19951995年提出年提出 群体迭代,粒子在解空间追随最优的粒子进行搜索群体迭代,粒子在解空间追随最优的粒子进行搜索.简单易行简单易行 粒子群算法粒子群算法:收敛速度快收敛速度快 设置参数少设置参数少 已成为现代优化方法领域研究的热点已成为现代优化
2、方法领域研究的热点粒子群算法发展历史简介粒子群算法发展历史简介 粒子群粒子群算法的基本思想算法的基本思想q 粒子群算法的思想源于对鸟群捕食行为的研究粒子群算法的思想源于对鸟群捕食行为的研究q 模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于体达到最优目的,是一种基于Swarm IntelligenceSwarm Intelligence的优化的优化方法方法。q 马良教授在他的著作马良教授在他的著作蚁群优化算法蚁群优化算法一书的前言中写到一书的前言中写到:q 大自然对我们的最大恩赐!大自然对我们的最大恩赐!“自然界的蚁
3、群、鸟群、鱼群、自然界的蚁群、鸟群、鱼群、羊群、牛群、蜂群等,其实时时刻刻都在给予羊群、牛群、蜂群等,其实时时刻刻都在给予我们以某种启示,只不过我们常常忽略了我们以某种启示,只不过我们常常忽略了大自然对我们的最大恩赐!大自然对我们的最大恩赐!.”粒子群粒子群算法的基本思想算法的基本思想 设想这样一个场景:设想这样一个场景:一群鸟在随机搜索食物一群鸟在随机搜索食物 在这块区域里只有一块食物在这块区域里只有一块食物;所有的鸟都不知道食物在哪里所有的鸟都不知道食物在哪里;但它们能感受到当前的位置离食物还有多远但它们能感受到当前的位置离食物还有多远.已知已知那么那么:找到食物的最优策略是什么呢?找到食
4、物的最优策略是什么呢?搜寻目前离食物最近的鸟的周围区域搜寻目前离食物最近的鸟的周围区域 根据自己飞行的经验判断食物的所在。根据自己飞行的经验判断食物的所在。PSO正是从这种模型中得到了启发正是从这种模型中得到了启发 PSO的基础的基础:信息的社会共享信息的社会共享 n生物学家对鸟生物学家对鸟(鱼鱼)群捕食的行为研究群捕食的行为研究n社会行为社会行为(Social-Only Model)n个体认知个体认知(Cognition-Only Model)算法介绍 q每个寻优的问题解都被想像成一只鸟,称为“粒子”。所有粒子都在一个D维空间进行搜索。q所有的粒子都由一个fitness function 确
5、定适应值以判断目前的位置好坏。q每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。q每一个粒子还有一个速度以决定飞行的距离和方向。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。羊群、牛群、蜂群等,其实时时刻刻都在给予粒子群算法的构成要素-权重因子邻域随迭代次数的增加线性变大,最后邻域扩展到整个粒子群。根据公式更新每个粒子的速度与位置。另一种是只将群体中的部分个体作为粒子的邻域c1,c2加速度常数,调节学习最大步长根据自己飞行的经验判断食物的所在。D维空间中,有N个粒子;但它们能感受到当前的位置离食物还有多远.设各粒子的初始位置 和初始速度 为:c1,c2都不为0,称为r1,r
6、2两个随机函数,取值范围0,1,以增加搜索随机性根据自己飞行的经验判断食物的所在。个体历史最优解:第三部分为“社会”部分,表示粒子间的信息共享与合作,可理解为粒子i当前位置与群体最好位置之间的距离。对每个粒子,将其当前适应值与其个体历史最佳位置(pbest)对应的适应值做比较,如果当前的适应值更高,则将用当前位置更新历史最佳位置pbest。粒子群优化算法求最优解粒子群优化算法求最优解 D维空间中,有N个粒子;粒子i位置:x xi i=(xi1,xi2,xiD),将xi代入适应函数f(xi)求适应值;粒子i速度:v vi i=(vi1,vi2,viD)粒子i个体经历过的最好位置:pbestpbe
7、sti i=(pi1,pi2,piD)种群所经历过的最好位置:gbestgbest=(g1,g2,gD)通常,在第d(1dD)维的位置变化范围限定在 内,速度变化范围限定在 内(即在迭代中若 超出了边界值,则该维的速度或位置被限制为该维最大速度或边界 位置)min,max,X,ddX,max,-V,max ddVidvid、xq 粒子i的第d维速度更新公式:q 粒子i的第d维位置更新公式:第k次迭代粒子i飞行速度矢量的第d维分量 第k次迭代粒子i位置矢量的第d维分量 c1,c2加速度常数,调节学习最大步长 r1,r2两个随机函数,取值范围0,1,以增加搜索随机性 w 惯性权重,非负数,调节对解
8、空间的搜索范围kk-111idid1 12 2v=wv()()kkididdidc r pbestxc r gbestx11kkkidididxxvkidvkidxq 粒子速度更新公式包含三部分:第一部分为粒子先前的速度 第二部分为“认知”部分,表示粒子本身的思考,可理解为粒子i当前位置与自己最好位置之间的距离。第三部分为“社会”部分,表示粒子间的信息共享与合作,可理解为粒子i当前位置与群体最好位置之间的距离。kk-111idid1 12 2v=wv()()kkididdidc r pbestxc r gbestx區域區域最佳解最佳解全域全域最佳解最佳解運動向量運動向量慣性向量慣性向量12X=
9、X,X,.,Xiiiid12V=V,V,.,Viiiid12(1)()()()()()()()ididididgdidttttvw vc randpxcrandpx(1)()()iiitttxxvpg1111122V=V+C*r*(Pbest-X)+C*r*(gbest-X)kkkkiiiii11X=X+Vkkkiii12NX=X,X,.,Xiiii12NV=V,V,.,Viiii算法流程qInitial:初始化粒子群体(群体规模为n),包括随机位置和速度。qEvaluation:根据fitness function,评价每个粒子的适应度。qFind the Pbest:对每个粒子,将其当前适
10、应值与其个体历史最佳位置(pbest)对应的适应值做比较,如果当前的适应值更高,则将用当前位置更新历史最佳位置pbest。qFind the Gbest:对每个粒子,将其当前适应值与全局最佳位置(gbest)对应的适应值做比较,如果当前的适应值更高,则将用当前粒子的位置更新全局最佳位置gbest。qUpdate the Velocity:根据公式更新每个粒子的速度与位置。q如未满足结束条件,则返回步骤2 通常算法达到最大迭代次数 或者最佳适应度值的增量小于某个给定的阈值时算法停止。maxG根据自己飞行的经验判断食物的所在。“只有社会,没有自我”由Kennedy和Eberhart于1995年提出
11、Vm一般设为每维变量变化范围的1020.社会经验部分初始化粒子群体(群体规模为n),包括随机位置和速度。包括随机位置和速度局部版本的粒子群算法收敛速度慢,但是很难陷入局部最优。前次迭代中自身的速度c1,c2都不为0,称为生物学家对鸟(鱼)群捕食的行为研究解 算法的相关设计分析如下社会经验部分由此,将粒子群算法分为个体历史最优解:个体认知(Cognition-Only Model)其实这两个方面是矛盾的。权重因子:惯性因子 、学习因子粒子群算法:收敛速度快粒子群优化算法流程图粒子群优化算法流程图 开始初始化粒子群计算每个粒子的适应度根据适应度更新pbest、gbest,更新粒子位置速度结束noy
12、es达到最大迭代次数或全局最优位置满足最小界限?粒子群粒子群算法的算法的构成要素构成要素 -群体大小群体大小 m m m 是一个整型参数是一个整型参数 m 很小很小:m 很大很大:当群体数目增长至一定水平时,再增长将当群体数目增长至一定水平时,再增长将不再有显不再有显 但收敛速度慢但收敛速度慢著的作用著的作用陷入局优的可能性很大陷入局优的可能性很大 PSO的优化能力很好,的优化能力很好,粒子群粒子群算法的算法的构成要素构成要素-权重因子权重因子 权重因子:惯性因子权重因子:惯性因子 、学习因子、学习因子 1c2c失去对粒子本身失去对粒子本身的的速度的记忆速度的记忆 1社会经验部分社会经验部分
13、前次迭代中自身的速度前次迭代中自身的速度 自我认知部分自我认知部分 基本粒子群算法基本粒子群算法 粒子的速度更新主要由三部分组成:粒子的速度更新主要由三部分组成:惯性因子惯性因子 kv0kk-111idid1 12 2v=wv()()kkididdidc r pbestxc r gbestx11 1()kididc r pbestx12 2()kdidc r gbestx粒子群粒子群算法的算法的构成要素构成要素-权重因子权重因子 权重因子:惯性因子权重因子:惯性因子 、学习因子、学习因子 1c2c社会经验部分社会经验部分 前次迭代中自身的速度前次迭代中自身的速度 自我认知部分自我认知部分 粒子
14、的速度更新主要由三部分组成:粒子的速度更新主要由三部分组成:kvkk-111idid1 12 2v=wv()()kkididdidc r pbestxc r gbestx11 1()kididc r pbestx12 2()kdidc r gbestx学习因子学习因子 1c10c 无私型粒子群算法无私型粒子群算法“只有社会,没有自我只有社会,没有自我”迅速丧失群体多样性,迅速丧失群体多样性,易陷入局优而无法跳出易陷入局优而无法跳出粒子群粒子群算法的算法的构成要素构成要素-权重因子权重因子 权重因子:惯性因子权重因子:惯性因子 、学习因子、学习因子 1c2c社会经验部分社会经验部分 前次迭代中自
15、身的速度前次迭代中自身的速度 自我认知部分自我认知部分 粒子的速度更新主要由三部分组成:粒子的速度更新主要由三部分组成:kvkk-111idid1 12 2v=wv()()kkididdidc r pbestxc r gbestx11 1()kididc r pbestx12 2()kdidc r gbestx自我认知型粒子群算法自我认知型粒子群算法“只有自我,没有社会只有自我,没有社会”完全没有信息的社会共享,完全没有信息的社会共享,导致算法收敛速度缓慢导致算法收敛速度缓慢 学习因子学习因子 2c20c 粒子群粒子群算法的算法的构成要素构成要素-权重因子权重因子 权重因子:惯性因子权重因子:
16、惯性因子 、学习因子、学习因子 1c2c社会经验部分社会经验部分 前次迭代中自身的速度前次迭代中自身的速度 自我认知部分自我认知部分 粒子的速度更新主要由三部分组成:粒子的速度更新主要由三部分组成:kvkk-111idid1 12 2v=wv()()kkididdidc r pbestxc r gbestx11 1()kididc r pbestx12 2()kdidc r gbestxc c1 1,c,c2 2都不为都不为0 0,称为,称为完全型粒子群算法完全型粒子群算法 完全型粒子群算法更容易保持收敛速度和搜索效完全型粒子群算法更容易保持收敛速度和搜索效果的均衡,是较好的选择果的均衡,是较
17、好的选择 粒子群粒子群算法的算法的构成要素构成要素-最大速度最大速度 但但 在于维护算法的探索能力与开发能力的平衡在于维护算法的探索能力与开发能力的平衡 Vm较大时,探索能力增强,较大时,探索能力增强,mV作用作用:Vm较小时,开发能力增强,较小时,开发能力增强,mVmVVm一般设为每维变量变化范围的一般设为每维变量变化范围的1020.但但 粒子容易飞过最优解粒子容易飞过最优解 容易陷入局部最优容易陷入局部最优 mV根据公式更新每个粒子的速度与位置。Update the Velocity:包括随机初始化各粒子的位置和速度粒子群算法的思想源于对鸟群捕食行为的研究对每个粒子,将其当前适应值与全局最
18、佳位置(gbest)对应的适应值做比较,如果当前的适应值更高,则将用当前粒子的位置更新全局最佳位置gbest。计算每个粒子的适应值更新粒子的速度和位置:更新粒子的速度和位置:超出了边界值,则该维的速度或位置被限制为该维最大速度或边界前次迭代中自身的速度1998年,Shi和Eberhart引入了惯性权重w,并提出动态调整惯性权重以平衡收敛的全局性和收敛速度,该算法被称为标准PSO算法群体历史最优解:设各粒子的初始位置 和初始速度 为:包括随机初始化各粒子的位置和速度从上面的介绍可以看到,粒子群算法与其他现代陷入局优的可能性很大解 算法的相关设计分析如下Heuristic Search所有粒子都在
19、一个D维空间进行搜索。包括随机初始化各粒子的位置和速度模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。粒子群粒子群算法的算法的构成要素构成要素-邻域的拓扑结构邻域的拓扑结构 全局粒子群算法和局部粒子群算法全局粒子群算法和局部粒子群算法 gp粒子群算法的邻域拓扑结构包括两种,粒子群算法的邻域拓扑结构包括两种,一种是将群体内所有个体都作为粒子的邻域,一种是将群体内所有个体都作为粒子的邻域,另一种是只将群体中的部分个体作为粒子的邻域另一种是只将群体中的部分个体作为粒子的邻域 群体历史最优位置群体历史最优位置 邻域拓扑结构邻域
20、拓扑结构决定决定 由此,将粒子群算法分为由此,将粒子群算法分为粒子群粒子群算法的算法的构成要素构成要素-邻域的拓扑结构邻域的拓扑结构 全局粒子群算法全局粒子群算法 1.1.粒子自己历史最优值粒子自己历史最优值 2.2.粒子群体的全局最优值粒子群体的全局最优值局部粒子群算法局部粒子群算法 1.1.粒子自己历史最优值粒子自己历史最优值 2.2.粒子邻域内粒子的最优值粒子邻域内粒子的最优值 邻域随迭代次数的增加线性变大,最后邻域扩展到整个粒子群。邻域随迭代次数的增加线性变大,最后邻域扩展到整个粒子群。经过实践证明:全局版本的粒子群算法收敛速度快,但是容易陷入经过实践证明:全局版本的粒子群算法收敛速度
21、快,但是容易陷入局部最优。局部版本的粒子群算法收敛速度慢,但是很难陷入局部最局部最优。局部版本的粒子群算法收敛速度慢,但是很难陷入局部最优。现在的粒子群算法大都在收敛速度与摆脱局部最优这两个方面下优。现在的粒子群算法大都在收敛速度与摆脱局部最优这两个方面下功夫。其实这两个方面是矛盾的。看如何更好的折中了。功夫。其实这两个方面是矛盾的。看如何更好的折中了。粒子群粒子群算法的算法的构成要素构成要素-停止准则停止准则 停止准则一般有如下两种:停止准则一般有如下两种:最大迭代步数最大迭代步数 可接受的满意解可接受的满意解 粒子群粒子群算法的算法的构成要素构成要素-粒子空间的初始化粒子空间的初始化 较好
22、地选择粒子的初始化空间,将大大缩短收较好地选择粒子的初始化空间,将大大缩短收敛时间初始化空间根据具体问题的不同而不同,敛时间初始化空间根据具体问题的不同而不同,也就是说,这是问题依赖的也就是说,这是问题依赖的 从上面的介绍可以看到,粒子群算法与其他现代从上面的介绍可以看到,粒子群算法与其他现代优化方法相比的一个明显特色就是所需调整的参数很优化方法相比的一个明显特色就是所需调整的参数很少相对来说,惯性因子和邻域定义较为重要这些少相对来说,惯性因子和邻域定义较为重要这些为数不多的关键参数的设置却对算法的精度和效率有为数不多的关键参数的设置却对算法的精度和效率有着显著影响着显著影响3.粒子群粒子群算
23、法示例算法示例 例例 求解如下四维求解如下四维Rosenbrock函数的优化问题函数的优化问题 322211min()100()(1)iiiifxxxx种群大小:种群大小:30,30(1,2,3,4)ixi 解解 算法的相关设计分析如下算法的相关设计分析如下 编码:因为问题的维数是编码:因为问题的维数是4,所以每个粒子的位置和,所以每个粒子的位置和 max60V即算法中粒子的数量,取即算法中粒子的数量,取 5m 速度均速度均4 维的实数向量维的实数向量设定粒子的最大速度:设定粒子的最大速度:初始位置:初始位置:0ix设各粒子的初始位置设各粒子的初始位置 和初始速度和初始速度 为:为:0iv对粒
24、子群进行随机初始化对粒子群进行随机初始化 包括随机初始化各粒子的位置和速度包括随机初始化各粒子的位置和速度 (0)121.721,9.13677,6.62244,3.84079x(0)329.6563,0.871811,27.8912,17.7425 x(0)2 13.5001,23.6131,17.4462,29.0515 x(0)528.0992,22.6482,0.675616,8.43752 x(0)423.6218,16.4885,22.7019,25.4033x初始速度:初始速度:0ix设各粒子的初始位置设各粒子的初始位置 和初始速度和初始速度 为:为:0iv对粒子群进行随机初始化
25、对粒子群进行随机初始化 包括随机初始化各粒子的位置和速度包括随机初始化各粒子的位置和速度 (0)1 19.9048,29.562,22.104,5.45346 v(0)37.83576,55.7173,40.9177,28.255 v(0)220.5922,28.6944,26.3216,19.0615 v(0)517.561,13.5365,51.2722,56.098v(0)4 11.6373,41.0138,17.7311,14.87 v初始速度:初始速度:(0)(0)(0)(0)(0)12345,vvvvv初始位置:初始位置:(0)(0)(0)(0)(0)12345,xxxxx(0)7
26、1()2.38817 10fx计算每个粒子的适应值计算每个粒子的适应值 (0)72()4.45306 10fx322211()100()(1)iiiifxxxx按照按照 计算适应值计算适应值 (0)1gpx(0)75()8.50674 10fx(0)74()6.56888 10fx(0)83()1.35376 10fx历史最优解历史最优解0,(1,2,3,4,5)iiipx更新粒子的速度和位置:更新粒子的速度和位置:12()2(),kkkkgkvvpxpx11kkkxxv122cc01c 取取 ,,得到速度和位置的更新函数为得到速度和位置的更新函数为 初始速度:初始速度:(0)(0)(0)(0
27、)(0)12345,vvvvv初始位置:初始位置:(0)(0)(0)(0)(0)12345,xxxxx群体历史最优解:群体历史最优解:(0)1gpx0,(1,2,3,4,5)iiipx个体历史最优解:个体历史最优解:(1)1 19.9048,29.562,22.104,5.45346 v(1)240.0498,3.76972,44.9573,75.6939v更新速度,得:更新速度,得:(1)314.8665,59.3694,25.667,22.1122v初始速度:初始速度:(0)(0)(0)(0)(0)12345,vvvvv初始位置:初始位置:(0)(0)(0)(0)(0)12345,xxxx
28、x群体历史最优解:群体历史最优解:(0)1gpx0,(1,2,3,4,5)iiipx个体历史最优解:个体历史最优解:12()2(),kkkkgkvvpxpx(1)4 13.843,32.4824,51.7604,39.892 v(1)595.9018,63.5174,60.6234,36.7907v60606060(1)11.81621,20.4252,15.4816,1.61267x(1)226.5497,27.3829,27.5112,30.9485x更新位置,得:更新位置,得:(1)3 14.7898,60.2412,53.5582,39.8547 x初始速度:初始速度:(0)(0)(0
29、)(0)(0)12345,vvvvv初始位置:初始位置:(0)(0)(0)(0)(0)12345,xxxxx群体历史最优解:群体历史最优解:(0)1gpx0,(1,2,3,4,5)iiipx个体历史最优解:个体历史最优解:(1)49.77877,48.971,29.0584,14.4887x(1)531.9008,37.3518,60.6756,45.2282x11kkkxxv不强行拉回解空间不强行拉回解空间 (1)11.81621,20.4252,15.4816,1.61267x(1)226.5497,27.3829,27.5112,30.9485x更新位置,得:更新位置,得:(1)3 14
30、.7898,60.2412,53.5582,39.8547 x初始速度:初始速度:(0)(0)(0)(0)(0)12345,vvvvv初始位置:初始位置:(0)(0)(0)(0)(0)12345,xxxxx群体历史最优解:群体历史最优解:(0)1gpx0,(1,2,3,4,5)iiipx个体历史最优解:个体历史最优解:(1)49.77877,48.971,29.0584,14.4887x(1)531.9008,37.3518,60.6756,45.2282x322211()100()(1)iiiifxxxx按照按照 计算适应值计算适应值 重复上述步骤,将迭代进行下去重复上述步骤,将迭代进行下去
31、 322211()100()(1)iiiifxxxx按照按照 计算适应值计算适应值 (1)71()2.45726 10fx(1)93()2.16403 10fx(1)82()1.6674 10fx(1)84()6.37125 10fx(1)95()1.6783 10fx历史最优解历史最优解 从上述结果,可以看出,经过从上述结果,可以看出,经过10000次迭代,次迭代,粒子群算法得到了比较好的适应值粒子群算法得到了比较好的适应值.4.粒子群粒子群算法算法流程流程 第第2步步 计算每个粒子的适应值计算每个粒子的适应值 11kkkxxv1012()(),kkkkgkcccvvpxpx第第1步步 在初
32、始化范围内,对粒子群进行随机初始化,在初始化范围内,对粒子群进行随机初始化,第第5步步 更新粒子的速度和位置,公式如下更新粒子的速度和位置,公式如下 第第3步步 更新粒子个体的历史最优位置更新粒子个体的历史最优位置 第第6步步 若未达到终止条件,则转第若未达到终止条件,则转第2步步 包括随机位置和速度包括随机位置和速度 第第4步步 更新粒子群体的历史最优位置更新粒子群体的历史最优位置 惯性权重 1998 1998年,年,ShiShi和和EberhartEberhart引入了惯性权重引入了惯性权重w w,并提出动,并提出动态调整惯性权重以平衡收敛的全局性和收敛速度,该算法态调整惯性权重以平衡收敛
33、的全局性和收敛速度,该算法被称为标准被称为标准PSOPSO算法算法 惯性权重w描述粒子上一代速度对当前代速度的影响。w值较大,全局寻优能力强,局部寻优能力弱;反之,则局部寻优能力强。当问题空间较大时,为了在搜索速度和搜索精度之间达到平衡,通常做法是使算法在前期有较高的全局搜索能力以得到合适的种子,而在后期有较高的局部搜索能力以提高收敛精度。所以w不宜为一个固定的常数。线性递减权值 wmax最大惯性权重,wmin最小惯性权重,run当前迭代次数,runmax为算法迭代总次数 较大的较大的w w有较好的全局收敛能力,较小的有较好的全局收敛能力,较小的w w则有较强的则有较强的局部收敛能力。因此,随
34、着迭代次数的增加,惯性权重局部收敛能力。因此,随着迭代次数的增加,惯性权重w w应不断减少,从而使得粒子群算法在初期具有较强的全局应不断减少,从而使得粒子群算法在初期具有较强的全局收敛能力,而晚期具有较强的局部收敛能力。收敛能力,而晚期具有较强的局部收敛能力。maxmaxminmax()*runwwwwrun1999年,年,Clerc引入收缩因子以保证算法的收敛性。引入收缩因子以保证算法的收敛性。速度更新公式为其中,收缩因子K为受1 2 限制的w。1 2是需要预先设定的模型参数收缩因子法控制系统行为最终收敛,且可以有效搜索不同区域,该法能得到较高质量的解。1 12 2()()ididididd
35、idvK vr pbestxr gbestx1222,424K 收缩因子法PSO应用但它们能感受到当前的位置离食物还有多远.权重因子:惯性因子 、学习因子权重因子:惯性因子 、学习因子粒子群算法的构成要素-邻域的拓扑结构另一种是只将群体中的部分个体作为粒子的邻域Evaluation:大自然对我们的最大恩赐!粒子群算法的构成要素-邻域的拓扑结构粒子群算法的构成要素-最大速度粒子i的第d维速度更新公式:c1,c2都不为0,称为粒子群算法的邻域拓扑结构包括两种,这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。第4步 更新粒子群体的历史最优位置根据公式更新每个粒子的速度与位置。少相对来说,
36、惯性因子和邻域定义较为重要这些惯性权重w描述粒子上一代速度对当前代速度的影响。粒子邻域内粒子的最优值设各粒子的初始位置 和初始速度 为:每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。在于维护算法的探索能力与开发能力的平衡由Kennedy和Eberhart于1995年提出取 ,Update the Velocity:Vm较大时,探索能力增强,r1,r2两个随机函数,取值范围0,1,以增加搜索随机性根据自己飞行的经验判断食物的所在。社会经验部分社会经验部分c1,c2加速度常数,调节学习最大步长由此,将粒子群算法分为粒子群算法的构成要素-权重因子对每个粒子,将其当前适应值与其个体历史最佳位置
37、(pbest)对应的适应值做比较,如果当前的适应值更高,则将用当前位置更新历史最佳位置pbest。PSO正是从这种模型中得到了启发另一种是只将群体中的部分个体作为粒子的邻域为数不多的关键参数的设置却对算法的精度和效率有已成为现代优化方法领域研究的热点权重因子:惯性因子 、学习因子初始化粒子群体(群体规模为n),包括随机位置和速度。易陷入局优而无法跳出现在的粒子群算法大都在收敛速度与摆脱局部最优这两个方面下功夫。粒子群算法的邻域拓扑结构包括两种,更新粒子的速度和位置:简单易行经过实践证明:全局版本的粒子群算法收敛速度快,但是容易陷入局部最优。权重因子:惯性因子 、学习因子从上面的介绍可以看到,粒子群算法与其他现代反之,则局部寻优能力强。自我认知部分Evaluation:根据公式更新每个粒子的速度与位置。停止准则一般有如下两种:较大的w有较好的全局收敛能力,较小的w则有较强的局部收敛能力。1998年,Shi和Eberhart引入了惯性权重w,并提出动态调整惯性权重以平衡收敛的全局性和收敛速度,该算法被称为标准PSO算法个体历史最优解:粒子的速度更新主要由三部分组成:社会经验部分个体历史最优解:群体迭代,粒子在解空间追随最优的粒子进行搜索.惯性权重w描述粒子上一代速度对当前代速度的影响。PSO存在的问题(1)
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。