馬原響
( 華北水利水電大學 土木與交通學院,河南 鄭州450011)
隨著科學的發展,人們逐漸提出了許多優化算法并由此形成了系統的優化理論。但由于這些傳統的優化算法在解決大型的工程問題上存在一定的局限性,所以自二十世紀80 年代以來,出現了一些比較新穎的優化算法,例如遺傳算法、混合蛙跳算法等,這些算法都有一個共同點就是通過模擬或揭示某些自然現象或者過程從而得到高速發展,這些算法都有其獨特的優點和機制,引起了國內外學者的廣泛重視,也因此掀起了一股研究優化算法的熱潮,到目前為止這些算法已經在廣泛的工程領域得到了應用。

圖1 遺傳算法流程圖
遺傳算法(Genetic Algorithm,GA)是美國MIChigen 大學的Holland 教授[1]在受到達爾文進化論啟發而創造的一種智能優化算法,這個算法按照類似生物界自然選擇(selection)、變異(mutation)和雜交(crossover)等自然進化方式,通過種群之間的“適者生存”原則,提高種群的平均適應度,然后利用適應度函數來引導種群進化的方向,由此可以得到最優個體所代表的問題解并逐漸逼近問題的全局最優解。目前遺傳算法以及其改進算法已經廣泛應用于函數優化、生產調度、自動控制、圖像處理、機器學習、數據挖掘等領域。
(1)對問題進行編碼。
(2)定義適應度函數后,生成初始化群體。
(3)對于得到的群體選擇復制、交叉、變異操作,生成下一代種群。
(4)判斷算法是否滿足條件,如果不滿足停止條件,則返回繼續執行步驟(3)。
(5)算法結束,獲得最優解。
具體流程圖如圖1 所示。
文獻[2-3]武兆慧,田東平等,模擬退火法的思想運用于遺傳算法,將兩者的優點進行整合合,形成了模擬退火遺傳算法,在迷糊控制等方面展現出了其巨大的優點。
文獻[4-5]田東平、黃聰明提出了基于小生境的遺傳算法,這種改進的遺傳算法具有多樣性解,收斂速度以及全局尋優的優點,對于求解復雜多峰的函數優化問題有突出的優點。

圖2 蛙跳算法流程圖
混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)是Muzaffar Eusuf 和Kevin Lansey[6]在2003 年提出的一種基于青蛙群體的協同搜索方法。這個算法的思想來源于基因的傳承,它顯著特點就是可以進行局部搜索與全局信息混合的協同搜索。通過大量的仿真測試可以證明,混合蛙跳算法在解決高維、病態、多局部極值等函數問題方面具有一定的優越性,是一種行之有效的優化算法。
(1)初始化。設置合適的子種群個數和每個子種群的青蛙個數。
(2)生成一個虛擬種群規模為。d 為維變量,表示每一個青蛙的當前位置,對于優化問題則表示解空間的一個候選解。
(3)對青蛙劃分等級,按照適應度大小降序排列個體。
(4)將青蛙循環分組生成子種群。
(5)在每個子種群里進行局部進化,以使個體的位置得到改善。
(6)執行混合運算。當子種群循環一定次數之后,將青蛙重新排列,更新位置最佳的青蛙。
(7)檢查終止條件,若迭代終止條件滿足,停止算法輸出結果;否則程序返回Step3 繼續執行。
具體流程如圖2 所示。
文獻[7]代永強等人提出了一種基于改進混合蛙跳算法的高維生物醫學數據特征選擇方法。該方法將混沌記憶權重因子和平衡分組策略引入基本混合蛙跳算法,在強化算法多樣性的同時,維持了算法全局和局部尋優之間的平衡,降低了算法陷入局部最優的可能,進一步提高了混合蛙跳算法特征選擇方法在特征空間的探索能力。
類似于以上幾種智能優化算法,新興的智能算法還有很多,在這里不再具體敘述其基本原理以及優缺點只列舉出各個算法的名稱。
(1)進化算法,(2)禁忌算法,(3)粒子群算法,(4)人工魚群算法,(5)量子遺傳算法,(6)人工蜂群算法,(7)混沌優化算法,(8)人工免疫算法,(9)細菌覓食算法,(10)貓群算法,(11)神經網絡與神經網絡優化算法,(12)混合優化算法。
以上主要介紹了三種在工程中應用較為廣泛的智能優化算法:遺傳算法、蟻群算法、蛙跳算法。同時列舉了幾乎近年來全部的智能優化算法的名稱以備有需要的學者可以系統的了解智能優化的各種算法,為其繼續深入學習該算法提供一些幫助。