粒子群算法
算法流程
粒子群算法的参数
(1)惯性权重w
使得粒子保持运动惯性,十七有搜索扩展空间的趋势,有能力探索新的区域。
也表示粒子对于当前自身运动状态的信任,依据自身的速度进行惯性运动。
较大的w有利于跳出局部极值,而较小的w有利于算法的收敛
速度更新图
惯性速度大的粒子更加趋向于探索未知的空间,保证算法的探索能力
惯性小的粒子更加趋向于跟随种群最优的方向,保证算法的收敛能力。
(2)改进的惯性权重w
在解决实际优化问题的时候,往往希望先采用全局搜索,使得搜索空间快速收敛于某一个区域,然后再采用局部精细搜索以获得高精度的解。
因此,提出了自适应调整的策略,即随着迭代的进行,线性的减小w的值
(3)加速因子c1,和c2
是代表将例子推向个体最优位置pbest(即Pi)和群体最优位置gbest的统治加速项的权重。
表示粒子的动作来源于自己的经验的部分和其他的粒子的经验的部分。
低的值使得粒子在目标区域外徘徊,而高的值导致粒子越过目标 区域。
鸟类觅食和粒子群算法的对印关系
鸟类觅食 | 粒子群算法 |
森林 | 求解空间 |
食物的量 | 目标函数值 |
每只鸟所处的位置 | 空间中的一个解(粒子的位置) |
食物量最多的位置 | 全局最优解 |
粒子群算法的优点是什么?
- 简单容易实现
- 收敛速度快
- 粒子具有记忆功能
粒子群算法的缺点是什么?
- 缺乏速度的自适应调节,容易陷入局部最优,可能导致收敛精度低或者不收敛
- 标准粒子群算法不能够有效求解离散以及组合优化的问题
- 参数难以确定,对于不同的问题,需要选择合适的参数来达到最优的效果