MATLAB中自帶遺傳演算法函式GA的用法
阿新 • • 發佈:2019-01-25
ga
用遺傳演算法尋找函式的最優解
語法規則
x = ga(fitnessfcn,nvars)
x = ga(fitnessfcn,nvars,A,b)
x = ga(fitnessfcn,nvars,A,b,Aeq,beq)
x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB)%
其中fitnessfc為函式的控制代碼或者為匿名函式
nvars,表示自變數個個數(例如自變數為向量X,nvars代表X中的元素個數)
A,b就是表示式A*X<=b;
Aeq:表示線性等式約束矩陣,若是沒有等式約束就寫為[];
Beq:表示線性等式約束的個數Beq=length(nvars);
x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon)
x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options)
x = ga(problem)
[x,fval] = ga(...)
例子
A = [1 1; -1 2; 2 1]; b = [2; 2; 3]; lb = zeros(2,1); [x,fval,exitflag] = ga(@lincontest6,2,A,b,[],[],lb) %lb表示x的下界,up表示上界 Optimization terminated: average change in the fitness value less than options.TolFun. x = 0.7794 1.2205 fval = -8.03916 exitflag =