鸽群算法(Pigeon-inspired Optimization, PIO)是一种基于自然界中鸽子群体行为的智能优化算法,由Duan等人于2014年提出。该算法模拟了鸽子在飞行过程中利用地标、太阳和磁场等导航机制的行为,具有简单、高效和易于实现的特点,适用于解决连续优化问题。
更多的仿生群体算法概括可以看我的文章:
仿生的群体智能算法总结之一(十种)_最新群体算法-CSDN博客
仿生的群体智能算法总结之二(十种)_候鸟优化算法-CSDN博客
仿生的群体智能算法总结之三(十种)_群智能算法-CSDN博客
一、鸽群算法的基本原理
1.基本原理
鸽群算法是根据家鸽自主归巢行为而提出的优化算法。家鸽在归巢过程中,能够利用自身的磁感应结构感知地磁场,形成地图认知,并通过地标等导航工具进行路径规划。受此启发,鸽群算法通过模拟鸽群的导航行为,实现对复杂问题的优化求解。
2.核心算子
(1)地图和指南针算子:该算子模拟了鸽子利用地图和指南针进行导航的过程。在算法中,每只鸽子都有一个虚拟的位置和速度,通过不断更新位置和速度来搜索最优解。位置和速度的更新公式中包含了地图和指南针因数,该因数取值范围在0到1之间,用于控制鸽子搜索的方向和范围。
(2)地标算子:当地标算子启动时,鸽群会依赖周围的地标来调整飞行方向和速度。在算法中,远离目的地的鸽子会被视为对地表不熟悉,它们将不再具有分辨路径的能力。此时,鸽群会通过找寻周围的地标来优化自身的飞行方向和速度。为了进一步减少算法的寻优时间,每次迭代都会抛弃种群中位置较差的个体,种群数量减半后,计算种群中心位置,并以中心位置为飞行依据,更新个体飞行方向。
简单来说,鸽群算法的灵感来源于鸽子的两种导航行为:
(1)地标算子(Landmark Operator):
鸽子在接近目的地时,会依赖地标(如建筑物、山脉等)来调整飞行方向。
在算法中,地标算子用于局部搜索,帮助个体向全局最优解靠近。
(2)指南针算子(Compass Operator):
鸽子在长距离飞行时,依赖太阳和地球磁场进行导航。
在算法中,指南针算子用于全局搜索,帮助个体探索解空间。