You are on page 1of 1

Proving Optimality for Linear Programs

Luis Goddyn, Math 408 Let A be a real m by n matrix with rows [a1 , a2 , . . . , an ] and columns [A1 , A2 , . . . , Am ]T . Let c = [c1 , c2 , . . . , cn ], b = [b1 , b2 , . . . , bm ]T be real vectors, and let x = [x1 , x2 , . . . , xn ]T , y = [y1 , y2 , . . . , ym ] be vectors of variables. Consider the following dual pair of linear programs. (P) min cx Ax b x 0 (D) max yb yA c y 0

The best way to certify that a proposed vector x is an optimal solution for (P) is to also nd an optimal solution y for the dual (D). We can then use either one of the following two basic theorems to quickly check whether the proposed solutions (x , y ) for (P) and (D) really are optimal. Theorem 1 (Strong Duality) Two real vectors x , y are simultaneously optimal solutions for (P) and (D) if and only if the following hold. 1. (a) x is feasible for (P) (b) y is feasible for (D) 2. cx = y b. Intuitively, the program (P) is approaching the common optimum value cx = y b from above, while (D) approaches it from below. These two values coincide when both x and y are optimal. Theorem 2 (Complementary Slackness) Two real vectors x , y are simultaneously optimal solutions for (P) and (D) if and only if the following hold. 1. (a) x is feasible for (P) (b) y is feasible for (D)
> 0, then ai x = bi 2. (a) For i = 1, 2, . . . , m, if yi (b) For j = 1, 2, . . . , n, if x j > 0, then y Aj = cj .

This theorem is easier to use when it is inconvenient to directly calculate either cx or y b. Conditions 2.(a) and 2.(b) are called the complementary slackness conditions . Notice that we could have written the complementary slackness conditions as two matrix equations. 2.(a) y (Ax b) = 0 2.(b) (y A c)x = 0 It is helpful to remember them by the following adage: If a variable is positive, then its dual constraint is tight. It is sometimes better to state this in the contrapositive. If a constraint is loose, then its dual variable is zero. A more general model allows equality constraints (such as ai x = bi ) as well as inequality constraints. For such constraints, the dual variable (eg. yi ) is not be constrained to be positive. Notice that the complementary slackness conditions trivially hold true for equality constraints. That is, we never need to check complementary slackness for equality constraints, nor for unconstrained variables.

You might also like