布穀鳥搜索算法
布穀鳥搜索(Cuckoo Search,縮寫 CS),也叫杜鵑搜索,是由劍橋大學楊新社(音譯自:Xin-She Yang)教授和S.戴布(S.Deb)於2009年提出的一種新興啟發算法[1]。
CS算法是通過模擬某些種屬布穀鳥的寄生育雛(Brood Parasitism) [2],來有效地求解最優化問題的算法[3]。同時,CS也採用相關的Levy飛行搜索機制。研究表明,布穀鳥搜索比其他群體優化算法更有效[4]。
布穀鳥搜索
布穀鳥搜索(CS)使用蛋巢代表解。最簡單情況是,每巢有一個蛋,布穀鳥的蛋代表了一種新的解。其目的是使用新的和潛在的更好的解,以取代不那麼好的解。該算法基於三個理想化的規則:
- 每個杜鵑下一個蛋,堆放在一個隨機選擇的巢中;
- 最好的高品質蛋巢將轉到下一代;
- 巢的數量是固定的,布穀鳥的蛋被發現的概率為 。
實際應用
布穀鳥搜索到工程優化問題中的應用已經表現出其高優效率[5] 經過幾年的發展,為了進一步提高算法的性能,CS算法的很多變體與改進逐步湧現。瓦爾頓(Walton)等提出了修正布穀鳥搜索(Modified Cuckoo Search,縮寫 MCS);伐立安(Valian)等提出了一種可變參數的改進CS算法,提高了收斂速度,並將改進算法應用於前饋神經網絡訓練中[6];馬里切爾凡姆(Marichelvam)將一種混合CS算法應用於流水車間調度問題求解中[7];錢德拉塞卡蘭(Chandrasekaran)等將集成了模糊系統的混合CS算法應用於機組組合問題[8]。
楊(Yang)和戴布(Deb)提出多目標布穀鳥搜索(Multiobjective Cuckoo Search,縮寫 MOCS),應用到工程優化並取得很好的效果[9];詹(Zhan)等通過對種群分組,並根據搜索的不同階段對搜索步長進行預先設置,提出了修正調適布穀鳥搜索(Modified Adaptive Cuckoo Search,縮寫 MACS),提高了CS的性能[10]。
參考文獻
- ^ X. S. Yang and S. Deb, Cuckoo search via Lévy flights, in: World Congress on Nature & Biologically Inspired Computing (NaBIC 2009), IEEE Publications,pp. 210-214.
- ^ R. B. Payne, M. D. Sorenson, and K. Klitz, The Cuckoos, Oxford University Press, (2005).
- ^ X.S. Yang and S. Deb, Engineering optimisation by cuckoo search, Int. J. Mathematical Modelling and Numerical Optimisation, Vol. 1, No. 4, 330-343 (2010).
- ^ Novel Cuckoo Search Beats Particle Swarm Optimization, http://www.scientificcomputing.com/news-DA-Novel-Cuckoo-Search-Algorithm-Beats-Particle-Swarm-Optimization-060110.aspx (頁面存檔備份,存於互聯網檔案館)
- ^ Gandomi A, Yang X, Alavi A. Cuckoo search algorithm: a metaheuristic approach to solve structural optimization problems[J]. Engineering with Computers, Vol. 29, 17-35 (2013).
- ^ E. Valian, S. Mohanna and S. Tavakoli, Improved cuckoo search algorithm for feedforward neural network training, Int. J. Artificial Intelligence and Applications, Vol. 2, No. 3, 36-43(2011).
- ^ M.K.Marichelvam, An improved hybrid Cuckoo Search (IHCS) metaheuristics algorithm for permutation flow shop scheduling problems, International Journal of Bio-Inspired Computation, Vol. 4, No. 4, 200-205 (2012).
- ^ K. Chandrasekaran and S. P. Simon, Multi-objective scheduling problem: Hybrid approach using fuzzy assisted cuckoo search algorithm, Swarm and Evolutionary Computation, Vol. 5, 1-16 (2012).
- ^ X. S. Yang and S. Deb, Multiobjective cuckoo search for design optimization, Computers and Operations Research, Vol. 40, No. 6, 1616-1624 (2013).
- ^ Y. Zhang, L. Wang, Q. Wu, Modified Adaptive Cuckoo Search Algorithm and Formal Description for Global Optimization, International Journal of Computer Applications in Technology, Vol. 44, No. 2, 73-79 (2012).
外部連結
- Matlab 展示程式碼 (頁面存檔備份,存於互聯網檔案館)