‘壹’ 第三十四弹——乌鸦搜索算法
本期介绍的乌鸦搜索算法(Crow Search Algorithm, CSA),由Alireza Askarzadeh于2016年提出,旨在模仿乌鸦将多余食物藏在隐蔽处并适时取食的行为,近年来因其优良的工程解算性能而得到广泛应用。
乌鸦,一种广泛分布的鸟类,被认为是世界上最聪明的动物之一。它们会将多余的食物藏在隐蔽位置,用以应对饥饿,这种行为为算法的设计提供了灵感。算法基于乌鸦群体生活、记忆储存地点、互相追逐偷盗以及在被跟踪时采取保护措施等自然行为进行建模。
在每次迭代中,算法模拟乌鸦根据选择的伙伴位置更新自己的位置。乌鸦之间的互动,包括跟踪与被跟踪,以及在被发现时转移到随机位置,成为算法的核心机制。感知概率参数控制跟踪行为的成败,影响个体搜索方式的局部或全局性。
乌鸦搜索算法的迭代过程简单直观,通过固定参数优化搜索能力,既体现了算法的全局探索潜力,又考虑到局部优化。然而,面对复杂多峰函数和复合函数时,算法的处理能力受限。
在性能测试部分,乌鸦搜索算法与其他算法(如学生心理优化算法和郊狼优化算法)在CEC2017测试函数上的对比显示,算法在较为简单的函数上表现尚可,但在复杂函数处理上存在不足。作者通过设定飞行距离参数fl和感知概率参数AP,优化了算法的全局搜索和局部搜索能力,但性能仍有提升空间。
总的来说,乌鸦搜索算法结构简洁,既体现了算法设计的创新性,也揭示了在复杂函数处理上的局限性。通过调整关键参数,如飞行距离和感知概率,可以进一步优化算法性能,提高其解决复杂问题的能力。