一、分析Rastrigin函數(shù)
Rastrigin函數(shù)的函數(shù)形式為:
圖1
繪制Rastrigin函數(shù)圖像的代碼為:surf(X1,X2,z,'EdgeColor','none','FaceColor','interp') 為了驗(yàn)證上面的推斷,所以進(jìn)一步繪制該函數(shù)二維等高線圖如圖2所示,在圖中分別從x軸和y軸的正負(fù)方向觀察,可以得到和前面相同的分析結(jié)果,所以此時(shí)確定Rastrigin函數(shù)全局最小值的位置位于(0,0)。 圖2
繪制Rastrigin函數(shù)等高線的代碼為:contour(X1,X2,z) 二、利用遺傳算法尋找Rastrigin函數(shù)的(全局)最小值 前文中通過(guò)對(duì)Rastrigin函數(shù)圖形的分析,得到此函數(shù)的全局最小值位于 (0,0),那么遺傳算法作為全局尋優(yōu)算法得到的結(jié)果又如何呢? 因此,利用MATLAB中optimtool工具箱中的遺傳算法來(lái)求解Rastrigin函數(shù)的(全局)最小值,如圖3所示為求解過(guò)程中擬合結(jié)果、變量變化等參數(shù)圖形。 options = optimoptions('ga'); 調(diào)用遺傳算法求解Rastrigin函數(shù)(全局)最小值的代碼為: []=ga(@rastrigin,nvars,options); 參考文獻(xiàn) 周琛琛.基于Matlab遺傳算法工具箱的函數(shù)優(yōu)化問(wèn)題求解[J].現(xiàn)代計(jì)算機(jī),2006(12):84-86. 獲取代碼,后臺(tái)回復(fù)“Rastrigin?and?GA”或“RGA”