乌鸦搜索算法(Crow Search Algorithm, CSA)
CSA算法是最近发展起来的一种新的群体智能算法,它模拟乌鸦储存多余食物并在需要时取出食物的行为。在优化理论中,乌鸦是搜索者,周围环境是搜索空间,随机存储食物的位置是一种可行的解决方案。在所有的食物位置中,储存食物最多的位置被认为是全局最优解,目标函数是食物的数量。CSA通过模拟乌鸦的智能行为,试图找到各种优化问题的最优解。由于其实现简单、参数数量少、灵活性等优点,它在世界范围内获得了相当大的兴趣。
CSA的流程图,其主要阶段如下:
1)在d维随机初始化乌鸦群。
2)用适应度函数对每只乌鸦进行评价,并将其值作为初始记忆值。每只乌鸦都把它的藏身之处存储在它的内存变量mi中。
3)乌鸦通过随机选择另一只乌鸦,即xj,并生成一个随机值来更新自己的位置。如果此值大于感知概率' AP ',则乌鸦xi将跟随xj了解mj。
4)乌鸦通过随机选择另一只乌鸦xj来更新自己的位置,并跟随它来知道mj。那么新的xj计算如下
式中APj,iter为乌鸦j感知概率,iter为迭代次数,ri、rj为随机数,fli,iter为乌鸦i的飞行长度,表示乌鸦j的记忆。
5)更新记忆