粒子群优化算法里的动态局部搜索策略,用起来还蛮巧妙的。尤其是这篇讲的 DLS-BBPSO 算法,做复杂函数优化的时候挺有一套,能避开那种早早陷进局部最优的坑。
裸骨版的 PSO 算法,不搞那些繁杂的公式,直接用高斯分布更新粒子位置,思路清爽。对,就是靠全局最优点来带动全体搜索,收敛速度还挺快。但呢,容易变‘一根筋’,没多样性。
DLS-BBPSO里加了个动态局部搜索,蛮像是“喂一下粒子换个思路”。它会根据当前粒子的表现动态开局部搜索,比如某段时间粒子都“一个德性”了,就触发微调动作。你可以理解成给搜索过程加点‘折腾’,让它跳出陷阱。
作者还挺用心,用了不少基准测试函数来验证,单峰多峰都有,场景够丰富。跟常规 PSO 和其他算法比了一圈,结果还不错,搜索能力挺稳的,尤其在复杂函数那块儿,表现出了蛮强的适应性。
如果你在折腾优化问题,是那些容易卡住的非线性多峰问题,这个 DLS-BBPSO 算法可以试试。代码结构还比较干净,拿来做二次开发也挺合适的。建议先看下核心逻辑再上手,不然容易一脸懵。