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])