MATLAB Answers

Objective function increases but solver converges --- Why?

5 views (last 30 days)
Deepa Maheshvare
Deepa Maheshvare on 30 Mar 2020
Answered: Pranav Verma on 13 Jan 2021
Hi All,
I am trying to solve a constrained optimization problem in fmincon
But I am not sure why the solver converges when the value of the objective function keeps increasing. In the problem I actually try to minimize the cost function.
First-order Norm of
Iter F-count f(x) Feasibility optimality step
0 10 4.832863e+02 9.049e+00 4.227e-02
1 21 1.102633e+03 4.064e+00 1.773e+03 4.846e+02
2 31 3.135305e+03 6.418e-01 1.748e+04 3.303e+02
3 41 3.838079e+03 1.503e-01 2.712e+04 1.434e+02
4 51 5.643491e+03 1.751e-02 1.479e+04 1.056e+02
5 64 1.104272e+04 2.133e-04 1.475e+04 4.097e+01
6 78 1.114938e+04 3.426e-07 1.583e+00 2.615e-01
7 89 1.114955e+04 3.189e-09 1.910e+01 4.891e-04
8 104 1.114956e+04 1.458e-11 3.254e-01 3.897e-06
9 119 1.114956e+04 1.779e-12 2.596e-01 3.332e-09
10 134 1.114956e+04 2.554e-13 2.519e-01 3.315e-10
11 149 1.114956e+04 4.795e-14 2.509e-01 8.456e-11
Local minimum possible. Constraints satisfied.
fmincon stopped because the size of the current step is less than
the value of the step size tolerance and constraints are
satisfied to within the value of the constraint tolerance.
I have solved the same problem without constraints and the objective function decreases with iterations
14 150 3.019962e+00 0.000e+00 2.483e-03 2.052e+03
15 160 1.582527e+00 0.000e+00 1.598e-03 1.897e+03
16 170 1.098656e+00 0.000e+00 1.042e-03 1.503e+03
17 180 9.917733e-01 0.000e+00 7.543e-04 9.265e+02
Any help in understanding why the solver converges when objective function increases in constrained case will be useful.
Side note: MATLAB version 2020a. More details on the problem here


Torsten on 30 Mar 2020
Most probably you start with a point that is not feasible, but gives a lower value of the objective function than those in the feasible region.
Deepa Maheshvare
Deepa Maheshvare on 30 Mar 2020
Ok, I think propably my constraints are changing the feasible space. I have used the same starting points for unconstrained problem.
Equation 1:
Equation 2:
I am trying to estimate in equation 2 and I am using equation 2 as constraints. (Is this wrong?)The objective function minimizes the error in time course results obtained from eqns 1 and 2. And I am using trapezoidal rule to write down the constraints

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by