『壹』 第三十四彈——烏鴉搜索演算法
本期介紹的烏鴉搜索演算法(Crow Search Algorithm, CSA),由Alireza Askarzadeh於2016年提出,旨在模仿烏鴉將多餘食物藏在隱蔽處並適時取食的行為,近年來因其優良的工程解算性能而得到廣泛應用。
烏鴉,一種廣泛分布的鳥類,被認為是世界上最聰明的動物之一。它們會將多餘的食物藏在隱蔽位置,用以應對飢餓,這種行為為演算法的設計提供了靈感。演算法基於烏鴉群體生活、記憶儲存地點、互相追逐偷盜以及在被跟蹤時採取保護措施等自然行為進行建模。
在每次迭代中,演算法模擬烏鴉根據選擇的夥伴位置更新自己的位置。烏鴉之間的互動,包括跟蹤與被跟蹤,以及在被發現時轉移到隨機位置,成為演算法的核心機制。感知概率參數控制跟蹤行為的成敗,影響個體搜索方式的局部或全局性。
烏鴉搜索演算法的迭代過程簡單直觀,通過固定參數優化搜索能力,既體現了演算法的全局探索潛力,又考慮到局部優化。然而,面對復雜多峰函數和復合函數時,演算法的處理能力受限。
在性能測試部分,烏鴉搜索演算法與其他演算法(如學生心理優化演算法和郊狼優化演算法)在CEC2017測試函數上的對比顯示,演算法在較為簡單的函數上表現尚可,但在復雜函數處理上存在不足。作者通過設定飛行距離參數fl和感知概率參數AP,優化了演算法的全局搜索和局部搜索能力,但性能仍有提升空間。
總的來說,烏鴉搜索演算法結構簡潔,既體現了演算法設計的創新性,也揭示了在復雜函數處理上的局限性。通過調整關鍵參數,如飛行距離和感知概率,可以進一步優化演算法性能,提高其解決復雜問題的能力。