導航:首頁 > 五金知識 > 全局優化工具箱和遺傳演算法

全局優化工具箱和遺傳演算法

發布時間:2022-01-05 03:03:55

① 使用matlab遺傳演算法工具箱能不能解決組合優化問題還有使用工具箱方便還是自己編程方便呢

1、要看你組來合優化是屬於哪種問題,源一般的組合優化都是混合整數線性或非線性的,那麼就不行了,因此要對遺傳演算法改進才能計算。
2、如果有現成的工具箱求解你的組合優化問題肯定要方便些,但碰到具體問題,可能要對參數進行一些設置更改,所以最好能有編程基礎,那樣就可以自己修改工具箱裡面的參數或策略了

對你的補充問題,組合優化問題一般都是用matlab 和 lingo實現吧。建議買一本數學建模的書看一看,都涉及到組合優化問題,也可以下載論文看看。lingo對編程要簡單些,主要是求混合規劃,缺點是似乎還不能用上多目標問題,一般的組合優化都屬於多目標問題。但是matlab功能強大的多。

② 用遺傳演算法工具箱求解一個多目標優化問題,現在需要一個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優化工具箱的遺傳演算法每次優化的結果都不一樣

為什麼Matlab優化工具箱的遺傳演算法每次優化的結果都不一樣?這是因為演算法的初值是隨機的,所以重復計算就會有差錯。為了保證計算結果,可以每次重啟matlab軟體後執行程序,這樣得到結果就基本一致了。

④ 用matlab的optimization工具箱遺傳演算法,添加約束條件的問題。

你看到下邊那個nonlinear constraint function了嗎?
把你的約束寫在一個m文件的function中,函數名比如取為:xconstr
則將@xconstr寫到nonlinear constraint function後面的框里,應該就可以了。線性約束的話直接寫在上方的欄目中。

你的優化問題沒看到,用遺傳演算法求解一般沒有問題。這種智能優化演算法的最大優點在於求解多局部解優化問題時能得到全局性較好的最有解。如果你不考解的全局最優性的話,可以直接使用fmincon函數來求解。關於fmincon函數,可以在matlab命令行中輸入 doc fmincon命令以查看幫助。

⑤ matlab優化工具箱中遺傳演算法的問題

ga就是在窮舉不可能完成時,用一種方式找到最優解
ga工具的完整形式如下表示
[X,FVAL,EXITFLAG,OUTPUT,POPULATION,SCORES] =
GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options)
X是最優自變數
FVAL是求得的最優值
其他以此是推出標志,結構體,終止時的總群,終止時種群函數值
後半部分以此是目標函數,目標函數自變數個數
A和b是線性約束不等式AX〈b
Aeq和beq是一對線性等式約束,AeqX=beq
lb是X值下限,ub是X值下限
NONLCON是非線性約束函數 options是運行方式。這兩個可以寫函數自己完成,也可默認
函數默認計算最小值,計算最大值要加負號

非線性約束條件的寫法
function [c,ceq]=nonlcon(x) 定義函數自變數是x,x可以是一列矩陣
c=[]; c表示非線性等式約束,以為沒有,所以為空
ceq=[x(1)-2*(x(2))^2;
x(1)+X(2) ] ceq是非線性不等式約束,默認ceq<=0,ceq可以為一列矩陣.
>>

⑥ 用matlab優化工具箱自帶的遺傳演算法(只能找到近似最優解)時,往往重復計算很多次都不能得到最優解

要想得到較精確的最優解,可以通過設定Function tolerance的誤差值,Constrainttolerance的誤差值。

⑦ matlab工具箱中的神經網路和遺傳演算法要怎麼調用

都是有兩種調用抄方法,一種圖形界面的,這個從開始菜單,然後工具,然後從裡面找神經網路 neural network,遺傳演算法工具是 全局優化工具箱裡面的,global optimization。
另外 一種通過命令行調用,這個需要你理解你都要做什麼,我用神經網路舉例。第一步需要先整理出輸入變數和輸出變數,第二步設計並初始化神經網路,第三部訓練,第四部獲得結果。
如果你想結合這兩者,就會更加復雜,詳細的你可以再問。我曾經做過用遺傳演算法優化神經網路的工具。

⑧ matlab7.1遺傳演算法自帶工具箱和sheffield大學的遺傳演算法工具箱(gatbx)各有何特點哪個好些

只用過抄MATLAB的遺傳工具箱,速度還可以襲(比一般自己寫的C++要好些)。和其它程序結合的話,先編一個options的結構體,設定好參數(非常重要,特別是初始范圍),然後在調用ga()函數,就可以了。沒有工具箱的界面,但乾的活是一樣的。 我曾用它描過一個函數,函數值是當某些參數去到最優時的參數值。通過嵌套一個循環,每次改變一點參數做一次優化,就可以描出一條曲線來。

⑨ matlab神經網路工具箱,會比自己寫的遺傳演算法優化bp神經網路好用嘛

1、遺傳演算法優化BP神經網路是指優化神經網路的參數; 2、因此,對訓練時間沒有影響。

⑩ 求助:關於matlab遺傳演算法工具箱中約束的輸入問題

遺傳演算法工具箱的函數GA基本調用格式如下:
X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub)
其中前兩個參數分別是適應度函數和變數個數,第三、四個參數(A和b)即為線性不等式約束。

你現在需要做的是,增加幾個線性約束條件:
x1 < x2
x2 < x3
x3 < x4
x4 < x5
不過,有個問題,遺傳演算法等優化工具對不等式約束的要求,都必須是閉集(帶等號的不等式),也就是說,要的是類似下面這樣的約束:
x1 <= x2
x2 <= x3
x3 <= x4
x4 <= x5
不知道你的問題是否允許把約束放寬到上面的形式,如果可以,就很簡單了(如果不能放寬,我暫時還沒想起怎麼解決):
x1 - x2 <= 0
x2 - x3 <= 0
x3 - x4 <= 0
x4 - x5 <= 0
也就是調用函數時,線性約束的A和b分別為
A = [
1 -1 0 0 0
0 1 -1 0 0
0 0 1 -1 0
0 0 0 1 -1
];
b=[0;0;0;0];

閱讀全文

與全局優化工具箱和遺傳演算法相關的資料

熱點內容
蘇州工業軸承多少錢一個 瀏覽:448
mk都包五金件掉漆 瀏覽:901
電車車把軸承正常是什麼樣的 瀏覽:526
如何拆卸機械鍵盤空格鍵 瀏覽:149
做木桶需要哪些機械 瀏覽:400
機械水位開關怎麼調節 瀏覽:211
西安同傳設備租賃哪個好 瀏覽:707
q50l儀表保養燈如何消除 瀏覽:260
電動工具鋰電池拆機 瀏覽:858
儀表沖壓機是做什麼的 瀏覽:595
為什麼機械是坑 瀏覽:714
東方紅404後動力輸出軸承怎麼換 瀏覽:410
常用的暖氣閥門圖片 瀏覽:833
暖氣開閥門鎖 瀏覽:664
青田東源鎮紅光閥門廠招聘 瀏覽:181
甲乙實驗裝置 瀏覽:330
風扇電機做電動工具 瀏覽:482
傳動裝置功率密度 瀏覽:83
製冷機械設備裝置圖 瀏覽:41
電機傳動裝置相關日語 瀏覽:587