1. matlab2012中如何添加遺傳演算法工具箱-GAOT
可以找下龔純,王正林的《精通MATLAB最優化計算(第2版)》這本書
2. 請教怎麼在matlab上安裝遺傳演算法工具箱啊,為什麼我安不上啊
安裝步驟
1.將GAOT工具箱文件拷貝至Matlab文件夾下,具體路徑為:
C:\program files\MATLAB\R2009a\toolbox。(也可以放在其他路徑,不一定放在toolbox裡面,比如C:\program files\MATLAB\R2009a也行)。
2.將GAOT工具箱路徑加入Matlab文件路徑之中。流程為:File-->Set Path-->Add with Subfolders。即,將C:\program files\MATLAB\R2009a\toolbox\gaot文件夾加入該路徑系統中。
3. 重新啟動Matlab,運行。
4. 但是在重新啟動後,你會發現在命令窗口,會出現如下警告。即安裝遺傳工具箱後出現問題:Warning: Name is nonexistent or not a directory: \afs\eos\info\ie\ie589k_info\GAOT
解決方案:打開gaot文件夾下的startup.m,這裡面寫著「path(path,'\afs\eos\info\ie\ie589k_info\GAOT');」只要將「\afs\eos\info\ie\ie589k_info\GAOT」改為goat當前所在的目錄,即「C:\program files\MATLAB\R2009a\toolbox\gaot」就可以了
5.測試是否安裝成功,方法如下:在命令窗口輸入:edit ga出現如下函數:function [x,fval,exitFlag,output,population,scores] = ga(fun,nvars,Aineq,bineq,Aeq,beq,lb,ub,nonlcon,options)此時你會發現這是MATLAB自帶的ga函數,並不是你想要的工具箱中的ga函數,這樣會在以後應用工具箱編寫程序是發生錯誤。
6. 解決上述問題的方法:為了統一,不管你是高版本還是低版本,都可以通過將GAOT工具箱中的ga重命名為gaot_ga(名字可以隨你定,但是不能改為大寫GA,原因是MATLAB會默認大小寫函數是同一個函數,不信你可以用edit ga和edit GA驗證),來實現解決上述問題。
這樣整個的GAOT工具箱安裝完備。
3. 遺傳演算法工具箱在那下載
遺傳演算法工具箱迅雷下載地址: http://58.61.39.220/down?cid=&t=2&fmt=- http://58.61.39.220/down?cid=&t=2&fmt=- http://58.61.39.220/down?cid=&t=2&fmt=- http://58.61.39.220/down?cid=&t=2&fmt=- 更多下載及遺傳演算法工具箱實例見: http://search.gougou.com/search?search=%e9%81%97%e4%bc%a0%e7%ae%97%e6%b3%95%e5%b7%a5%e5%85%b7%e7%ae%b1&restype=-1&sortby=8&suffix=1&page=1&id=10000000&f=0&r=0&ty=0
4. 遺傳演算法工具箱的具體使用
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])
5. 用遺傳演算法工具箱求解一個多目標優化問題,現在需要一個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值。
6. matlab6.5+gaot工具箱和matlab7.0自帶工具箱的效果一樣嗎
matlab7.0自帶的工具箱版本未必都是7.0,我的這台電腦裝的也是.5,看看它的版本吧。
-------------------------------------------------------------------------------------
MATLAB Version 6.5.0.180913a (R13)
MATLAB License Number: 0
Operating System: Microsoft Windows 98 Version 4.10 (Build 2222: A )
Java VM Version: Java 1.3.1_01 with Sun Microsystems Inc. Java HotSpot(TM) Client VM
-------------------------------------------------------------------------------------
MATLAB Version 6.5 (R13)
Simulink Version 5.0 (R13)
Aerospace Blockset Version 1.0.1 (R13)
CDMA Reference Blockset Version 1.1 (R13)
Communications Blockset Version 2.5 (R13)
Communications Toolbox Version 2.1 (R13)
Control System Toolbox Version 5.2 (R13)
Curve Fitting Toolbox Version 1.1 (R13)
DSP Blockset Version 5.0 (R13)
Data Acquisition Toolbox Version 2.2 (R13)
Database Toolbox Version 2.2.1 (R13)
Datafeed Toolbox Version 1.3.1 (R13)
Dials & Gauges Blockset Version 1.1.2 (R13)
Embedded Target for Motorola MPC555 Version 1.0.1 (R13)
Embedded Target for Texas Instrumen... Version 1.0 (R13)
Excel Link Version 2.0 (R13)
Filter Design Toolbox Version 2.2 (R13)
Financial Derivatives Toolbox Version 2.0 (R13)
Financial Time Series Toolbox Version 2.0 (R13)
Financial Toolbox Version 2.2.1 (R13)
Fixed-Point Blockset Version 4.0 (R13)
Fuzzy Logic Toolbox Version 2.1.2 (R13)
GARCH Toolbox Version 1.0.2 (R13)
Image Processing Toolbox Version 3.2 (R13)
Instrument Control Toolbox Version 1.2 (R13)
LMI Control Toolbox Version 1.0.8 (R13)
MATLAB COM Builder Version 1.0 (R13)
MATLAB Compiler Version 3.0 (R13)
MATLAB Excel Builder Version 1.1 (R13)
MATLAB Link for Code Composer Studi... Version 1.0 (R13)
MATLAB Report Generator Version 1.3 (R13)
MATLAB Runtime Server Development Kit Version 6.1.1 (R13)
Mapping Toolbox Version 1.3 (R13)
Model Predictive Control Toolbox Version 1.0.7 (R13)
Model-Based Calibration Toolbox Version 1.1 (R13)
Mu-Analysis and Synthesis Toolbox Version 3.0.7 (R13)
Neural Network Toolbox Version 4.0.2 (R13)
Nonlinear Control Design Blockset Version 1.1.6 (R13)
Optimization Toolbox Version 2.2 (R13)
Partial Differential Equation Toolbox Version 1.0.4 (R13)
Real-Time Windows Target Version 2.2 (R13)
Real-Time Workshop Version 5.0 (R13)
Real-Time Workshop Embedded Coder Version 3.0 (R13)
Requirements Management Interface Version 1.0.4 (R13)
Robust Control Toolbox Version 2.0.9 (R13)
SB2SL (converts SystemBuild to Simu... Version 2.5 (R13)
Signal Processing Toolbox Version 6.0 (R13)
SimMechanics Version 1.1 (R13)
SimPowerSystems Version 2.3 (R13)
Simulink Performance Tools Version 1.2 (R13)
Simulink Report Generator Version 1.3 (R13)
Spline Toolbox Version 3.1.1 (R13)
Stateflow Version 5.0 (R13)
Stateflow Coder Version 5.0 (R13)
Statistics Toolbox Version 4.0 (R13)
Symbolic Math Toolbox Version 2.1.3 (R13)
System Identification Toolbox Version 5.0.2 (R13)
Virtual Reality Toolbox Version 3.0 (R13)
Wavelet Toolbox Version 2.2 (R13)
xPC Target Version 2.0 (R13)
xPC Target Embedded Option Version 2.0 (R13)
所以,不要迷信新版本,夠用就行。
以下是2006b版本的。
>> ver
-------------------------------------------------------------------------------------
MATLAB Version 7.3.0.267 (R2006b)
MATLAB License Number: 32684
Operating System: Microsoft Windows XP Version 5.1 (Build 2600: Service Pack 2)
Java VM Version: Java 1.5.0 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode
-------------------------------------------------------------------------------------
MATLAB Version 7.3 (R2006b)
Simulink Version 6.5 (R2006b)
Aerospace Blockset Version 2.2 (R2006b)
Aerospace Toolbox Version 1.0 (R2006b)
Bioinformatics Toolbox Version 2.4 (R2006b)
Communications Blockset Version 3.4 (R2006b)
Communications Toolbox Version 3.4 (R2006b)
Control System Toolbox Version 7.1 (R2006b)
Curve Fitting Toolbox Version 1.1.6 (R2006b)
Data Acquisition Toolbox Version 2.9 (R2006b)
Database Toolbox Version 3.2 (R2006b)
Datafeed Toolbox Version 1.9 (R2006b)
Distributed Computing Toolbox Version 3.0 (R2006b)
Embedded Target for Infineon C166 Microcontrollers Version 1.3 (R2006b)
Embedded Target for Motorola HC12 Version 1.1.5 (R2006b)
Embedded Target for Motorola MPC555 Version 2.0.5 (R2006b)
Embedded Target for TI C2000 DSP(tm) Version 2.1 (R2006b)
Embedded Target for TI C6000 DSP(tm) Version 3.1 (R2006b)
Excel Link Version 2.4 (R2006b)
Extended Symbolic Math Toolbox Version 3.1.5 (R2006b)
Filter Design HDL Coder Version 1.5 (R2006b)
Filter Design Toolbox Version 4.0 (R2006b)
Financial Derivatives Toolbox Version 4.1 (R2006b)
Financial Toolbox Version 3.1 (R2006b)
Fixed-Income Toolbox Version 1.2 (R2006b)
Fixed-Point Toolbox Version 1.5 (R2006b)
Fuzzy Logic Toolbox Version 2.2.4 (R2006b)
GARCH Toolbox Version 2.3 (R2006b)
Gauges Blockset Version 2.0.4 (R2006b)
Genetic Algorithm and Direct Search Toolbox Version 2.0.2 (R2006b)
Image Acquisition Toolbox Version 2.0 (R2006b)
Image Processing Toolbox Version 5.3 (R2006b)
Instrument Control Toolbox Version 2.4.1 (R2006b)
Link for Code Composer Studio Version 2.1 (R2006b)
Link for ModelSim Version 2.1 (R2006b)
Link for TASKING Version 1.0.1 (R2006b)
MATLAB Builder for .NET Version 2.1 (R2006b)
MATLAB Builder for Excel Version 1.2.7 (R2006b)
MATLAB Builder for Java Version 1.0 (R2006b)
MATLAB Compiler Version 4.5 (R2006b)
MATLAB Distributed Computing Engine Version 3.0 (R2006b)
MATLAB Report Generator Version 3.1 (R2006b)
Mapping Toolbox Version 2.4 (R2006b)
Model Predictive Control Toolbox Version 2.2.3 (R2006b)
Model-Based Calibration Toolbox Version 3.1 (R2006b)
Neural Network Toolbox Version 5.0.1 (R2006b)
OPC Toolbox Version 2.0.3 (R2006b)
Optimization Toolbox Version 3.1 (R2006b)
Partial Differential Equation Toolbox Version 1.0.9 (R2006b)
RF Blockset Version 1.3.1 (R2006b)
RF Toolbox Version 2.0 (R2006b)
Real-Time Windows Target Version 2.6.2 (R2006b)
Real-Time Workshop Version 6.5 (R2006b)
Real-Time Workshop Embedded Coder Version 4.5 (R2006b)
Robust Control Toolbox Version 3.1.1 (R2006b)
Signal Processing Blockset Version 6.4 (R2006b)
Signal Processing Toolbox Version 6.6 (R2006b)
SimBiology Version 2.0.1 (R2006b)
SimDriveline Version 1.2.1 (R2006b)
SimEvents Version 1.2 (R2006b)
SimHydraulics Version 1.1 (R2006b)
SimMechanics Version 2.5 (R2006b)
SimPowerSystems Version 4.3 (R2006b)
Simulink Accelerator Version 6.5 (R2006b)
Simulink Control Design Version 2.0.1 (R2006b)
Simulink Fixed Point Version 5.3 (R2006b)
Simulink HDL Coder Version 1.0 (R2006b)
Simulink Parameter Estimation Version 1.1.4 (R2006b)
Simulink Report Generator Version 3.1 (R2006b)
Simulink Response Optimization Version 3.1 (R2006b)
Simulink Verification and Validation Version 2.0 (R2006b)
Spline Toolbox Version 3.3.1 (R2006b)
Stateflow Version 6.5 (R2006b)
Stateflow Coder Version 6.5 (R2006b)
Statistics Toolbox Version 5.3 (R2006b)
Symbolic Math Toolbox Version 3.1.5 (R2006b)
System Identification Toolbox Version 6.2 (R2006b)
SystemTest Version 1.0.1 (R2006b)
Video and Image Processing Blockset Version 2.2 (R2006b)
Virtual Reality Toolbox Version 4.4 (R2006b)
Wavelet Toolbox Version 3.1 (R2006b)
xPC Target Version 3.1 (R2006b)
xPC Target Embedded Option Version 3.1 (R2006b)
Trademarks
------------------
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, and xPC
TargetBox are registered trademarks of The MathWorks, Inc. Other proct or
brand names are trademarks or registered trademarks of their respective holders.
可以看出,有些是升級的,有些還是以前版本的。
7. matlab遺傳演算法工具箱函數的參數問題
可能的原因是:
1.gatbx工具箱下的crtbp函數的文件名為crtbp.m,大小寫不統一所以出現了warning,需要把把專它改為屬小寫的crtbp.m;
2.gatbx屬於第三方工具箱,matlab自身對它是沒有說明的,所以搜不到這些遺傳演算法的指令。
8. matlab2012b有沒有遺傳演算法工具箱
自帶有一個,但是一般都不用它,因為不好用。
建議去網上下載gaot(北卡羅來納大學開發)或 GATBX(謝菲爾德大學開發)的安裝。
9. 遺傳演算法工具箱是什麼
遺傳工具箱是MATLAB中的一個工具,主要是用來求解優化問題的
10. Matlab中關於遺傳演算法調用gaot工具時如何配置(添加)該工具箱
網路裡面有,剛才我用起了http://wenku..com/view/a18b6c15b7360b4c2e3f648c.html 希望能起作用