专业学习|改进的多种群竞争粒子群优化算法
学习资料来源:[1]张国浩,王彩玲,王洪伟,等.改进粒子群优化算法结合BP神经网络模型的水体透射光谱总磷浓度预测研究[J].光谱学与光谱分析,2025,45(02):394-402.
一、粒子群优化算法简介
粒子群优化(particle swarm optimization, PSO)算法是一种模拟鸟类觅食行为的群体智能优化算法, 通过模拟粒子在解空间中的移动和信息交流来寻找最优解。 作为一种常见的优化算法, PSO算法通常适用于连续优化问题, 并具有较好的全局搜索和收敛性能[15]。 PSO算法的核心思想是粒子之间相互的合作和信息交流, 通过不断更新粒子的速度和位置来逐步靠近全局最优解。 在寻优过程中, 每个粒子代表一个解, 在搜索过程中通过与其他粒子的交互, 通过自身的个体和群体经验进行位置的调整, 这种合作与信息交流的机制使得粒子能够共同探索解空间, 并逐渐找到更优的解[16]。 然而, PSO算法却存在收敛速度不稳定、 粒子在搜索过程中容易陷入局部最优解等问题。 为了进一步提升算法的性能, 在原始算法的基础上引入了多种优化策略, 在加快算法收敛速度的同时, 尽可能解决原始算法的不足。 图6为改进粒子群算法的优化策略示意图。
二、粒子群初始化规则
二、多种群竞争策略
三、参数更新策略
四、种群多样性引导策略
五、粒子群变异机制
六、参考文献
七、总结
粒子初始化规则
-
问题:原始PSO算法中粒子速度和位置初始化采用随机生成方式,可能导致粒子分布不均匀、收敛时间长。
-
改进方法:使用Logistic映射对粒子群中的速度和位置进行初始化,引入混沌性和随机性,增加粒子多样性,有助于更好地探索解空间,加速算法收敛,改善全局搜索能力。
多种群竞争策略
-
目的:进一步提升粒子群的搜索性能和寻优能力。
-
方法:将整个种群划分为一个主种群和两个从种群,并在两个从种群之间引入竞争策略。通过从种群之间的竞争机制和主从种群间的相互合作和影响来增强算法的寻优能力。粒子在速度更新时会受到自身历史最优解、从种群局部最优解、主种群局部最优解和全局最优解四个优秀粒子的影响,从而更好地探索解空间,避免陷入局部最优解。
参数更新策略
-
问题:传统PSO算法中惯性权重、个体学习因子和社会学习因子通常为固定常数,可能导致寻优结果不稳定,收敛效果差。
-
改进方法:使用参数自适应更新策略动态调整惯性权重、个体学习因子、局部社会学习因子和全局社会学习因子。根据当前粒子的适应度值与粒子群中所有粒子的平均适应度值之间的大小关系进行判断,动态调整参数,以适应问题的变化,并在搜索过程中进行优化。
种群多样性引导策略
-
目的:解决粒子群算法中粒子群体集中分布在某个局部区域时,可能导致种群多样性值较低,算法难以跳出局部最优解的问题。
-
方法:引入粒子种群多样性引导策略,通过多样性值的大小选择适当的粒子速度更新方式。每次迭代过程中计算种群中粒子的多样性值,并根据多样性上界和下界选择合适的速度更新方式,以帮助粒子群体跳出局部最优解,增加对解空间的探索或加快收敛速度。
粒子变异机制
-
目的:进一步提升算法性能,降低粒子陷入局部最优解的风险。
-
方法:在遗传算法和模拟退火算法的基础上提出粒子的变异机制,以增强群体中粒子的随机性和探索能力。在每次迭代完成后循环遍历群体中的每个粒子,并根据变异规则判断是否对粒子进行变异。通过控制变量参数控制扰动因子的大小,对粒子当前位置的每个维度进行扰动后得到扰动向量,并将扰动向量与粒子当前位置相加得到粒子的变异位置,最后根据变异规则判断粒子是否进行变异操作