Note 3: LP Duality. If the primal problem (P) in the canonical form is min Z = n (1) then the dual problem (D) in the canonical form is max W = m (2)

Similar documents
Farkas Lemma, Dual Simplex and Sensitivity Analysis

Chapter 1 Linear Programming. Paragraph 5 Duality

Introduction to Mathematical Programming IE406. Lecture 10. Dr. Ted Ralphs

Review Solutions, Exam 2, Operations Research

Lecture 10: Linear programming duality and sensitivity 0-0

Midterm Review. Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A.

Lecture 10: Linear programming. duality. and. The dual of the LP in standard form. maximize w = b T y (D) subject to A T y c, minimize z = c T x (P)

F 1 F 2 Daily Requirement Cost N N N

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

Linear Programming Duality

Part 1. The Review of Linear Programming

IE 5531: Engineering Optimization I

3. Duality: What is duality? Why does it matter? Sensitivity through duality.

A Review of Linear Programming

Linear Programming: Chapter 5 Duality

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method

Duality Theory, Optimality Conditions

SAMPLE QUESTIONS. b = (30, 20, 40, 10, 50) T, c = (650, 1000, 1350, 1600, 1900) T.

OPERATIONS RESEARCH. Michał Kulej. Business Information Systems

(P ) Minimize 4x 1 + 6x 2 + 5x 3 s.t. 2x 1 3x 3 3 3x 2 2x 3 6

Summary of the simplex method

March 13, Duality 3

LP Duality: outline. Duality theory for Linear Programming. alternatives. optimization I Idea: polyhedra

Math Models of OR: Sensitivity Analysis

Example Problem. Linear Program (standard form) CSCI5654 (Linear Programming, Fall 2013) Lecture-7. Duality

END3033 Operations Research I Sensitivity Analysis & Duality. to accompany Operations Research: Applications and Algorithms Fatih Cavdur

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

4.6 Linear Programming duality

Discrete Optimization

Introduction to Mathematical Programming IE406. Lecture 13. Dr. Ted Ralphs

MAT016: Optimization

The Simplex Algorithm

Slack Variable. Max Z= 3x 1 + 4x 2 + 5X 3. Subject to: X 1 + X 2 + X x 1 + 4x 2 + X X 1 + X 2 + 4X 3 10 X 1 0, X 2 0, X 3 0

The Dual Simplex Algorithm

1. Algebraic and geometric treatments Consider an LP problem in the standard form. x 0. Solutions to the system of linear equations

LINEAR PROGRAMMING II

4. Duality and Sensitivity

Optimisation and Operations Research

Chap6 Duality Theory and Sensitivity Analysis

Today: Linear Programming (con t.)

21. Solve the LP given in Exercise 19 using the big-m method discussed in Exercise 20.

The use of shadow price is an example of sensitivity analysis. Duality theory can be applied to do other kind of sensitivity analysis:

Chapter 3, Operations Research (OR)

Linear programming. Saad Mneimneh. maximize x 1 + x 2 subject to 4x 1 x 2 8 2x 1 + x x 1 2x 2 2

1 Review Session. 1.1 Lecture 2

min 4x 1 5x 2 + 3x 3 s.t. x 1 + 2x 2 + x 3 = 10 x 1 x 2 6 x 1 + 3x 2 + x 3 14

Introduction to linear programming using LEGO.

MVE165/MMG631 Linear and integer optimization with applications Lecture 5 Linear programming duality and sensitivity analysis

CSCI5654 (Linear Programming, Fall 2013) Lecture-8. Lecture 8 Slide# 1

Linear and Combinatorial Optimization

Chapter 5 Linear Programming (LP)

Lecture 11: Post-Optimal Analysis. September 23, 2009

Chapter 1: Linear Programming

EE364a Review Session 5

Standard Form An LP is in standard form when: All variables are non-negativenegative All constraints are equalities Putting an LP formulation into sta

Dual Basic Solutions. Observation 5.7. Consider LP in standard form with A 2 R m n,rank(a) =m, and dual LP:

Special cases of linear programming

Lectures 6, 7 and part of 8

The Strong Duality Theorem 1

Part IB Optimisation

Sensitivity Analysis

TIM 206 Lecture 3: The Simplex Method

OPTIMISATION 3: NOTES ON THE SIMPLEX ALGORITHM

CO 250 Final Exam Guide

Simplex Method for LP (II)

"SYMMETRIC" PRIMAL-DUAL PAIR

Ω R n is called the constraint set or feasible set. x 1

Algorithmic Game Theory and Applications. Lecture 7: The LP Duality Theorem

Foundations of Operations Research

4. Algebra and Duality

Worked Examples for Chapter 5

Understanding the Simplex algorithm. Standard Optimization Problems.

MATH 445/545 Test 1 Spring 2016

Sensitivity Analysis and Duality in LP

Duality of LPs and Applications

MATH 373 Section A1. Final Exam. Dr. J. Bowman 17 December :00 17:00

