劉光亞
應(yīng)用研究
MATLAB遺傳算法在函數(shù)優(yōu)化問題中的應(yīng)用
劉光亞
(武漢東湖學(xué)院機(jī)電學(xué)院,武漢 430212)
本文介紹了遺傳算法理論及運(yùn)算流程,運(yùn)用MATLAB語言進(jìn)行了程序設(shè)計(jì)。結(jié)合典型的三角測試函數(shù),在MATLAB 環(huán)境下有效地解決了用遺傳算法求解函數(shù)優(yōu)化問題,驗(yàn)證了 MATLAB 遺傳算法在函數(shù)優(yōu)化中應(yīng)用的有效性和靈活性。
遺傳算法 MATLAB 函數(shù)優(yōu)化 有效性
20世紀(jì)70年代,美國密執(zhí)安大學(xué)的 Holland 教授[1]提出了遺傳算法,它包含了進(jìn)化和自然選擇原理,它借鑒了達(dá)爾文的進(jìn)化論和孟爾德的遺傳學(xué),模仿了自然界的生物進(jìn)化機(jī)制,并發(fā)展成為一種隨機(jī)全局搜索和優(yōu)化方法,是一種全局、并行、高效的搜索方法[2]。它能在搜索過程中自主獲取和積累有關(guān)搜索空間的信息,并自適應(yīng)地控制搜索過程以求得最優(yōu)解。遺傳算法提供了一種求解非線性、多模型、多目標(biāo)等復(fù)雜系統(tǒng)優(yōu)化問題的通用框架,它不依賴于問題所屬的具體領(lǐng)域,已廣泛應(yīng)用于函數(shù)優(yōu)化、自動(dòng)控制、圖像處理、機(jī)器學(xué)習(xí)、人工生命與智能等領(lǐng)域[3]。
MATLAB是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,具有計(jì)算功能強(qiáng)大、圖形展示功能強(qiáng)大、工具箱功能強(qiáng)大和幫助功能完整等特點(diǎn)。MATLAB遺傳算法提供了對(duì)各種優(yōu)化問題的一個(gè)完整的解決方案[4]。它具有函數(shù)表達(dá)簡潔、遺傳操作靈活、可任意選擇多種編碼方式和優(yōu)化算子、算法參數(shù)設(shè)置自由等特點(diǎn)而受到用戶的青睞,并為應(yīng)用和研究遺傳算法提供了穩(wěn)定可靠、結(jié)構(gòu)靈活、可擴(kuò)展的開發(fā)平臺(tái)。……