Linear Programming: Chapter 5 Duality

Similar documents
LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method

4.6 Linear Programming duality

Duality in Linear Programming

Linear Programming Notes V Problem Transformations

Linear Programming. March 14, 2014

Linear Programming: Chapter 11 Game Theory

Chapter 2 Solving Linear Programs

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Practical Guide to the Simplex Method of Linear Programming

Linear Programming Notes VII Sensitivity Analysis

Standard Form of a Linear Programming Problem

Linear Programming Problems

Linear Programming. April 12, 2005

1 Solving LPs: The Simplex Algorithm of George Dantzig

Simplex method summary

9.4 THE SIMPLEX METHOD: MINIMIZATION

Chapter 6. Linear Programming: The Simplex Method. Introduction to the Big M Method. Section 4 Maximization and Minimization with Problem Constraints

Duality in General Programs. Ryan Tibshirani Convex Optimization /36-725

Special Situations in the Simplex Algorithm

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max

Mathematical finance and linear programming (optimization)

Solving Linear Programs

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

Operation Research. Module 1. Module 2. Unit 1. Unit 2. Unit 3. Unit 1

Linear Programming in Matrix Form

Nonlinear Programming Methods.S2 Quadratic Programming

56:171 Operations Research Midterm Exam Solutions Fall 2001

OPRE 6201 : 2. Simplex Method

What is Linear Programming?

Linear Programming: Foundations and Extensions. Robert J. Vanderbei

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

26 Linear Programming

Two-Stage Stochastic Linear Programs

Equilibrium computation: Part 1

International Doctoral School Algorithmic Decision Theory: MCDA and MOO

Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood

Further Study on Strong Lagrangian Duality Property for Invex Programs via Penalty Functions 1

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

3. Linear Programming and Polyhedral Combinatorics

Linear Programming I

4 UNIT FOUR: Transportation and Assignment problems

Optimization Modeling for Mining Engineers

LU Factorization Method to Solve Linear Programming Problem

The Graphical Method: An Example

Chapter 4. Duality. 4.1 A Graphical Example

7 Gaussian Elimination and LU Factorization

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

Question 2: How do you solve a linear programming problem with a graph?

CHAPTER 11: BASIC LINEAR PROGRAMMING CONCEPTS

Convex Programming Tools for Disjunctive Programs

LINEAR INEQUALITIES. less than, < 2x + 5 x 3 less than or equal to, greater than, > 3x 2 x 6 greater than or equal to,

Duality of linear conic problems

0.1 Linear Programming

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Nonlinear Optimization: Algorithms 3: Interior-point methods

Linear Programming: Theory and Applications

Chapter 5. Linear Inequalities and Linear Programming. Linear Programming in Two Dimensions: A Geometric Approach

Some representability and duality results for convex mixed-integer programs.

Lecture 2: August 29. Linear Programming (part I)

OPTIMIZATION. Schedules. Notation. Index

1 Linear Programming. 1.1 Introduction. Problem description: motivate by min-cost flow. bit of history. everything is LP. NP and conp. P breakthrough.

Using CPLEX. =5 has objective value 150.

Online Primal-Dual Algorithms for Maximizing Ad-Auctions Revenue

Linear Programming. Solving LP Models Using MS Excel, 18

Proximal mapping via network optimization

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

2.3 Convex Constrained Optimization Problems

Chapter 13: Binary and Mixed-Integer Programming

Study Guide 2 Solutions MATH 111

Approximation Algorithms

Interior Point Methods and Linear Programming

Linear Programming II: Minimization 2006 Samuel L. Baker Assignment 11 is on page 16.

Definition Given a graph G on n vertices, we define the following quantities:

Notes on Determinant

Linear Programming Sensitivity Analysis

Support Vector Machines

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Linear Programming. Before studying this supplement you should know or, if necessary, review

GENERALIZED INTEGER PROGRAMMING

A Martingale System Theorem for Stock Investments

Permutation Betting Markets: Singleton Betting with Extra Information

Linear Programming Supplement E

Row Echelon Form and Reduced Row Echelon Form

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

CPLEX Tutorial Handout

An Introduction to Linear Programming

Direct Methods for Solving Linear Systems. Matrix Factorization

Optimization in R n Introduction

Stanford Math Circle: Sunday, May 9, 2010 Square-Triangular Numbers, Pell s Equation, and Continued Fractions

Chapter 6: Sensitivity Analysis

Advanced Lecture on Mathematical Science and Information Science I. Optimization in Finance

24. The Branch and Bound Method

Reduced echelon form: Add the following conditions to conditions 1, 2, and 3 above:

A Labeling Algorithm for the Maximum-Flow Network Problem

An Expressive Auction Design for Online Display Advertising. AUTHORS: Sébastien Lahaie, David C. Parkes, David M. Pennock

Operations Research. Inside Class Credit Hours: 51 Prerequisite:Linear Algebra Number of students : 55 Semester: 2 Credit: 3

Sensitivity Report in Excel

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

Transcription:

Linear Programming: Chapter 5 Duality Robert J. Vanderbei October 17, 2007 Operations Research and Financial Engineering Princeton University Princeton, NJ 08544 http://www.princeton.edu/ rvdb

Resource Allocation Recall the resource allocation problem (m = 2, n = 3): where maximize c 1 x 1 + c 2 x 2 + c 3 x 3 subject to a 11 x 1 + a 12 x 2 + a 13 x 3 b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 b 2 x 1, x 2, x 3 0, c j = profit per unit of product j produced b i = units of raw material i on hand a ij = units raw material i required to produce 1 unit of prod j.

