張曉鳳,王秀英
青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,山東 青島 266000
群智能算法以其簡單靈活,易于實現(xiàn),并在實際應(yīng)用中取得了有效成果而備受研究者們的青睞。受布谷鳥巢寄生育雛行為的啟發(fā),Yang等[1]于2009年提出了一種新型的群智能優(yōu)化算法:布谷鳥搜索(Cuckoo Search,CS)算法。CS算法通過模擬布谷鳥巢寄生育雛行為,結(jié)合鳥類、果蠅等的Lévy flights機(jī)制進(jìn)行尋優(yōu)操作,能夠快速有效地找到問題的最優(yōu)解。CS算法的關(guān)鍵參數(shù)僅為外來鳥蛋被發(fā)現(xiàn)的概率和種群數(shù)目,整個算法操作簡單、易于實現(xiàn)。CS算法利用萊維飛行進(jìn)行全局搜索,具有良好的全局尋優(yōu)能力。作為一種通用型算法,CS算法易于與其他算法相結(jié)合,進(jìn)而獲得性能更加優(yōu)越的混合算法。
自CS算法被提出以來,國內(nèi)外學(xué)者對其進(jìn)行了大量的研究。文獻(xiàn)[2]建立了CS算法的Markov鏈模型,對算法的收斂性進(jìn)行了分析,通過仿真實驗驗證了CS能夠收斂于全局最優(yōu);文獻(xiàn)[3]使用模糊系統(tǒng)來動態(tài)調(diào)整CS算法的參數(shù),分析了參數(shù)對CS算法性能的影響。CS算法的變體及其應(yīng)用研究也得到了快速發(fā)展,文獻(xiàn)[4]對CS算法及其變體最初的發(fā)展進(jìn)行了綜述,但沒有進(jìn)行詳細(xì)的介紹。目前CS算法的理論研究比較零散,尚未形成體系。本文在綜述國內(nèi)外相關(guān)研究成果的基礎(chǔ)上,對CS算法及其變體和應(yīng)用進(jìn)行比較全面的綜述,并指出CS算法未來值得關(guān)注的研究方向,為研究者們深入研究CS算法提供借鑒。
布谷鳥是典型的具有巢寄生育雛行為的鳥類。某些種屬布谷鳥自己不筑巢、不孵卵、不育雛,而是偷偷地將卵產(chǎn)在其他鳥(宿主)的鳥巢中,由宿主代為孵化和育雛。
布谷鳥在繁殖期間,首先尋找繁殖期和育雛期與自己相近、雛鳥飲食習(xí)慣相似、卵形狀和顏色基本相同的鳥類作為宿主。然后,趁宿主外出時迅速將自己的卵偷偷產(chǎn)入宿主的鳥巢中。為了不被宿主察覺,布谷鳥在產(chǎn)卵之前會把宿主鳥巢中的一枚或多枚卵移走,來保持鳥巢中原有的卵數(shù)量。一旦布谷鳥的寄生卵被發(fā)現(xiàn),這個卵便會被鳥巢主人移走,布谷鳥寄生繁殖失敗。
萊維飛行本質(zhì)上是一種隨機(jī)游走過程,由高頻率的短距離飛行和低頻率的長距離飛行組成,它的步長服從萊維分布。
在自然界中,許多鳥類的飛行行為都具有典型的萊維飛行特征。布谷鳥在飛行過程中,主要以小步長的短距離飛行為主,但是偶爾有比較大步長的長距離飛行,因此布谷鳥不會停留在一個地方重復(fù)進(jìn)行搜索。搜索前期,大步長有利于增加種群多樣性,擴(kuò)大搜索范圍,易于搜索到全局最優(yōu);搜索后期,小步長有利于提高搜索精度,縮小搜索范圍,使得在小范圍內(nèi)收斂于全局最優(yōu)解。
在自然界中,布谷鳥以隨機(jī)或者類似隨機(jī)的飛行方式來尋找適合自己產(chǎn)卵的鳥巢的位置,為了便于模擬布谷鳥的繁殖策略,Yang等[1]將布谷鳥算法假設(shè)以下三個理想狀態(tài):
(1)每只布谷鳥一次只產(chǎn)一個卵,并隨機(jī)選擇一個位置的鳥巢進(jìn)行孵化。
(2)在隨機(jī)選擇的一組鳥巢中,質(zhì)優(yōu)的鳥巢將會被保留到下一代。
(3)可利用的鳥巢數(shù)量固定,鳥巢主人發(fā)現(xiàn)外來鳥蛋的概率為Pa∈[0,1]。當(dāng)鳥巢主人發(fā)現(xiàn)外來的布谷鳥蛋的時候,它會將布谷鳥蛋丟棄或者重新建立新的鳥巢。
基于以上三個理想狀態(tài),布谷鳥尋找宿主鳥巢的位置和路徑的更新公式如下:
其中
通過公式(1)進(jìn)行位置更新后,生成隨機(jī)數(shù)r(r∈[0,1]),并將r與Pa進(jìn)行比較,如果r>pa,就隨機(jī)更新一次鳥窩位置,否則鳥巢位置不變。
根據(jù)上述過程,布谷鳥算法的實現(xiàn)過程如下:
步驟1初始化:設(shè)置種群規(guī)模、搜索空間維數(shù)和最大迭代次數(shù)等參數(shù)。隨機(jī)初始化鳥巢的位置Xi,i∈[1,n],定義目標(biāo)函數(shù) f(X),X=[X1,X2,…,Xn]T。
步驟2計算每個鳥巢位置的目標(biāo)函數(shù)值并進(jìn)行比較,得到當(dāng)前的最優(yōu)函數(shù)值。
步驟3利用萊維飛行(式(1))對除最優(yōu)鳥巢以外的其他鳥巢的位置和狀態(tài)進(jìn)行更新,計算目標(biāo)函數(shù)值,獲得的函數(shù)值與當(dāng)前的最優(yōu)函數(shù)值進(jìn)行比較,若較好,則更新記錄當(dāng)前最優(yōu)值。
步驟4位置更新后,用隨機(jī)數(shù)r與Pa進(jìn)行比較,如果r>pa就隨機(jī)更新一次鳥窩位置,否則鳥巢位置不變。
步驟5若滿足最大迭代代數(shù)或搜索精度要求,繼續(xù)下一步,否則轉(zhuǎn)回步驟3。
步驟6輸出全局最優(yōu)鳥巢的位置。
3.2.1 CS算法與其他算法的比較
文獻(xiàn)[5]通過50多個基準(zhǔn)測試函數(shù)進(jìn)行測試,對CS、粒子群優(yōu)化算法(PSO)和人工蜂群(ABC)算法的性能進(jìn)行了對比分析;文獻(xiàn)[6]利用標(biāo)準(zhǔn)測試函數(shù),對CS和螢火蟲(FA)等算法的精確度和穩(wěn)定性進(jìn)行了對比分析;文獻(xiàn)[7]對CS、FA和果蠅優(yōu)化算法(FOA)等多種群智能算法的優(yōu)缺點進(jìn)行了比較;文獻(xiàn)[8]也對FA、ABC、PSO以及蟻群算法(ACO)等多種群智能算法的性能進(jìn)行了比較。綜合以上文獻(xiàn)研究,對幾種典型的群智能優(yōu)化算法進(jìn)行比較,如表1所示。
由表1可以看出,與其他算法相比,CS算法具有全局尋優(yōu)能力強(qiáng),參數(shù)少且易于實現(xiàn),易與其他算法相結(jié)合等綜合優(yōu)勢,但同時也存在收斂速度慢、進(jìn)化后期種群多樣性差等不足。
3.2.2CS算法的有效性分析
(1)CS算法參數(shù)較少:除了種群規(guī)模之外,CS算法基本上只有一個參數(shù)Pa需要調(diào)整。而算法的收斂速度對參數(shù)Pa不敏感[1],這意味著CS算法的通用性很好,魯棒性較強(qiáng)。
(2)CS能夠滿足全局收斂性要求:王凡等[2]的理論研究已經(jīng)證明CS算法具有全局收斂性。
(3)CS算法具有局部搜索和全局搜索能力[9]:局部搜索通過定向地隨機(jī)游走能夠改善最優(yōu)解,全局搜索通過萊維飛行來保持種群的多樣性。隨機(jī)搜索的兩個分量之間的平衡由切換概率Pa控制,使得CS能夠在全局范圍內(nèi)更有效地探索搜索空間,從而有效保持種群多樣性。
表1 CS算法與其他算法的比較
(4)CS的另一個特點是利用萊維飛行進(jìn)行全局搜索,而不是基于高斯過程的標(biāo)準(zhǔn)隨機(jī)游走。萊維飛行具有無限的均值和方差,保證CS算法更加有效地探索搜索空間,因此能夠更加高效地發(fā)現(xiàn)全局最優(yōu)。
3.2.3 CS算法的缺陷
(1)CS算法收斂速度偏慢、求解精度較低:CS算法通過萊維飛行機(jī)制尋找鳥巢,萊維飛行是一種由小步長的短距離飛行和偶爾大步長的長距離飛行組成的隨機(jī)游走過程,因此布谷鳥的尋窩路徑容易在不同的搜索區(qū)域間跳躍,導(dǎo)致布谷鳥算法的局部精細(xì)搜索能力較差,在算法迭代后期容易在全局最優(yōu)解附近的區(qū)域出現(xiàn)震蕩現(xiàn)象,造成算法效率偏低。
(2)CS算法只能用于求解連續(xù)型優(yōu)化問題,對于離散型、約束型、組合型以及多目標(biāo)優(yōu)化問題,需要更進(jìn)一步的研究。
為了提升CS算法的性能,擴(kuò)展CS算法的應(yīng)用領(lǐng)域,研究者們開發(fā)了多種CS算法的變體,例如用于求解離散型優(yōu)化問題的二進(jìn)制CS算法、離散型CS算法;用于改善CS算法性能的混沌CS算法、自適應(yīng)CS算法以及與其他算法的混合;用于求解多目標(biāo)優(yōu)化問題的多目標(biāo)CS算法。下面具體介紹CS算法的變體。
Gherboudj等[10]提出了一種離散二進(jìn)制布谷鳥搜索(Binary Cuckoo Search,BCS)算法來處理二進(jìn)制優(yōu)化問題,使用sigmoid函數(shù)和概率模型來生成二進(jìn)制解。在一些背包問題實例和多維背包問題實例上進(jìn)行測試,與和聲搜索算法、粒子群算法和量子CS算法相比,BCS在尋找全局最優(yōu)方面效率更高。但是BCS算法的收斂速度對其參數(shù)不敏感,未來可以通過引入最佳解決方案之間的信息交換來加以改進(jìn),以加快BCS的收斂速度。
Rodrigues等[11]提出了用于特征選擇的二進(jìn)制布谷鳥搜索算法(BCS)。搜索空間被建模為n維布爾點陣,解決方案在超立方體的角點處進(jìn)行更新,采用解決方案的二進(jìn)制向量,其中1對應(yīng)一個特性被選擇來組成新的數(shù)據(jù)集,否則為0。在從巴西電力公司獲得的兩個數(shù)據(jù)集上進(jìn)行測試,證明了BCS用于特征選擇是有效的,BCS的魯棒性優(yōu)于二進(jìn)制蝙蝠算法(BBA)、二進(jìn)制螢火蟲算法(BBFA)、二進(jìn)制重力搜索算法(BGSA)和二進(jìn)制粒子群優(yōu)化算法(BPSO),但算法耗時高于BBA。
馮登科等[12]受二進(jìn)制粒子群算法的啟發(fā),對布谷鳥算法進(jìn)行了二進(jìn)制改進(jìn):用二進(jìn)制編碼串表示鳥巢的位置,對布谷鳥尋找新鳥巢的Lévy飛行路徑進(jìn)行二進(jìn)制代碼變換,引入二進(jìn)制編碼控制系數(shù)對二進(jìn)制編碼進(jìn)行混合更新。利用改進(jìn)后的算法對背包問題進(jìn)行求解,獲得了優(yōu)于遺傳算法(GA)和幾種混合GA的解;用于求解旅行商問題,結(jié)果好于GA、ACO和微粒群算法,但略差于葉安新改進(jìn)的慣性權(quán)重自適應(yīng)調(diào)整微粒群算法。
Ouyang等[13]提出了離散布谷鳥搜索算法(DCS),用于求解球形旅行商問題(TSP)。將學(xué)習(xí)算子,“A”算子和3-opt算子應(yīng)用于公告板中的解決方案,來提高算法的收斂速度。實驗結(jié)果表明,DCS優(yōu)于遺傳算法。
Ouaarab等[14]提出了改進(jìn)的離散CS(DCS),通過重建其種群并引入新的布谷鳥種類來擴(kuò)展和改進(jìn)CS,改進(jìn)后的CS被離散化,用于求解旅行商問題。實驗證明DCS的性能優(yōu)于對比算法。但由于未考慮參數(shù)對算法性能的影響,無法對DCS算法進(jìn)行相關(guān)性能比較,該算法有待進(jìn)一步研究和完善。
Bibiks等[15]利用離散布谷鳥搜索(DCS)算法求解資源約束項目調(diào)度問題(RCPSP)。在DCS中,鳥蛋代表組合空間中的解,可以用序列來表示,因此搜索空間是一組序列,根據(jù)組件的排列順序?qū)⑦@些序列定位在搜索空間中;通過改變組件的順序來完成在搜索空間中的移動,步長的大小由萊維飛行決定。實驗表明DCS在解的質(zhì)量和運行時間方面優(yōu)于對比算法,但是提升的效果并不明顯。
王超等[16]提出了離散CS算法(DCS),用于解決帶時間窗和同時取送貨的車輛路徑問題。基于標(biāo)準(zhǔn)CS算法,在萊維飛行位置更新的過程中,通過路徑內(nèi)搜索2-opt法和路徑間搜索swap/shift法對當(dāng)前的鳥巢進(jìn)行改進(jìn);在寄生鳥巢位置更新過程中,通過路徑內(nèi)搜索relocate/exchange法和路徑間搜索GENE法來隨機(jī)產(chǎn)生新鳥巢。在中小型顧客規(guī)模算例中,DCS取得了所有算例的最優(yōu)解,但是在大型顧客規(guī)模算例中,DCS并沒有顯著的優(yōu)勢。
馬英輝等[17]引入Tent映射的混沌序列對CS算法進(jìn)行優(yōu)化,用改進(jìn)后的CS算法來搜索二維Renyi灰度熵的最佳閾值來完成圖像分割。實驗表明,該算法提高了圖像分割的精度,提升算法的運算速度。未來的研究可以考慮不同的混沌映射對算法性能的影響,更好地提升算法的性能。
Wang等[18]將混沌理論引入CS算法,使用12個混沌映射來調(diào)整CS的步長,提出了一種新穎的混沌布谷鳥搜索(CCS)優(yōu)化算法。實驗證明,改進(jìn)的CCS顯著提高了算法的全局搜索能力及求解的質(zhì)量。未來可以將CCS用于解決實際工程問題。
Boushaki等[19]提出了一種新的量子混沌CS算法(QCCS),用于解決數(shù)據(jù)聚類問題。利用混沌映射進(jìn)行種群初始化,解決初始種群的隨機(jī)性問題;通過非均勻量子更新技術(shù)來改善搜索過程,提高算法的全局搜索能力;此外,還制定了有效的戰(zhàn)略來管理邊界。實驗表明,QCCS增加了種群多樣性,有效地提高了邊界空間的利用率,加快算法收斂速度。但是在某些數(shù)據(jù)集中,收斂速度仍然較慢,算法易陷入局部最優(yōu)。
牛海帆等[20]將混沌理論引入CS算法中,來改善算法在迭代后期收斂速度慢、收斂精度不高和易陷入局部最優(yōu)等缺點,提出了混沌CS算法(CCS)。首先,利用Logistic映射來初始化種群,增加了種群的多樣性;此外,通過引入混沌擾動算子來跳出局部最優(yōu),從而完成全局尋優(yōu)。將CCS算法應(yīng)用于諧波估計,結(jié)果表明,與基于PSO算法的諧波估計方法相比,CCS具有更高的估計精度,尤其是對直流衰減分量的時間常數(shù)的估計。但是CCS算法并沒有在總體變量上得到優(yōu)化。
Li等[21]提出了改進(jìn)的參數(shù)自適應(yīng)布谷鳥搜索算法。受DE算法的啟發(fā),在CS算法的整個種群中使用基于rand和最佳個體的兩個新突變規(guī)則,為了平衡算法的局部搜索和全局尋優(yōu),將新規(guī)則通過線性遞減概率規(guī)則進(jìn)行組合。然后,基于前兩個新參數(shù)的相對成功數(shù),引入自適應(yīng)參數(shù)設(shè)置作為均勻隨機(jī)數(shù)來增強(qiáng)種群的多樣性。實驗證明,改進(jìn)后的的算法能有效避免陷入局部最優(yōu),顯著減少進(jìn)化過程并提高收斂速度。
Mlakar等[22]提出了一種混合自適應(yīng)CS算法(HSA-CS),在原始CS算法的基礎(chǔ)上添加三種機(jī)制:CS算法的參數(shù)自適應(yīng)機(jī)制、在CS搜索過程中平衡隨機(jī)勘探策略的機(jī)制、種群的線性減少策略。基于基準(zhǔn)測試函數(shù),驗證了算法的有效性。但與對比算法進(jìn)行比較,優(yōu)化效果并沒有明顯的提升,且HSA-CS采用平衡概率的確定性設(shè)置,需要大量的工作來確定該參數(shù)的最佳值。
Jaballah等[23]提出了一種自適應(yīng)布谷鳥搜索算法(SACS),其中控制參數(shù)根據(jù)優(yōu)化過程的演變進(jìn)行動態(tài)調(diào)整。利用SACS求解射頻識別(RFID)網(wǎng)絡(luò)規(guī)劃問題,結(jié)果表明,SACS獲得優(yōu)于其他自適應(yīng)CS算法的解決方案。但對比算法只有CS及其變體,無法全面驗證SACS的性能。
Yang等[24]提出了多目標(biāo)布谷鳥搜索算法(MOCS),將CS算法拓展到多目標(biāo)優(yōu)化領(lǐng)域。為了滿足多目標(biāo)優(yōu)化問題的需求,對標(biāo)準(zhǔn)CS算法的第一條和第三條規(guī)則做如下修改:每只布谷鳥一次產(chǎn)K個蛋,并將它們放入隨機(jī)選擇的鳥巢中,第K個蛋對應(yīng)于第K個目標(biāo)的解決方案;根據(jù)蛋的相似性/差異性,每個鳥巢將以概率Pa被拋棄,并且將建立具有K個蛋的新巢?;谝唤M多目標(biāo)測試函數(shù),驗證了MOCS算法的有效性。但MOCS算法仍存在收斂速度慢、收斂精度不高的缺陷,針對實際的優(yōu)化問題,MOCS有待進(jìn)一步的研究和完善。
Wang等[25]提出了改進(jìn)的多目標(biāo)布谷鳥搜索算法(IMOCS),并用于板翅式換熱器(PFHEs)的多目標(biāo)優(yōu)化設(shè)計。首先,在原始的MOCS中嵌入一個非均勻變異算子,以在局部搜索和全局尋優(yōu)之間建立完美的平衡;然后,采用差分進(jìn)化的突變,交叉和選擇算子來增強(qiáng)種群之間的相互協(xié)作和信息交流,以提高收斂速度。實驗證明,IMOCS能夠獲更高精度,更低不可逆性和更少迭代的最優(yōu)解。
Zhang等[26]提出了混合多目標(biāo)CS(HMOCS)算法來解決多目標(biāo)優(yōu)化問題(MOPs)。HMOCS采用非支配排序來產(chǎn)生帕累托前沿,并且采用動態(tài)局部搜索策略來增強(qiáng)局部搜索能力。在復(fù)雜的基準(zhǔn)測試實例上,HMOCS的收斂性優(yōu)于所有對比算法,但是在某些基準(zhǔn)測試實例上,其收斂性沒有NSGA-II好。
其他CS算法變體的改進(jìn)思路、優(yōu)缺點及應(yīng)用場景如表2所示。
如表3所示,與CS算法進(jìn)行混合的算法主要有:GA、差分進(jìn)化算法(DE)、和聲搜索算法(HS)、PSO、ABC等。
Kanagaraj等人[38]將遺傳算子嵌入到CS算法中以平衡局部搜索和全局尋優(yōu),提出了CS-GA算法。利用該算法對具有多個非線性約束的四個混合整數(shù)可靠性問題進(jìn)行求解,結(jié)果表明,CS-GA算法具有更快的收斂速度,更高的求解精度。Abdel-Baset等人[39]將CS和GA進(jìn)行不同的組合,提出了CS-GA和GA-CA兩種算法?;谑鍌€基準(zhǔn)函數(shù)證明,CS-GA和GA-CS算法比其他算法更準(zhǔn)確、可靠和有效地找到全局最優(yōu)解。
表2 其他CS算法變體的改進(jìn)思路、優(yōu)缺點和應(yīng)用
表3 CS算法與其他算法的混合
Wang等[40]將CS與DE進(jìn)行結(jié)合,提出了一種新的混合啟發(fā)式DE/CS算法,對無人機(jī)路徑規(guī)劃問題進(jìn)行求解。結(jié)果表明,DE/CS在無人機(jī)路徑規(guī)劃中比其他模型更有效和可行。
Sheikholeslami等[41]將和聲搜索(HS)算法結(jié)合到CS算法中,提高CS算法的效率和全局收斂性,提出了CSHS算法。利用CSHS對配水系統(tǒng)設(shè)計問題進(jìn)行優(yōu)化,結(jié)果表明,CSHS算法的尋優(yōu)能力和計算效率優(yōu)于對比算法。
Bouyer等[42]將K-調(diào)和均值(KHM)聚類算法與改進(jìn)的布谷鳥搜索(ICS)算法和粒子群優(yōu)化(PSO)算法相結(jié)合提出了一種新的聚類算法,在ICS算法中,使用一個新的方程來計算半徑,使其快速收斂到全局最優(yōu),此外使用MPSO來幫助ICS避免陷入局部最優(yōu)?;鶞?zhǔn)數(shù)據(jù)集的實驗表明,所提出的算法可以獲得更高質(zhì)量和穩(wěn)定的聚類結(jié)果。但是,在大型數(shù)據(jù)集中,算法的運行時間較長。
Zhou和Yao[43]將CS算法與ABC算法進(jìn)行結(jié)合,用于云制造中的服務(wù)組合和優(yōu)化選擇。混合算法使用Pareto優(yōu)勢來指導(dǎo)蜂群的搜索,并維護(hù)在外部檔案中找到的非支配解決方案;利用CS算法在蜜蜂搜索過程中保持種群多樣性,以在帕累托前沿實現(xiàn)良好的解決方案的分配;此外,利用綜合學(xué)習(xí)策略來平衡局部搜索和全局尋優(yōu)。實驗證明,所提出算法的求解質(zhì)量遠(yuǎn)高于對比算法。
在圖像處理方面,朱浩亮等[44]將改進(jìn)的CS算法(MCS)用于圖像分割,利用MCS算法對主動輪廓模型的能量最小化控制點進(jìn)行搜索,通過實例進(jìn)行測試,結(jié)果表明,MCS算法可以提高圖像的分割精度,加快圖像分割的速度,而且對噪聲不敏感,圖像分割效果優(yōu)于對比方法。
在信號處理方面,Garg等[45]提出了基于CS算法的最優(yōu)掩模生成方法,用于噪聲抑制和語音信號增強(qiáng)。使用振幅幅度譜圖(AMS)執(zhí)行特征提取,并且進(jìn)行信號分類以生成布谷鳥搜索算法的初始種群。通過各種數(shù)據(jù)集進(jìn)行測試并與其他方法進(jìn)行比較,實驗證明,該方法大大提高了語音信號的清晰度。
Afzalan等[46]采用改進(jìn)的CS算法求解了發(fā)電機(jī)約束條件下的經(jīng)濟(jì)負(fù)荷調(diào)度問題。受差分變異算子的啟發(fā),新的變異方案被納入標(biāo)準(zhǔn)CS算法,使CS算法避免陷入局部最優(yōu),從而增強(qiáng)算法的全局搜索能力。在含有不同熱單元的電力系統(tǒng)下進(jìn)行測試,結(jié)果表明改進(jìn)的CS算法不僅可以獲得更好的解決方案,而且收斂速度和計算效率均優(yōu)于對比算法。
Elazim等[47]將CS算法用于多機(jī)電力系統(tǒng)中的最優(yōu)電力系統(tǒng)穩(wěn)定器(PSSs)參數(shù)的優(yōu)化設(shè)計,并且在不同的操作條件和干擾下,將基于CS的PSSs的性能與基于GA和傳統(tǒng)的PSSs進(jìn)行了比較。仿真結(jié)果表明,基于CS的PSSs在不同的負(fù)載條件和擾動下,具有良好的魯棒性。此外,通過時域分析,特征值和性能指標(biāo)證明CS算法的有效性。
Nguyen等[48]利用改進(jìn)的CS算法求解水火電短期聯(lián)合調(diào)度問題,通過滿足功率平衡約束,水可用性和發(fā)電機(jī)運行限制的閥點負(fù)載效應(yīng)來最小化熱發(fā)電機(jī)的總成本。在具有不同燃料費用函數(shù)的三個水火電力系統(tǒng)上進(jìn)行測試,并與其他算法進(jìn)行比較,結(jié)果表明,提出的算法能夠獲得最小的總成本,且具有更快的計算時間。
Liu等[49]將CS算法應(yīng)用于臨床疾病診斷中。采用CS算法優(yōu)化支持向量機(jī)(SVM)的參數(shù)以尋找更好的初始參數(shù),并用PSO算法對SVM進(jìn)行訓(xùn)練,得到SVM的最佳參數(shù),提出了CS-PSO-SVM模型。在UCI機(jī)器學(xué)習(xí)庫的心臟病數(shù)據(jù)集和乳腺癌數(shù)據(jù)集上進(jìn)行測試,結(jié)果表明,CS-PSO-SVM模型能夠獲得精確度更高的結(jié)果。
Palanisamy等[50]提出步長-布谷鳥算法(Stepsize-Cuckoo Search,SCS)用于對垃圾郵件進(jìn)行分類,首先利用SCS算法識別優(yōu)化特征集,然后使用支持向量機(jī)完成垃圾郵件分類。實驗證明,提出的方法獲得了準(zhǔn)確性更高的分類結(jié)果。Pandey等[51]將CS算法與K-means進(jìn)行結(jié)合并應(yīng)用于twitter情感分析問題。通過從K-means獲得的解來修改CS的隨機(jī)初始化過程,可以加快CS算法的收斂速度,增強(qiáng)算法的全局尋優(yōu)能力。在四個Twitter數(shù)據(jù)集上進(jìn)行測試,得到準(zhǔn)確性高于對比算法的結(jié)果。
Zhu等[52]提出了一種基于膜通信機(jī)制的CS算法(mCS)來優(yōu)化徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(RBF-NN)參數(shù),采用膜通信機(jī)制來維持種群多樣性,并采用混沌局部搜索策略來提高搜索精度。基于基準(zhǔn)函數(shù)的測試表明,mCS可以獲得更精確的解,并具有更高的收斂速度,基于mCS的RBF-NN模型具有更高的精度。
Abed等[53]使用CS算法對伊拉克交通標(biāo)志進(jìn)行分類,在伊拉克原始交通標(biāo)志圖像上進(jìn)行實驗,結(jié)果表明,CS算法可以成功檢測和識別伊拉克使用的所有類型的交通標(biāo)志,獲得了高達(dá)98%的系統(tǒng)識別率,并且其處理時間低至0.3 s。
其他CS算法在不同領(lǐng)域的應(yīng)用及應(yīng)用特點、效果如表4所示。
目前,CS算法已經(jīng)被廣泛應(yīng)用于求解各類優(yōu)化問題。但是,CS算法也存在收斂速度慢和求解精度低等缺點,限制了其應(yīng)用范圍和優(yōu)化能力,尤其是動態(tài)優(yōu)化問題的應(yīng)用,迫切需要進(jìn)一步研究和改進(jìn)。針對CS算法在理論研究、算法改進(jìn)以及實際應(yīng)用方面仍有很多工作需要做。
(1)理論研究:目前的研究多數(shù)是圍繞著CS算法的改進(jìn)及應(yīng)用,對CS算法的理論研究相對較少,對算法內(nèi)部機(jī)理沒有深度的研究成果,未來需要進(jìn)一步完善CS算法的理論研究。
(2)融合其他算法:已經(jīng)提出了CS算法與多種算法的混合,繼續(xù)將其他智能技術(shù)與CS算法的有效結(jié)合,從而提高CS算法的性能,更好地平衡算法的局部搜索與全局尋優(yōu)的能力仍然是進(jìn)一步研究的方向。為提高CS算法的性能,還可以繼續(xù)在CS算法的種群初始化、萊維飛行機(jī)制、控制參數(shù)等方面進(jìn)行研究,以平衡局部搜索和全局尋優(yōu)兩個過程,保證種算法的群多樣性,提高收斂速度。
表4 其他CS算法在不同領(lǐng)域的應(yīng)用及應(yīng)用特點、效果
(3)盡管CS算法已經(jīng)被應(yīng)用于圖像處理、生物醫(yī)學(xué)、深度學(xué)習(xí)以及大規(guī)模優(yōu)化等問題,但是在這些領(lǐng)域應(yīng)用的深入研究仍然很薄弱,如何結(jié)合領(lǐng)域知識來提高算法的搜索性能及種群的多樣性是未來的研究方向。