6.854J / J Advanced Algorithms Fall 2008

The Simplex Method for Solving a Linear Program Prof. Stephen Graves

Linear Programming Inverse Projection Theory Chapter 3

BBM402-Lecture 20: LP Duality

Answer the following questions: Q1: Choose the correct answer ( 20 Points ):

Lecture 5. x 1,x 2,x 3 0 (1)

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory

3 The Simplex Method. 3.1 Basic Solutions

9.1 Linear Programs in canonical form

Lecture Note 18: Duality

OPERATIONS RESEARCH. Linear Programming Problem

Lecture Notes 3: Duality

3. THE SIMPLEX ALGORITHM

Algorithms and Theory of Computation. Lecture 13: Linear Programming (2)

CS261: A Second Course in Algorithms Lecture #9: Linear Programming Duality (Part 2)

MATH 4211/6211 Optimization Linear Programming

Chapter 1. Preliminaries

The dual simplex method with bounds

LINEAR PROGRAMMING 2. In many business and policy making situations the following type of problem is encountered:

2.098/6.255/ Optimization Methods Practice True/False Questions

Chapter 2: Linear Programming Basics. (Bertsimas & Tsitsiklis, Chapter 1)

Brief summary of linear programming and duality: Consider the linear program in standard form. (P ) min z = cx. x 0. (D) max yb. z = c B x B + c N x N

M340(921) Solutions Problem Set 6 (c) 2013, Philip D Loewen. g = 35y y y 3.

THE UNIVERSITY OF HONG KONG DEPARTMENT OF MATHEMATICS. Operations Research I

Transcription:

Note 3: LP Duality If the primal problem (P) in the canonical form is min Z = n j=1 c j x j s.t. nj=1 a ij x j b i i = 1, 2,..., m (1) x j 0 j = 1, 2,..., n, then the dual problem (D) in the canonical form is max W = m i=1 b i y i s.t. mi=1 a ij y i c j j = 1, 2,..., n (2) y i 0 i = 1, 2,..., m. We may think of j as a food type, i as a nutrition type, c j as the per-unit price of food type j, b i as the required quantity of nutrition type i, a ij as the quantity of nutrition type i contained in each unit of food type j, x j as the quantity of food type j to purchase, and y i as the per-unit price to be charged for nutrition type i. The primal problem may be considered as finding the least costing quantities of foods to buy to satisfy nutritional needs, and the dual problem can be considered as finding the most profitable pricing scheme for pure nutritions that is competitive in the face of existing prices of food types. In essence, (P) s variable corresponds to (D) s constraint, and (D) s variable corresponds to (P) s constraint; If (P) is a minimization (maximization) problem, then (D) is a maximization (minimization) problem; (P) s free variable corresponds to (D) s = constraint and its nonnegative variable corresponds to (D) s max / constraint (meaning that (D) is a maximization problem and the constraint is of the type) or min / constraint; on the other hand, (D) s free variable corresponds to (P) s = constraint, its nonnegative variable corresponds to (P) s max / or min / constraint. The dual of dual is the primal itself. In lieu of the above, if the primal is our standard form min Z = n j=1 c j x j s.t. nj=1 a ij x j = b i i = 1, 2,..., m x j 0 j = 1, 2,..., n, 1

with n m, then its dual is max s.t. W = m i=1 b i y i mi=1 a ij y i c i y i is free i = 1, 2,..., m. By introducing the slack variables v = (v 1, v 2,..., v n ), the dual LP can be written as max W = b T y s.t. A T y + v T = c y is free and v T 0. For any m-element subset B of {1, 2,..., n}, the dual is max s.t. W = b T y B T y + v T B = c B N T y + v T N = c N y is free, v B 0, v N 0. Now, once v B is determined, we have y = (c T BB 1 v B B 1 ) T, v N = (c T N c T BB 1 N)+ v B B 1 N, and W = c T BB 1 b v B B 1 b. While solving our standard-form LP (primal) using the simplex method, suppose we are at a BS corresponding to B, we don t have c T N c T BB 1 N until B is the optimal basis. That is, the v N corresponding to such B and to v B = 0 is not nonnegative until B is the optimal basis for the primal. Also, for every unit increase in v i for i belonging to B, the dual objective W decreases by (B 1 b) i. Therefore, the dual LP is optimal if and only if B 1 b 0. So the dual BS v corresponding to B is optimal when the primal BS x corresponding to B is feasible. To summarize, we have that primal optimality corresponds to dual feasibility, and dual optimality corresponds to primal feasibility. Weak duality: If x is a feasible solution for the primal problem and y is a feasible solution for the dual problem, then c T x b T y. Reason: Because x 0 and A T y c, we have c T x y T Ax. Since Ax = b, we have y T Ax = y T b = b T y. 2

