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
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.