作者gn01189425 (GN boy)
看板MATLAB
标题[讨论] ga(基因演算法)中如何限制变数为偶数
时间Thu Jun 20 03:16:02 2013
大家好,我目前想将变数限制为偶数,目前的程式码如下
function [c, ceq] = simple_constraint(x)
a=mod(x,2)
c = [a]
ceq = [];
end
x0=[16]; % 初始值
lb=x0; % 下限
ub=x0+24; % 上限
options = gaoptimset('PlotFcns', {@gaplotbestf,@gaplotstopping},...
'PopulationSize',10,'Generations',10); %控制选项
Constraint=@simple_constraint;
[x,fval,exitflag]=ga(@myFun,1,[],[],[],[],lb,ub,Constraint,[1],options)
ga会将变数代入myfun并传回目标值
但是ga仍然会找不是偶数的x代入myfun,有没有其他方法可以限制变数只选偶数呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.251.170.50
1F:→ H45:做一个myfun2,这函数先把x改成偶数再呼叫myfun 06/20 09:03
2F:→ gn01189425:谢谢,这样的确可行! 06/20 14:33