Strong duality: If x is an optimal solution for the primal problem and y is an optimal solution for the dual problem, then c T x = b T y. Reason: Let B be the optimal basis for the primal problem, then it satisfies both B 1 b 0 and c T N c T BB 1 N. Let x = (x T B, x T N) T and y = B T c B. It is obvious that x is primal feasible (feasible for the primal problem) and y is dual feasible. But it is obvious that c T x = b T y. From the weak duality, y must also be dual optimal. Complementary slackness: We always have x j (c j m i=1 a ij y i ) 0 for j = 1, 2,..., n for any primal feasible x and dual feasible y. Also, x j(c j m i=1 a ij yj ) = 0 for j = 1, 2,..., n if and only if x is primal optimal and y is dual optimal. Reason: The one for the feasible x and y can be derived from the weak duality property. The one for the optimal x and y can be derived from the strong duality property. In plain English, if the primal problem is of the minimization type and the dual problem is of the maximization type, then the primal objective value is always above the dual objective value. But the minimum that the primal can achieve is exactly the maximum that the dual can achieve. That is why a basis being primal/dual optimal leads to it being dual/primal feasible, and why a basis being primal and dual feasible leads to it being optimal, in both primal and dual senses. Also, an optimal primal/dual variable must be 0 when its corresponding dual/primal constraint is not tight at optimality, and a primal/dual constraint must be tight at optimality when its corresponding dual/primal variable is not 0 at optimality. Duality Theorem: The following are the only possible relationships between the primal and dual problems: 1. If one problem has feasible solutions and a bounded objective function (and so has an optimal solution), then so does the other problem, so both the weak and strong duality properties are applicable. 2. If one problem has feasible solutions and an unbounded objective function (and so no optimal solution), then the other problem has no feasible solutions. 3. If one problem has no feasible solutions, then the other problem has either no feasible solutions or an unbounded objective function. From the above observations stems the dual simplex method. This method in effect applies the simplex method to the dual of a given problem to solve the problem. 3

However, the dual simplex method can use the same tableau as the (primal) simplex method. While this method is solving an LP, at any moment, we have c T N c T BB 1 N 0 T. If B 1 b 0 already, then we have both primal and dual feasibilities and therefore primal and dual optimalities; and W will not increase if any of the v i s for i B is raised from 0, and so the current B is the optimal basis. If not, then we first select any i in B with (B 1 b) i < 0 to be ready for leaving B and entering N. Next, we examine the corresponding row of B 1 N, say (B 1 N) i. If (B 1 N) i 0, then v i can be increased indefinitely without making v N negative, and so the dual problem is unbounded and the original primal problem is infeasible. Otherwise, we let j be the one in N that achieves the minimum in = min{(c j c T BB 1 A j )/( B 1 A j ) i i B and (B 1 A j ) i < 0}. Then j will move from N to B. Just like in the simplex method, we need only to do a pivot on the i-j element in the tableau to transform all necessary information into the one corresponding to the new basis B = B {j} \ {i} and new nonbasis N = N \ {j} {i}. Farkas Lemma: Alternatively, we may use Farkas Lemma to prove the strong duality. The lemma says that, for vectors a 1,..., a m, c R n, the following (A) and (B) are equivalent: (A) for any x R n, as long as a T 1 x 0,..., a T mx 0, it will follow that c T x 0; (B) there exists y 1,..., y m 0 such that y 1 a 1 + + y m a m = c. The derivation from (B) to (A) is obvious. For the other direction, we may use proof by contradiction. Suppose (B) is not true. Then the set S = {y 1 a 1 + + y m a m y 1,..., y m 0}, as a nonempty, closed, and convex set in R n, does not contain the point c. Using the separating plane theorem, we can show the existence of an x R n that violates (A). To show the strong duality for the canonical form, we suppose that some x is an optimal solution of (P). Without loss of generality, we suppose that the primal feasible x satisfies a T 1 x = b 1,..., a T p x = b p, a T p+1x > b p+1,..., a T mx > b m, e T 1 x = 0,..., e T q x = 0, e T q+1x > 0,..., e T nx > 0, 4

where each e k is the vector whose only nonzero element is the 1 at the kth position. Since x is primal optimal, for any x R n, as long as a T 1 x 0,..., a T p x 0, e T 1 x 0,..., e T q x 0, it will follow that c T x 0. By Farkas lemma, we know the existence of y 1,..., y p, z 1,..., z q 0, so that c = y 1 a 1 + + y p a p + z 1 e 1 + + z q e q. Consider y = (y 1,..., y p, 0,..., 0) T R m. We have A T y = (a 1,..., a m )y = y 1 a 1 + + y p a p = c z 1 e 1 z q e q c, and y 0. Thus, y is dual feasible. Also, b T y = b 1 y 1 + + b p y p = a T 1 x y 1 + + a T p x y p = (y 1 a 1 + + y p a p ) T x = (c z 1 e 1 z q e q ) T x = c T x z 1 e T 1 x z q e T q x = c T x. By the weak duality, y must be dual optimal as well. Hence, (P) and (D) share the same objective value. 5