fmincon ignoring lower function value during convergence

I am trying to optimize (minimize) a non-linear function using fmincon using 2 variables with bounds and non-linear constraints. I noticed in the iterative display of results that fmincon ignored a clearly lower function value, continued iterations and converged to higher function value.
First-order Norm of
Iter F-count f(x) Feasibility optimality step
0 3 1.812411e+03 0.000e+00 9.241e+00
1 6 1.736525e+03 0.000e+00 8.528e+00 8.473e+00
2 9 1.676578e+03 0.000e+00 8.056e+00 7.125e+00
3 13 1.676428e+03 0.000e+00 5.824e+00 1.868e-02
4 16 1.675054e+03 0.000e+00 3.055e+00 1.116e+00
5 19 1.665816e+03 0.000e+00 1.189e+00 8.565e+00
6 22 1.628995e+03 4.332e-05 1.123e+00 3.430e+01
7 25 1.439375e+03 2.384e-03 9.349e-01 1.936e+02
8 28 1.373926e+03 2.591e-03 7.666e-01 7.575e+01
9 32 1.373768e+03 2.586e-03 3.914e-01 2.064e-01
10 35 1.374922e+03 1.155e-03 1.239e-01 4.145e+00
11 38 1.376012e+03 1.310e-07 1.374e-03 3.172e+00
12 41 1.376011e+03 0.000e+00 2.000e-04 1.435e-02
13 44 1.376011e+03 0.000e+00 2.000e-06 1.316e-03 ---------> final function value taken as minimum
fmincon.jpg
I haven't come across such behaviour. I assumed it had something to do with the variables I was using (I was initially using 4 to 5 variables), and so I reduced it down to 2 simple variables but the problem persists.
Could somebody explain what is going on? because I am clueless.

 Accepted Answer

Notice that the feasibility of the iteration you like is about 2e-3, meaning the constraints are not met at that point. fmincon went on to reduce the infeasibility to zero while not increasing the objective very much.
Alan Weiss
MATLAB mathematical toolbox documentation

1 Comment

OH!!! Okayyy!
Thank you so much!
I get it now. Will keep that information in mind from now on.

Sign in to comment.

More Answers (0)

Products

Release

R2017b

Community Treasure Hunt

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

Start Hunting!