『壹』 遺傳演算法工具箱的具體使用
matlab遺傳演算法工具箱函數及實例講解 核心函數:
(1)function [pop]=initializega(num,bounds,eevalFN,eevalOps,options)--初始種群的生成函數
【輸出參數】
pop--生成的初始種群
【輸入參數】
num--種群中的個體數目
bounds--代表變數的上下界的矩陣
eevalFN--適應度函數
eevalOps--傳遞給適應度函數的參數
options--選擇編碼形式(浮點編碼或是二進制編碼)[precision F_or_B],如
precision--變數進行二進制編碼時指定的精度
F_or_B--為1時選擇浮點編碼,否則為二進制編碼,由precision指定精度)
(2)function [x,endPop,bPop,traceInfo] = ga(bounds,evalFN,evalOps,startPop,opts,...
termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)--遺傳演算法函數
【輸出參數】
x--求得的最優解
endPop--最終得到的種群
bPop--最優種群的一個搜索軌跡
【輸入參數】
bounds--代表變數上下界的矩陣
evalFN--適應度函數
evalOps--傳遞給適應度函數的參數
startPop-初始種群
opts[epsilon prob_ops display]--opts(1:2)等同於initializega的options參數,第三個參數控制是否輸出,一般為0。如[1e-6 1 0]
termFN--終止函數的名稱,如['maxGenTerm']
termOps--傳遞個終止函數的參數,如[100]
selectFN--選擇函數的名稱,如['normGeomSelect']
selectOps--傳遞個選擇函數的參數,如[0.08]
xOverFNs--交叉函數名稱表,以空格分開,如['arithXover heuristicXover simpleXover']
xOverOps--傳遞給交叉函數的參數表,如[2 0;2 3;2 0]
mutFNs--變異函數表,如['boundaryMutation multiNonUnifMutation nonUnifMutation unifMutation']
mutOps--傳遞給交叉函數的參數表,如[4 0 0;6 100 3;4 100 3;4 0 0]
【問題】求f(x)=x+10*sin(5x)+7*cos(4x)的最大值,其中0<=x<=9
【分析】選擇二進制編碼,種群中的個體數目為10,二進制編碼長度為20,交叉概率為0.95,變異概率為0.08
【程序清單】
%編寫目標函數
function[sol,eval]=fitness(sol,options)
x=sol(1);
eval=x+10*sin(5*x)+7*cos(4*x);
%把上述函數存儲為fitness.m文件並放在工作目錄下
initPop=initializega(10,[0 9],'fitness');%生成初始種群,大小為10
[x endPop,bPop,trace]=ga([0 9],'fitness',[],initPop,[1e-6 1 1],'maxGenTerm',25,'normGeomSelect',...
[0.08],['arithXover'],[2],'nonUnifMutation',[2 25 3]) %25次遺傳迭代
運算借過為:x =
7.8562 24.8553(當x為7.8562時,f(x)取最大值24.8553)
註:遺傳演算法一般用來取得近似最優解,而不是最優解。
遺傳演算法實例2
【問題】在-5<=Xi<=5,i=1,2區間內,求解
f(x1,x2)=-20*exp(-0.2*sqrt(0.5*(x1.^2+x2.^2)))-exp(0.5*(cos(2*pi*x1)+cos(2*pi*x2)))+22.71282的最小值。
【分析】種群大小10,最大代數1000,變異率0.1,交叉率0.3
【程序清單】
%源函數的matlab代碼
function [eval]=f(sol)
numv=size(sol,2);
x=sol(1:numv);
eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
%適應度函數的matlab代碼
function [sol,eval]=fitness(sol,options)
numv=size(sol,2)-1;
x=sol(1:numv);
eval=f(x);
eval=-eval;
%遺傳演算法的matlab代碼
bounds=ones(2,1)*[-5 5];
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
註:前兩個文件存儲為m文件並放在工作目錄下,運行結果為
p =
0.0000 -0.0000 0.0055
大家可以直接繪出f(x)的圖形來大概看看f(x)的最值是多少,也可是使用優化函數來驗證。matlab命令行執行命令:
fplot('x+10*sin(5*x)+7*cos(4*x)',[0,9])
『貳』 matlab 遺傳演算法工具箱怎麼用
推薦用shefiled的GA工具箱,裡面的子函數寫的很好,調用很方便。 配合一本gA的書內 學的很快;
另外 關於你這容個問題, 你的目標函數和約束函數是否在工作目錄下,還有 在調用的時候 在函數名前面加@試試, 希望能幫到你
『叄』 使用matlab遺傳演算法工具箱能不能解決組合優化問題還有使用工具箱方便還是自己編程方便呢
1、要看你組來合優化是屬於哪種問題,源一般的組合優化都是混合整數線性或非線性的,那麼就不行了,因此要對遺傳演算法改進才能計算。
2、如果有現成的工具箱求解你的組合優化問題肯定要方便些,但碰到具體問題,可能要對參數進行一些設置更改,所以最好能有編程基礎,那樣就可以自己修改工具箱裡面的參數或策略了
對你的補充問題,組合優化問題一般都是用matlab 和 lingo實現吧。建議買一本數學建模的書看一看,都涉及到組合優化問題,也可以下載論文看看。lingo對編程要簡單些,主要是求混合規劃,缺點是似乎還不能用上多目標問題,一般的組合優化都屬於多目標問題。但是matlab功能強大的多。
『肆』 怎麼用遺傳演算法工具箱調用神經網路來尋求最優解啊
把你之前訓練好的網路設置成一個全局變數ann,然後建立一個函數func,在func函數中調用這個訓練好的網路ann獲得輸出。最後,遺傳演算法調用func作為目標函數
『伍』 如何調用MATLAB遺傳演算法工具箱
1、打開MATLAB軟體。
『陸』 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是運行方式。這兩個可以寫函數自己完成,也可默認
函數默認計算最小值,計算最大值要加負號
『柒』 粒子群演算法 matlab 工具箱 在哪調用 還是沒有現成的需要自己下載
http://www.mathworks.com/matlabcentral/fileexchange/7506
這個基復本上快算是官方的制了。粒子群演算法工具。注冊以後就可以下載了。
『捌』 求雷英傑《Matlab遺傳演算法工具箱及應用》高清版.pdf
MATLAB遺傳抄演算法工具箱及應用.pdf 文件大小:9.58 M
http://vdisk.weibo.com/s/v5Um8CGqbhhd
MATLAB遺傳演算法工具箱及應用.pdf 文件大小:9.57 M
http://vdisk.weibo.com/s/uaKaXz7OfNCIm
資源已上傳網路雲盤或微盤 提問者下載無需財富值
請及時採納,謝謝
『玖』 matlab 遺傳演算法工具箱
有可能是沒有了,也有可能是你安裝的版本裡面沒有,需要去官方網站購買。你用專的是正版嗎?正版的網路屬授權可以使用大部分的工具箱。 如果是D版,很可能是你用的版本正好沒有這個。 如果只是用到一些函數,你可以去別人的電腦復制這個工具箱的函數(老版本的估計也能用),添加路徑以後可能也可以用的。
『拾』 matlab智能演算法工具箱有哪些
序號 工具箱 備注
數學、統計與優化
1 Symbolic Math Toolbox 符號數學工具箱
2 Partial Differential Euqation Toolbox 偏微分方程工具箱
3 Statistics Toolbox 統計學工具箱
4 Curve Fitting Toolbox 曲線擬合工具箱
5 Optimization Toolbox 優化工具箱
6 Global Optimization Toolbox 全局優化工具箱
7 Neural Network Toolbox 神經網路工具箱
8 Model-Based Calibration Toolbox 基於模型矯正工具箱
信號處理與通信
9 Signal Processing Toolbox 信號處理工具箱
10 DSP System Toolbox DSP系統工具箱
11 Communications System Toolbox 通信系統工具箱
12 Wavelet Toolbox 小波工具箱
13 Fixed-Point Toolbox 定點運算工具箱
14 RF Toolbox 射頻工具箱
15 Phased Array System Toolbox 相控陣系統工具箱
控制系統設計與分析
16 Control system Toolbox 控制系統工具箱
17 System Indentification Toolbox 系統辨識工具箱
18 Fuzzy Logic Toolbox 模糊邏輯工具箱
19 Robust Control Toolbox 魯棒控制工具箱
20 Model Predictive Control Toolbox 模型預測控制工具箱
21 Aerospace Toolbox 航空航天工具箱
圖像處理與計算機視覺
22 Image Processing Toolbox 圖像處理工具箱
23 Computer Vision System Toolbox 計算機視覺工具箱
24 Image Acquisition Toolbox 圖像採集工具箱
25 Mapping Toolbox 地圖工具箱
測試與測量
26 Data Acquisition Toolbox 數據採集工具箱
27 Instrument Control Toolbox 儀表控制工具箱
28 Image Acquisition Toolbox 圖像採集工具箱
29 OPC Toolbox OPC開發工具
30 Vehicle Network Toolbox 車載網路工具箱
計算金融
31 Financial Toolbox 金融工具箱
32 Econometrics Toolbox 計算經濟學工具箱
33 Datafeed Toolbox 數據輸入工具箱
34 Fixed-Income Toolbox 固定收益工具箱
35 Financial Derivatives Toolbox 衍生金融工具箱
計算生物
33 Bioinformatics Toolbox 生物信息工具箱
34 SimBiology 生物學工具箱
並行計算
35 Parallel Computing Toolbox 並行計算工具箱
36 MATLAB Distributed Computing Server MATLAB分布式計算伺服器
資料庫訪問與報告
37 Database Toolbox 資料庫工具箱
38 MATLAB Report Generator MATLAB報告生成
MATLAB代碼生成
39 MATLAB Coder MATLAB代碼生成
40 Filter Design HDL Coder 濾波器設計HDL代碼生成
MATLAB應用發布
41 MATLAB Compiler MATLAB編譯器混合編程
42 MATLAB Builder NE for Microsoft.Net Framework
43 MATLAB Builder JA for Java Language
44 MATLAB Builder EX for Microsoft Excel
45 Spreadsheet Link EX for Microsoft Excel