フィルターのクリア

Fmincon finds a minimum but Nonlinear Constraints are violated

1 回表示 (過去 30 日間)
Matilde
Matilde 2013 年 6 月 6 日
コメント済み: John D'Errico 2017 年 7 月 22 日
Hello!
I'm running an optimization problem through fmincon imposing only nonlinear constraints:
options = optimset('Display','iter','Algorithm','interior-point');
[falps,Fval,EXITFLAG] = fmincon('cost_function',a_opt,[],[],[],[],[],[],'constraint',options);
Constraint is the function in with both equalities and inequalities over a_opt are defined as constraint.
Fmincon works outputting:
First-order Norm of
Iter F-count f(x) Feasibility optimality step
0 51 0.000000e+00 0.000e+00 1.453e-02
1 113 9.427769e-03 0.000e+00 1.891e+02 1.376e-04
2 166 9.427765e-03 0.000e+00 1.466e+02 2.813e-09
Local minimum possible. Constraints satisfied.
fmincon stopped because the size of the current step is less than
the default value of the step size tolerance and constraints are
satisfied to within the default value of the constraint tolerance.
<stopping criteria details>
The details:
Optimization stopped because the relative changes in all elements of x are
less than options.TolX = 1.000000e-10, and the relative maximum constraint
violation, 0.000000e+00, is less than options.TolCon = 1.000000e-06.
Optimization Metric Options
max(abs(delta_x./x)) = 7.58e-11 TolX = 1e-10 (default)
relative max(constraint violation) = 0.00e+00 TolCon = 1e-06 (default)
With the resulting falps variables the equalities constraint are the following:
gteq =
0
0
0
0
0
0
0
0
0
0.6577
-2.1498
-2.0769
-0.0000
-0.0047
-0.5568
-0.5811
-0.0215
0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
0.0000
Which is non zero. Why fmincon terminates? Could it be for the First-order optimality equal to e+02?
'interior-point' by definition should satisfy bounds at all iterations!
Thank you in advance for the help!
  3 件のコメント
Benjamin Bokser
Benjamin Bokser 2017 年 7 月 22 日
I'm having the exact same issue.
John D'Errico
John D'Errico 2017 年 7 月 22 日
@Benjamin: If you are having the exact same issue, then you should have read the response by MATT. Nobody else can see into your computer, to know what you might have done wrong, or to know where the problem lies. So learn to use the debugging tools, or provide sufficient information to get help.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeSolver Outputs and Iterative Display についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by