PSO模拟鸟群的捕食行为。设想这样一个场景:一群鸟在随机搜索食物。在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。
PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的例子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索
PSO初始化为一群随机粒子(随机解)。然后通过叠代找到最优解。在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解。这个解叫做个体极值pBest. 另一个极值是整个种群目前找到的最优解。这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。
在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置
v[] = v[] + c1 * rand() * (pbest[] - present[]) + c2 * rand() * (gbest[] - present[]) (a)
present[] = persent[] + v[] (b)
v[] 是粒子的速度, persent[] 是当前粒子的位置. pbest[] and gbest[] 如前定义 rand () 是介于(0, 1)之间的随机数. c1, c2 是学习因子. 通常 c1 = c2 = 2.
程序的伪代码如下
For each particle
____Initialize particle
END
Do
____For each particle
________Calculate fitness value
________If the fitness value is better than the best fitness value (pBest) in history
____________set current value as the new pBest
____End
____Choose the particle with the best fitness value of all the particles as the gBest
____For each particle
________Calculate particle velocity according equation (a)
________Update particle position according equation (b)
____End
While maximum iterations or minimum error criteria is not attained
在每一维粒子的速度都会被限制在一个最大速度Vmax,如果某一维更新后的速度超过用户设定的Vmax,那么这一维的速度就被限定为Vmax.
from http://www.hudong.com/wiki/%E7%B2%92%E5%AD%90%E7%BE%A4%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95
分享到:
相关推荐
【python】MOPSO多目标粒子群优化算法 多目标优化算法 【python】MOPSO多目标粒子群优化算法 多目标优化算法 【python】MOPSO多目标粒子群优化算法 多目标优化算法 【python】MOPSO多目标粒子群优化算法 多目标优化...
多个函数利用多种粒子群算法解决优化问题:用二阶粒子群优化算法求解无约束优化问题用二阶振荡粒子群优化算法求解无约束优化问题用混沌粒子群优化算法求解无约束优化问题用基于选择的粒子群优化算法求解无约束优化问...
粒子群优化算法是在对鸟群捕食行为模拟的基础上提出的一种群 集智能算法,是进化计算领域中一个新的分支。它的主要特点是原理简 单、参数少、收敛速度较快、易于实现。因此,该算法一提出就吸引了 的广泛关注,逐渐...
粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等 [1] 的一种新的进化算法(Evolutionary Algorithm - EA)。PSO 算法属于进化...
用基于模拟退火的粒子群优化算法求解无约束优化问题用随机权重粒子群优化算法求解无约束优化问题 用学习因子同步变化的粒子群优化算法求解无约束优化问题 用学习因子异步变化的粒子群优化算法求解无约束优化问题
粒子群优化算法,求解二元函数的最优值和最大值
代码 多目标粒子群优化算法代码代码 多目标粒子群优化算法代码代码 多目标粒子群优化算法代码代码 多目标粒子群优化算法代码代码 多目标粒子群优化算法代码代码 多目标粒子群优化算法代码代码 多目标粒子群优化算法...
粒子群优化算法在节能控制当作用的应用粒子群优化算法在节能控制当作用的应用
粒子群优化算法(详细易懂-很多例子).pdf粒子群优化算法(详细易懂-很多例子).pdf粒子群优化算法(详细易懂-很多例子).pdf粒子群优化算法(详细易懂-很多例子).pdf粒子群优化算法(详细易懂-很多例子).pdf粒子群优化算法...
粒子群优化算法的研究与改进!用CAJViewer打开!
粒子群优化算法的python实现
为提高无线传感器网络的节点定位精度,将惯性权重的粒子群优化算法应用到无线传感器网络节点定位中。定位方法以未知节点与其邻近锚节点之间的估计距离和测量距离的均方误差为适应度函数,采用基于惯性权重的粒子群优化...
软件工程设计文档-有约束条件的粒子群优化算法【精品文档】(完整版).docx软件工程设计文档-有约束条件的粒子群优化算法【精品文档】(完整版).docx软件工程设计文档-有约束条件的粒子群优化算法【精品文档】(完整版)....
第二、就粒子群优化算法在求解最优化问题中的应用,对无约束和有约束最优化问题分别设计了基于粒子群优化算法的不同的求解方法。对于无约束优化问题,本文直接用目标函数作为适应度函数,采用实数编码。对于约束优化...
运用粒子群优化算法进行连杆的优化设计,值得参考学习!
设的0积分,嗯应该是能直接下吧 粒子群优化算法(PSO)和综合粒子群优化算法(CLPSO)MATLAB代码。