Closing Up Shop If we produce one unit less of product j, then we free up: a 1j units of raw material 1 and a 2j units of raw material 2. Selling these unused raw materials for y 1 and y 2 dollars/unit yields a 1j y 1 + a 2j y 2 dollars. Only interested if this exceeds lost profit on each product j: a 1j y 1 + a 2j y 2 c j, j = 1, 2, 3. Consider a buyer offering to purchase our entire inventory. Subject to above constraints, buyer wants to minimize cost: minimize b 1 y 1 + b 2 y 2 subject to a 11 y 1 + a 21 y 2 c 1 a 12 y 1 + a 22 y 2 c 2 a 13 y 1 + a 23 y 2 c 3 y 1, y 2 0.

Duality Every Problem: Has a Dual: maximize subject to minimize subject to n c j x j j=1 n a ij x j b i j=1 i = 1, 2,..., m x j 0 j = 1, 2,..., n, m b i y i i=1 m y i a ij c j i=1 j = 1, 2,..., n y i 0 i = 1, 2,..., m.

Dual of Dual Primal Problem: maximize subject to n c j x j j=1 n a ij x j b i j=1 i = 1,..., m x j 0 j = 1,..., n, Dual in Standard Form: maximize subject to m b i y i i=1 m a ij y i c j i=1 j = 1,..., n y i 0 i = 1,..., m. Original problem is called the primal problem. A problem is defined by its data (notation used for the variables is arbitrary). Dual is negative transpose of primal. Theorem Dual of dual is primal.

Weak Duality Theorem If (x 1, x 2,..., x n ) is feasible for the primal and (y 1, y 2,..., y m ) is feasible for the dual, then c j x j b i y i. j i Proof. c j x j j j ( ) y i a ij x j i = ij y i a ij x j = i j a ij x j y i i b i y i.

Gap or No Gap? An important question: Is there a gap between the largest primal value and the smallest dual value? Primal Values Dual Values Primal Values Gap Dual Values No Gap Answer is provided by the Strong Duality Theorem (coming later).

Simplex Method and Duality A Primal Problem: Its Dual: Notes: Dual is negative transpose of primal. Primal is feasible, dual is not. Use primal to choose pivot: x 2 enters, w 2 leaves. Make analogous pivot in dual: z 2 leaves, y 2 enters.

Second Iteration After First Pivot: Primal (feasible): Dual (still not feasible): Note: negative transpose property intact. Again, use primal to pick pivot: x 3 enters, w 1 leaves. Make analogous pivot in dual: z 3 leaves, y 1 enters.

After Second Iteration Primal: Is optimal. Dual: Conclusion Negative transpose property remains intact. Is optimal. Simplex method applied to primal problem (two phases, if necessary), solves both the primal and the dual.

Strong Duality Theorem Conclusion on previous slide is the essence of the strong duality theorem which we now state: Theorem. If the primal problem has an optimal solution, x = (x 1, x 2,..., x n), then the dual also has an optimal solution, y = (y 1, y 2,..., y m), and c j x j = j i b i y i. Paraphrase: If primal has an optimal solution, then there is no duality gap.

Duality Gap Four possibilities: Primal optimal, dual optimal (no gap). Primal unbounded, dual infeasible (no gap). Primal infeasible, dual unbounded (no gap). Primal infeasible, dual infeasible (infinite gap). Example of infinite gap: maximize 2x 1 x 2 subject to x 1 x 2 1 x 1 + x 2 2 x 1, x 2 0.

Complementary Slackness Theorem. At optimality, we have x j z j = 0, for j = 1, 2,..., n, w i y i = 0, for i = 1, 2,..., m.

Proof Recall the proof of the Weak Duality Theorem: c j x j (c j + z j )x j = ( ) y i a ij x j = j j j i ij y i a ij x j = i j a ij x j y i = i (b i w i )y i i b i y i, The inequalities come from the fact that x j z j 0, for all j, w i y i 0, for all i. By Strong Duality Theorem, the inequalities are equalities at optimality.

Dual Simplex Method When: dual feasible, primal infeasible (i.e., pinks on the left, not on top). An Example. Showing both primal and dual dictionaries: Looking at dual dictionary: y 2 enters, z 2 leaves. On the primal dictionary: w 2 leaves, x 2 enters. After pivot...

Dual Simplex Method: Second Pivot Going in, we have: Looking at dual: y 1 enters, z 4 leaves. Looking at primal: w 1 leaves, x 4 enters.

Dual Simplex Method Pivot Rule Refering to the primal dictionary: Pick leaving variable from those rows that are infeasible. Pick entering variable from a box with a negative value and which can be increased the least (on the dual side). Next primal dictionary shown on next page...

Dual Simplex Method: Third Pivot Going in, we have: Which variable must leave and which must enter? See next page...

Dual Simplex Method: Third Pivot Answer Answer is: x 2 leaves, x 1 enters. Resulting dictionary is OPTIMAL:

Dual-Based Phase I Method Example: Notes: Two objective functions: the true objective (on top), and a fake one (below it). For Phase I, use the fake objective it s dual feasible. Two right-hand sides: the real one (on the left) and a fake (on the right). Ignore the fake right-hand side we ll use it in another algorithm later. Phase I First Pivot: w 3 leaves, x 1 enters. After first pivot...

Dual-Based Phase I Method Second Pivot Recall current dictionary: Dual pivot: w 2 leaves, x 2 enters. After pivot:

Dual-Based Phase I Method Third Pivot Current dictionary: Dual pivot: w 1 leaves, w 2 enters. After pivot: It s feasible!

Fourth Pivot Phase II Current dictionary: It s feasible. Ignore fake objective. Use the real thing (top row). Primal pivot: x 3 enters, w 4 leaves.

Final Dictionary After pivot: Problem is unbounded!