I am trying to find the optimal Lagrange multipliers for this problem:
min 100*(V4 - V2 + (V1 - V3)^2)^2 + (V3 - V1 + 1)^2 s.t [V5 - (V1 - V3)*(V2 - V4) + 1; V3 - V1 + V6 - (V2 - V4)^2; V1 - V3 + V7 - 1/2]=0 [V1;V2;V3;V4;V5;V6;V7] >=0
The optimal minimizer that I am getting is:
0.5000 2.0687 0.0000 0.0687 -0.0000 4.5000 0.0000
MATLAB is giving me the Lagrange multipliers:
-0.7000 0.0000 1.7510
0 0 0 0 0.7000 0 1.7510
However, when I take the gradient of the Lagrangian function at the optimal solution V, the answer is not 0!
Any idea why?
Here is what was written: "fmincon stopped because the size of the current search direction is less than twice the default value of the step size tolerance and constraints are satisfied to within the default value of the constraint tolerance."
which means you didn't converge with respect to the first order optimality measure. Your objective is a variant of Rosenbrock, so presumably it's supposed to be hard to converge to a proper solution. Try increasing MaxIter to something ridiculously large and make sure you get an exitflag=1.