沈曉芳
【摘要】遺傳算法對問題的依賴性小,是一種全局優(yōu)化算法,可用于函數(shù)尋優(yōu)。本文利用Maflab優(yōu)化工具箱,有效地實現(xiàn)了用遺傳算法求解函數(shù)優(yōu)化問題,實驗結(jié)果表明該算法收斂速度快,尋優(yōu)性能良好。
【關(guān)鍵詞】遺傳算法 函數(shù)尋優(yōu) 目標(biāo)函數(shù)
【中圖分類號】G64 【文獻標(biāo)識碼】A 【文章編號】2095-3089(2015)03-0152-01
遺傳算法(Genetic Algorithm,GA)起始于20世紀(jì)60年代,主要由美國密執(zhí)根大學(xué)的John Holland與同事和學(xué)生研究形成了較為完整的理論和方法,是一種重要的現(xiàn)代優(yōu)化算法。遺傳算法對問題的依賴性小,是一種全局優(yōu)化算法,所以在很多領(lǐng)域獲得了廣泛的應(yīng)用。
遺傳算法基本思想:將“優(yōu)勝劣汰,適者生存”的生物進化思想引入優(yōu)化參數(shù)形成的編碼串聯(lián)群體中,按所選擇的適配值函數(shù)并通過遺傳中的選擇、交叉及變異對個體進行篩選,使適配值高的個體被保留下來,組成新的群體,這樣周而復(fù)始,群體中的個體適應(yīng)度不斷升高,直到滿足一定的條件。遺傳算法的一個重要應(yīng)用是函數(shù)尋優(yōu),該算法對于尋優(yōu)的函數(shù)基本無限制,既不要求函數(shù)連續(xù),更不要求函數(shù)可微;既可以是函數(shù)解析式所表達的顯函數(shù),又可以是映射矩陣等隱函數(shù),應(yīng)用范圍很廣。
一、遺傳算法的實現(xiàn)
1.遺傳算法的應(yīng)用步驟
(1)確定決策變量及各種約束條件,即確定出個體的表現(xiàn)型和問題的解空間。(2)建立優(yōu)化模型,即確定出目標(biāo)函數(shù)的類型及數(shù)學(xué)描述形式或量化方法。(3)確定表示可行解的染色體編碼方法,即確定出個體的基因型及遺傳算法的搜索空間。(4)確定解碼方法,即確定出由個體基因型到個體表現(xiàn)型的對應(yīng)關(guān)系或轉(zhuǎn)化方法。(5)確定個體適應(yīng)度的量化評價方法,即確定出由目標(biāo)函數(shù)值到個體適應(yīng)度函數(shù)的轉(zhuǎn)換規(guī)則。(6)設(shè)計遺傳算子,即確定選擇運算、交叉運算、變異運算等算子的具體操作方法。(7)確定遺傳算法的有關(guān)運行參數(shù)。
2.遺傳算法的操作
圖1 遺傳算法操作流程圖
3.遺傳算法工具箱
謝菲爾德(Sheffield)遺傳算法工具箱是英國謝菲爾德大學(xué)開發(fā)的遺傳算法工具箱,是用Matlab語言編寫的m文件,為用戶提供很多實用函數(shù)。常用函數(shù):crtrp,crtbp(創(chuàng)建初始種群);ranking(適應(yīng)度計算)select(選擇函數(shù));xovsp(單點交叉);mutate(變異函數(shù))Bs2rv(二進制轉(zhuǎn)換到實值)等等。
二、遺傳算法應(yīng)用舉例
1.利用遺傳算法計算以下函數(shù)的最小值
f(x)=■,x∈[1,2] (1)
(1)選擇二進制編碼,遺傳算法參數(shù)設(shè)置如表1所示
表1:參數(shù)設(shè)置表
(2)仿真結(jié)果如圖2
圖2:目標(biāo)函數(shù)圖及最優(yōu)解的進化過程
函數(shù)優(yōu)化問題是遺傳算法的經(jīng)典應(yīng)用領(lǐng)域,也是對遺傳算法進行性能評價的常用算例.Matlab軟件工具箱,是整個Matlab體系的基座。在Matlab環(huán)境中用遺傳算法實現(xiàn)函數(shù)優(yōu)化問題,能有效地收斂到全局最優(yōu)值,尋優(yōu)性能良好。
參考文獻:
[1]孫增祈,鄧志東,張再興.智能控制理論與技術(shù)[M].第二版.清華大學(xué)出版社,2011.
[2]蔣冬初,何飛,向繼文.遺傳算法求解函數(shù)優(yōu)化問題的Matlab實現(xiàn)[J].吉首大學(xué)學(xué)報. 2005,26(2):98-100.
[3]劉勇,劉寶坤,李光泉.基于Maflab平臺的遺傳算法工具包[J].天津大學(xué)學(xué)報.2001,34(4):48—51.