For optimization problems, is the complementary slackness constraint really necessary?

43 Views Asked by At

I am dealing with a bilevel optimization problem, and to solve it I am applying the Karush–Kuhn–Tucker conditions to the inner optimization problem. As a result, I can reformulate my bilevel optimization into a single-level optimization problem. However, I am having a lot of difficulties when solving my reconverted single-level problem numerically.

It seems that I can easily satisfy the stationarity, primal feasibility, and dual feasibility constraints from the KKT conditions. However, when I include the complementary slackness constraint, my problem solution results infeasible.

Therefore, I wonder how necessary is to satisfy the complementary slackness constraint from a practical point of view. Can I still be "happy" just by satisfying the stationarity, primal feasibility, and dual feasibility constraints from the KKT conditions? Would I end up still in a sort of optimal solution? I should add that the outcome of the optimization, i.e., neglecting the complementary slackness constraint, seems to be good enough to deal with my system in practice.

PD. Please bear in mind that my background is engineering, not mathematics.

Note. I am minimizing the error between measurements and model predictions. So it looks something like this: min (y-x)^2 s.t. min (J(x,u)) s.t. system of ODE, f(x,u) state, and input constraints. where y are the measurements, x the state predictions, u includes the inputs, and J(x,u) is the cost functional of the inner problem.