我正在使用 Matlab 中的全局优化工具箱运行遗传算法。我想让算法运行,直到最佳值之间的差异为 <=10^{-15}。为此,我尝试使用 ftol 和 ctol ,但算法在 541 次迭代时终止。任何建议将不胜感激!
我的目标函数的一个例子如下:
function y=objfun(x)
t = [3,227,342,351,353,444,556,571,759,836];
n= length(t);
sumt = sum(t);
y = -(- x(1)*(1-exp(-x(2)*t(n))) + n*log(x(2)));
end
GA代码是
options.TolFun=1e-15;
%options.TolCon=1e-15;
format longG
[x,fval] = ga(@objfun,2,[],[],[],[],[10 0.001],[20 0.1])