1.算法介绍
粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论于1994年正式提出,CAS中的成员称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为主体。主体有适应性,它能够与环境及其他的主体进行交流,并且根据交流的过程“学习”或“积累经验”改变自身结构与行为。整个系统的演变或进化包括:新层次的产生(小鸟的出生);分化和多样性的出现(鸟群中的鸟分成许多小的群);新的主题的出现(鸟寻找食物过程中,不断发现新的食物)。[1]
2.算法原理
1.将问题的搜索空间类比于鸟类的飞行空间。
2.将每一只鸟抽象为一个无质量无体积的微粒(Particle),用于表征每个候选解。
3.优化寻求最优解等同于鸟群寻找食物。
4.PSO为每个微粒制定了类似于鸟类运动的简单行为规则,从而使整个微粒群的运动表现出与鸟类觅食类似的特性,用于求解复杂优化问题。
3.算法流程
假设在D维搜索空间中,有m个粒子;
其中第i个粒子的位置为矢量
其飞翔速度也是一个矢量,记为
第i个粒子搜索到的最优位置为
整个粒子群搜索到的最优位置为
第i个粒子的位置和速度更新为:
4.优缺点
优点:
(1)易于实现;
(2)可调参数较少;
(3)所需种群或微粒群规模较小;
(4)计算效率高,收敛速度快。
缺点:
基本PSO虽然收敛速度快,但有时会陷入局部最优。
[1]链接:https://www.jianshu.com/p/a79a3d7be8cc