Borrar filtros
Borrar filtros

Fmincon finds a minimum but Nonlinear Constraints are violated

1 visualización (últimos 30 días)
Matilde
Matilde el 6 de Jun. de 2013
Comentada: John D'Errico el 22 de Jul. de 2017
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 comentarios
Benjamin Bokser
Benjamin Bokser el 22 de Jul. de 2017
I'm having the exact same issue.
John D'Errico
John D'Errico el 22 de Jul. de 2017
@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.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by