15.081J/6.251J Introduction to Mathematical Programming Lecture 9: Duality Theory II 1 Outline Slide 1 • Strict complementary slackness • Geometry of duality • The dual simplex algorithm • Duality and degeneracy 2 Strict Complementary Slackness Slide 2 Assume that both problems have an optimal solution: min c′ x s.t. Ax ≥ b x ≥ 0, max p′ b s.t. p′ A ≤ c′ p ≥ 0. There exist optimal solutions to the primal and to the dual that satisfy • For every j, either xj > 0 or p′ Aj < cj . • For every i, we have either a′i x > bi or pi > 0. 2.1 Example Slide 3 min s.t. 5x1 + 5x2 x1 + x2 ≥ 2 2x1 − x2 ≥ 0 x1 , x2 ≥ 0. • Is (2/3, 4/3) strictly complementary? • Which are all the strictly complementary solutions? 3 The Geometry of Duality Slide 4 min s.t. c′ x a′i x ≥ bi , i = 1, . . . , m max p′ b m � pi ai = c s.t. i=1 p≥0 1 c c a1 a3 A a2 c B a5 a4 a1 c a3 a4 a2 a1 c C a1 a5 a1 D a2 c a1 a3 a3 a2 x * a1 2 4 Dual Simplex Algorithm 4.1 Motivation Slide 5 • In simplex method B −1 b ≥ 0 • Primal optimality condition c′ − c′B B −1 A ≥ 0′ same as dual feasibility • Simplex is a primal algorithm: maintains primal feasibility and works towards dual feasibility • Dual algorithm: maintains dual feasibility and works towards primal feasibility −c′B xB xB(1) .. . xB(m) c̄1 | ... c̄n | B −1 A1 | ... B −1 An | Slide 6 • Do not require B −1 b ≥ 0 • Require c̄ ≥ 0 (dual feasibility) • Dual cost is p′ b = c′B B −1 b = c′B xB • If B −1 b ≥ 0 then both dual feasibility and primal feasibility, and also same cost ⇒ optimality • Otherwise, change basis 4.2 An iteration Slide 7 1. Start with basis matrix B and all reduced costs ≥ 0. 2. If B −1 b ≥ 0 optimal solution found; else, choose l s.t. xB(l) < 0. 3. Consider the lth row (pivot row) xB(l) , v1 , . . . , vn . If ∀i vi ≥ 0 then dual optimal cost = +∞ and algorithm terminates. 4. Else, let j s.t. c̄i c̄j = min |vj | {i|vi <0} |vi | 5. Pivot element vj : Aj enters the basis and AB(l) exits. 3 Slide 8 x2 p2 1 . D c 1 . . . . . B b C C A . . A E D 1 x1 2 E 1 p1 (b) (a) 4.3 . . B 1/2 An example Slide 9 min x1 + x2 s.t. x1 + 2x2 ≥ 2 x1 ≥ 1 x1 , x2 ≥ 0 min s.t. x1 + x2 x1 + 2x2 − x3 = 2 x1 − x4 = 1 x1 , x2 , x3 , x4 ≥ 0 max s.t. 2p1 + p2 p1 + p2 ≤ 1 2p1 ≤ 1 p1 , p2 ≥ 0 x1 x2 x3 x4 0 1 1 0 0 x3 = −2 −1 −2* 1 0 x4 = −1 −1 0 0 1 Slide 10 Slide 11 x1 x2 x3 x4 −1 1/2 0 1/2 0 x2 = 1 1/2 1 −1/2 0 x4 = −1 −1* 0 0 1 x1 x2 x3 x4 −3/2 0 0 1/2 1/2 x2 = 1/2 0 1 −1/2 1/2 x1 = 1 1 0 0 −1 4 x2 . B p2 A' . C . C . . . A A . c . . D D A' ' x1 p1 b (a) 5 . B (b) Duality and Degeneracy • Any basis matrix B leads to dual basic solution p′ = cB ′ B −1 . Slide 12 • The dual constraint p′ Aj = cj is active if and only if the reduced cost cj is zero. • Since p is m-dimensional, dual degeneracy implies more than m reduced costs that are zero. • Dual degeneracy is obtained whenever there exists a nonbasic variable whose reduced cost is zero. 5.1 Example Slide 13 min 3x1 + x2 max s.t. x1 + x2 − x3 = 2 s.t. 2x1 − x2 − x4 = 0 x1 , x2 , x3 , x4 ≥ 0, 2p1 p1 + 2p2 ≤ 3 p1 − p2 ≤ 1 p1 , p2 ≥ 0. Equivalent primal problem min 3x1 + x2 s.t. x1 + x2 ≥ 2 2x1 − x2 ≥ 0 x1 , x2 ≥ 0. Slide 14 Slide 15 • Four basic solutions in primal: A, B, C, D. • Six distinct basic solutions in dual: A, A′ , A′′ , B, C, D. • Different bases may lead to the same basic solution for the primal, but to different basic solutions for the dual. Some are feasible and some are infeasible. 5 5.2 Degeneracy and uniqueness • If dual has a nondegenerate optimal solution, the primal problem has a unique optimal solution. • It is possible, however, that dual has a degenerate solution and the dual has a unique optimal solution. 6 Slide 16 MIT OpenCourseWare http://ocw.mit.edu 6.251J / 15.081J Introduction to Mathematical Programming Fall 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.