布穀鳥搜尋算法

布穀鳥搜尋(Cuckoo Search,縮寫 CS),也叫杜鵑搜尋,是由劍橋大學楊新社(音譯自:Xin-She Yang)教授和S.戴布(S.Deb)於2009年提出的一種新興啟發算法。

基本介紹

  • 中文名:布穀鳥搜尋算法
  • 外文名:Cuckoo Search
  • 時間:2009年
  • 人物楊新社教授
定義,算法,特點,布穀鳥搜尋,實際套用,

定義

CS算法是通過模擬某些種屬布穀鳥的寄生育雛(BroodParasitism),來有效地求解最最佳化問題的算法。同時,CS也採用相關的Levy飛行搜尋機制。研究表明,布穀鳥搜尋比其他群體最佳化算法更有效。

算法

在自然界中,布穀鳥尋找適合自己產卵的鳥窩位置是隨機的或是類似隨機的方式,為了模擬布穀鳥尋
窩的方式,首先,需要設定以下3個理想的狀態
(1)布穀鳥一次只產一個卵,並隨機選擇鳥窩來孵化它;
(2)在隨機選擇的一組鳥窩中,最好的鳥窩將會被保留到下一代;
(3)可利用的鳥窩數量n是固定的,一個鳥窩的主人能發現一個外來鳥蛋的機率Pa∈[0,1],在這3
個理想狀態的基礎上,布穀鳥尋窩的路徑和位置更新公式如下:
x(t+1)i=x(t)i+α*L(λ),i=1,2,…,n.(1)
其中x(t)i表示第i個鳥窩在第t代的鳥窩位置,*為點對點乘法,α表示步長控制量,L(λ)為Levy隨機搜尋路徑,並且L~u=t-λ,(1pa,則對x(t+1)i進行隨機改變,反之不變。最後保留測試值較好的一組鳥窩位置y(t+1)i,此時仍把y(t+1)i記為x(t+1)i。

特點

布穀鳥搜尋算法,是 由劍 橋 大 學YANG等在文獻 中提出的一種群智慧型最佳化算法,它也是一種新型元啟發式搜尋算法。其思想主要基於兩個策略:布穀鳥的巢寄生性和萊維飛行機 制。通過隨機遊走的方式搜尋得到一個最優的鳥窩來孵化自己的鳥蛋,這種方式可以達到一種高效的尋優模式。
CS算法主要優點是參數少、操作簡單、易實現、隨機搜尋路徑優和尋優能力強等,備受學者關注,相關的科研成果也日益倍增。王凡、賀興時等已在文獻中通過建立CS算法的Markov鏈模型,理論證明了該算法可收斂於全局最優。CS算法的衍生算法以及套用研究也已得到了快速的發展,但國內外對CS算法的綜述性研究比較少,YANG等在文獻中對CS算法最初的發展和它的多種改進算法之間進行了比較,沒有詳細概述CS算法的發展現狀。因此,有必要對CS算法的原理、算法改進、其各領域的套用、算法優缺點、使用範圍、存在的問題以及下一階段的研究方向等進行系統、全面的總結和評述,進而呈現CS算法的發展現狀,期望該算法能夠解決更多更有效的實際問題。

布穀鳥搜尋

布穀鳥搜尋(CS)使用蛋巢代表解。最簡單情況是,每巢有一個蛋,布穀鳥的蛋代表了一種新的解。其目的是使用新的和潛在的更好的解,以取代不那么好的解。該算法基於三個理想化的規則:
  • 每個杜鵑下一個蛋,堆放在一個隨機選擇的巢中;
  • 最好的高品質蛋巢將轉到下一代;
  • 巢的數量是固定的,布穀鳥的蛋被發現的機率為P(a)。

實際套用

布穀鳥搜尋到工程最佳化問題中的套用已經表現出其高優效率經過幾年的發展,為了進一步提高算法的性能,CS算法的很多變體與改進逐步湧現。瓦爾頓(Walton)等提出了修正布穀鳥搜尋(ModifiedCuckooSearch,縮寫MCS);伐立安(Valian)等提出了一種可變參數的改進CS算法,提高了收斂速度,並將改進算法套用於前饋神經網路訓練中;馬里切爾凡姆(Marichelvam)將一種混合CS算法套用於流水車間調度問題求解中;錢德拉塞卡蘭(Chandrasekaran)等將集成了模糊系統的混合CS算法套用於機組組合問題。
楊(Yang)和戴布(Deb)提出多目標布穀鳥搜尋(MultiobjectiveCuckooSearch,縮寫MOCS),套用到工程最佳化並取得很好的效果;詹(Zhan)等通過對種群分組,並根據搜尋的不同階段對搜尋步長進行預先設定,提出了修正調適布穀鳥搜尋(ModifiedAdaptiveCuckooSearch,縮寫MACS),提高了CS的性能。
科學與工程實踐中的許多問題都可以歸結為最佳化問題。相對於 ACO、PSO 等 發展較為完善的仿生智慧型算法來說,CS算法的套用研究在涉及電力系統、生 物 醫 藥、模 糊 控制、金融、電子與電磁場等領域還較少,如何找到 CS算法及其衍生算法與實際問題的切入點,將 CS算法與實際問題相結合,將會有力地推動 CS算法的快速發展。

相關詞條

熱門詞條

聯絡我們