⑴ 求解:怎樣使用MATLAB中的遺傳演算法計算器Optimization Tool中的GA——Genetic Algorithm,如圖,重謝
比如通過MATLAB遺傳演算法的思想求解f(x)=x*sin(10pi*x)+2.0,-1<=x<=2的最大值問題,結果精確版到3位小數。
首先在matlab命令權窗口輸入f=@(x)-(x*sin(10*pi*x)+2) 輸出結果為
>> f=@(x)-(x*sin(10*pi*x)+2)
f =
@(x)-(x*sin(10*pi*x)+2)
接著輸入gatool會打開遺傳演算法工具箱
顯示51代之後演算法終止,最小結果為-3.85027334719567,對應的x為1.851,由於自定義函數加了負號,所以原式的最大值為3.85027334719567,對應的x為1.851。
不過這是遺傳演算法得到的結果,每次運行的結果可能會有所不同,而且不一定是確切的最大值。
遺傳演算法適合應用在一些求最優解比較復雜的問題(常規的演算法運算時間過長,甚至無法解決)。
⑵ MATLAB如何使用ga遺傳演算法工具箱進行優化
1、首先,打開MATLAB軟體。
2、設置一個m文件,用於計算個體的適應度函數輸出值一個適應度,輸入是我們要優化的參數;例如:要優化的參數(x ,y ,z)則適應度函數的基本結構應是v=function(x, y, z)。
3、輸入「gatool」指令打開工具箱,如圖所示。
4、如圖所示,打開的ga工具箱界面。
5、輸入我們的適應度函數,和要優化的個數,和一些其它設置,要根據我們的任務決定;例如:適應度函數為:v=function(x, y, z)時要配置適應度函數項為@function。
6、要優化的參數個數為3。左後單擊「start」開始,等待一段時間就會出現我們要優化的參數。