MATLABでfmincon関数を使用して、4つの変数の値を取得しようとしています。警告が表示されます:
Local minimum possible. Constraints satisfied.
fmincon stopped because the size of the current search direction is less than
twice the default value of the step size tolerance and constraints are
satisfied to within the selected value of the constraint tolerance.
<stopping criteria details>
Optimization stopped because the norm of the current search direction, 6.854643e-07,
is less than 2*options.TolX = 1.000000e-06, and the maximum constraint
violation, -3.940985e-05, is less than options.TolCon = 1.000000e-15.
Optimization Metric Options
norm(search direction) = 6.85e-07 TolX = 1e-06 (default)
max(constraint violation) = -3.94e-05 TolCon = 1e-15 (selected)
TolFunとTolConを1e-6から1e-10に変更しようとしましたが、それでも同じメッセージが表示されます。収束させる方法は他にありますか
My code:
A = [1, 1, 0, 0];
b = 1;
lb = [0; 0; 0; 0];
ub = [1; 1; 1; 1];
Aeq = [];
beq = [];
noncoln = [];
init_guess = [.03;.93; long_term_sigma; initial_sigma];
%option = optimset('FunValCheck', 1000);
options = optimset('fmincon');
options = optimset(options, 'MaxFunEvals', 1000, 'MaxIter', 1000, 'Algorithm', 'active-set', 'TolCon', 1e-15, 'TolFun', 1e-15);
func = @(theta)Log_likeli(theta, ret_1000);
%[x, maxim] = fminsearch(@(theta)Log_likeli(theta, ret_1000), init_guess, options);
[x, maxim] = fmincon(func, init_guess, A, b, Aeq, beq, lb, ub, noncoln, options);