張巖 成晟



摘 要:遺傳算法(Genetic Algorithm,簡稱GA)是一種解優化問題的隨機搜索方法,它借助于生物進化中的自然選擇和遺傳(即適者生存)的規律、為非線性、多模型、多目標優化問題提供了一個通用框架,它不取決于問題的特定領域,已廣泛應用于函數優化、組合優化、自動控制、圖像處理技術。由于遺傳算法在很多問題解決過程中具有獨特的優勢和廣泛的應用,。本文的目的是通過實例,介紹了如何利用遺傳算法工具箱提供的函數來編寫MATLAB程序優化功能。
關鍵詞:MATLAB;遺傳算法工具箱;優化
一、 遺傳算法概述
遺傳算法(GA)起源于生物系統的計算機仿真,是由美國Michigan大學的Holland教授及其學生受到生物模擬技術的啟發靈感來自密歇根大學教授及其學生受到生物仿真技術的影響,創造出了一種基于生物遺傳和進化機制的適合于復雜系統優化的自適應概率優化技術創造了一種基于生物遺傳和進化機制的適合于復雜系統優化的自適應概率優化技術。GA放棄了傳統的搜索方式,模擬自然生物進化過程,人工進化的方法目標空間的隨機搜索優化。它可以解決問題域作為一個群體的個體或染色體,和每個編碼的字符串形式,基于遺傳組重復的操作(遺傳、交叉和變異)。根據適應度函數來評價每個預定的目標,根據適者生存,優勝劣汰的進化規則,不斷得到更優的群體,同時以全局并行搜索方式來搜索優化群體中的最優個體,以求得滿足要求的最優解,遺傳算法理論文獻可參考文獻【1】。
遺傳算法(GA)起源于計算機仿真研究生物系統,是由美國Michigan大學的Holland教授及其學生受到生物模擬技術的啟發,創造了一種基于生物遺傳和進化機制的適合于復雜系統優化的自適應概率優化技術。GA拋棄了傳統的搜索方式,模擬自然生物進化過程,與人工進化的方法目標空間的隨機搜索優化。它可能的解決方案的問題域作為一個群體的個體或染色體,每個編碼的字符串形式,組重復的操作基于遺傳(遺傳、交叉和變異)。根據適應度函數來評價每個預定的目標,根據規則演變的適者生存,優勝劣汰,不斷得到更好的組織,同時并行全局搜索方法搜索最好的個人組織的優化,滿足要求的最優解,遺傳算法理論更多的參考文獻[1]
標準遺傳算法的基本構成要素和流程圖如圖1所示.
二、 應用實例:Schwefel函數的最小值問題
此函數是一個非線性、不對稱、可分離、多元多峰函數,有許多局部最小值,但只有一個全局最小點,理論最小值為-8379.7,下圖為自變量個數為2的Schwefel函數的三維圖像。
利用遺傳算法搜索最優解,可以跳出局部最優解,得到近似全局最優解。
經過Sheffield大學遺傳算法工具箱函數的計算,得到以下結果:
三、 結束語
數值實驗結果表明,遺傳算法來解決高維復雜函數精度高、高收斂概率和優化過程等優點,特別是對于維數較高的高維函數的求解,獲得了比其他一些演化算法精度更高、更穩定的優化結果,表明該算法可以防止過早收斂,顯示了良好的優化性能。
參考文獻:
[1]雷英杰張善文李續武周創明MATLAB遺傳算法工具箱及其應用[M],西安:西安電子科技大學出版社,2005
[2]王小平,曹立明,遺傳算法—理論、應用與軟件實現西安:西安交通大學出版社,2002
[3]飛思科技產品研發中心.Matlab7基礎與提高.北京:電子工業出版社,2005
[4]陽軍,遺傳算法用于優化計算的問題研究:[學位論文].天津:天津大學,1998
窗體頂端