Complementary slackness condition for degenerate cases

linear programmingoptimization

According to the complementary slackness condition, at optimality, slack in a constraint multiplied by its dual variable is zero. Using this condition, given an optimal solution in primal we can recover the optimal solution in dual.

But in Introduction to Linear Optimization by Dimitris Bertsimas and John N. Tsitsiklis page 153, says-

If we are given a degenerate optimal basic feasible solution to the primal, complementary slackness may be of very little help in determining an optimal solution to the dual problem.

Why is this the case? How does degeneracy play a role in complementary slackness conditions?

Here is a link to the book:
Introduction to Linear Optimization

Best Answer

When using complementary slackness, nonzero variables in the primal tell us that a dual constraint is tight, but zero variables in the primal tell us nothing. Degenerate solutions have more zero variables than usual, so they're bad.


Let's do the counting.

We can suppose that the primal is in equational form, with $m$ equations in $n$ nonnegative variables. The dual then has $n$ inequalities in $m$ unconstrained variables.

In a typical basic feasible solution, there will be $m$ nonzero basic variables. Complementary slackness then turns $m$ inequalities in the dual into equations. This is exactly the right number of equations to solve for the dual solution. (It turns out that none of the $m$ equations can be redundant, so we can uniquely solve for the $m$ dual variables, but complementary slackness doesn't promise us this - that's something we can deduce from the simplex method.)

If the basic feasible solution is degenerate, there will be fewer than $m$ nonzero variables. In the dual, we still have $m$ dual variables, but now complementary slackness gives us fewer than $m$ equations to solve. We have to infer the rest from the inequality constraints, which is hard.


Note that having the optimal dictionary/tableau is always enough information to solve for an optimal dual solution. It's just that when an optimal basic feasible solution is degenerate, it comes from many dictionaries/tableaux, not all of which are optimal. You have $k$ nonzero variables that must be basic, but you get different dictionaries/tableaux depending on which $m-k$ zero variables are also basic, and not all of these dictionaries/tableaux are optimal.

Related Question