公式的第一部分称为【记忆项】,表示上次速度大小和方向的影响;公式的第二部分称为【自身认知项】,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分;公式的第三部分称为【群体认知项】,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和知识共享。粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动式。
vi = w*vi + c1 * rand *(pbesti - xi) + c2 * rand * (gbesti - xi);
xi = xi + vi
rand: 介于0-1之间的随机数
w:惯性因子,非负,其值大,全局寻优能力强,局部寻优能力弱;值小,全局寻优能力弱,局部强
pbesti: 个体历史最优值
gbesti: 群体最优值
粒子群算法流程图:

实例计算:

1307

被折叠的 条评论
为什么被折叠?



