① 求解:怎樣使用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 遺傳演算法工具箱
有可能是沒有了,也有可能是你安裝的版本裡面沒有,需要去官方網站購買。你用專的是正版嗎?正版的網路屬授權可以使用大部分的工具箱。 如果是D版,很可能是你用的版本正好沒有這個。 如果只是用到一些函數,你可以去別人的電腦復制這個工具箱的函數(老版本的估計也能用),添加路徑以後可能也可以用的。
③ 用Matlab遺傳演算法工具箱要怎樣才能獲得每次迭代的最優解我只能看到最後一代的最優解。。。。
使用matlab命令調用工具箱,這樣最優解會存在變數中,可以在空間中查看。
比如:
[a,fval]=ga(func,Nvar,[],[],[],[],LB,UB,[],opts);
這樣變數值會存在a里,結果存在fval里。
④ 如何在遺傳演算法中設置變數約束條件
1、首先打開matlab軟體,在「APP(應用)」選項卡中選擇「Optimization(優化)」工具箱。
⑤ 用遺傳演算法工具箱求解一個多目標優化問題,現在需要一個matlab程序,求高人指點
用遺傳演算法工具箱求解一個多目標優化問題的步驟:
1、根據題意,建立自定專義目標函數,ga_fun1(x)
2、在命令窗屬口中,輸入
>> optimtool %調用遺傳演算法工具箱
3、在遺傳演算法工具箱界面中,分別對Fitnessfunction框內輸入@ga_fun1();A框內輸入[1,1,1];b框內輸入16;Aeq框內輸入[];beq框內輸入[];Lower框內輸入[0,0,0];Upper框內輸入[];
4、單擊Start。得到x=4.508 y=2.513 z=1.912值。
⑥ matlab工具箱中的神經網路和遺傳演算法要怎麼調用
都是有兩種調用抄方法,一種圖形界面的,這個從開始菜單,然後工具,然後從裡面找神經網路 neural network,遺傳演算法工具是 全局優化工具箱裡面的,global optimization。
另外 一種通過命令行調用,這個需要你理解你都要做什麼,我用神經網路舉例。第一步需要先整理出輸入變數和輸出變數,第二步設計並初始化神經網路,第三部訓練,第四部獲得結果。
如果你想結合這兩者,就會更加復雜,詳細的你可以再問。我曾經做過用遺傳演算法優化神經網路的工具。