Solving Linear and Integer Programs

Size: px
Start display at page:

Download "Solving Linear and Integer Programs"

Transcription

1 Solving Linear and Integer Programs Robert E. Bixby ILOG, Inc. and Rice University Ed Rothberg ILOG, Inc. DAY 2 2 INFORMS Practice

2 Dual Simplex Algorithm 3 Some Motivation Dual simplex vs. primal (2002): Dual > 2x faster CPLEX Primal 1.2x improvement Dual 1.7x improvement Best algorithm of MIP There isn t much in books about implementing the dual. 4 INFORMS Practice

3 Dual Simplex Algorithm (Lemke, 1954: Commercial codes ~1990) Input: A dual feasible basis B and vectors X B = A -1 B b and D N = c N A T N B -T c B. Step 1: (Pricing) If X B 0, stop, B is optimal; else let i = argmin{x Bk : k {1,,m}}. Step 2: (BTRAN) Solve B T z= e i. Compute α N =-A NT z. Step 3: (Ratio test) If α N 0, stop, (D) is unbounded; else, let j = argmin{d k /α k : α k > 0}. Step 4: (FTRAN) Solve A B y= A j. Step 5: (Update) Set B i =j. Update X B (using y) and D N (using α N ) 5 Dual Simplex Algorithm (Lemke, 1954: Commercial codes ~1990) Input: A dual feasible basis B and vectors X B = A -1 B b and D N = c N A T N B -T c B. Step 1: (Pricing) If X B 0, stop, B is optimal; else let i = argmin{x Bk : k {1,,m}}. Step 2: (BTRAN) Solve B T z= e i. Compute α N =-A NT z. Step 3: (Ratio test) If α N 0, stop, (D) is unbounded; else, let j = argmin{d k /α k : α k > 0}. Step 4: (FTRAN) Solve A B y= A j. Step 5: (Update) Set B i =j. Update X B (using y) and D N (using α N ) 6 INFORMS Practice

4 Implementing the Dual Simplex Algorithm 7 Implementation Issues for Dual Simplex 1. Finding an initial feasible basis, or the concluding that there is none 2. Pricing: Dual steepest edge 3. Solving the linear systems LU factorization and factorization update BTRAN and FTRAN exploiting sparsity 4. Numerically stable ratio test: Bound shifting and perturbation 5. Bound flipping: Exploiting boxed variables to combine many iterations into one. 8 INFORMS Practice

5 Issue 0 Preparation: Bounds on Variables In practice, simplex algorithms need to accept LPs in the following form: Minimize c T x Subject to Ax = b l x u (P BD ) where l is an n-vector of lower bounds and u an n-vector of upper bounds. l is allowed to have - entries and u is allowed to have + entries. (Note that (P BD ) is in standard form if l j = 0, u j = + j.) 9 (Issue 0 Bounds on variables) Basic Solution A basis for (P BD ) is a triple (B,L,U) where B is an ordered m- element subset of {1,,n} (just as before), (B,L,U) is a partition of {1,,n}, l j > - j L, and u j < + j U. N = L U is the set of nonbasic variables. The associated (primal) basic solution X is given by X L = l L, X U = u U and X B = A -1 B (b A L l L A U u U ). This solution is feasible if l B X B u B. The associated dual basic solution is defined exactly as before: D B =0, Π T A B = c T B, D N = c N A T N Π. It is dual feasible if D L 0 and D U INFORMS Practice

6 (Issue 0 Bounds on variables) The Full Story Modify simplex algorithm Only the Pricing and Ratio Test steps much be changed substantially. The complicated part is the ratio test Reference: See Chvátal for the primal 11 Issue 1 The Initial Feasible Basis Phase I Two parts to the solution 1. Finding some initial basis (probably not feasible) 2. Modified simplex algorithm to find a feasible basis Reference for Primal: R.E. Bixby (1992). Implementing the simplex method: the initial basis, ORSA Journal on Computing 4, INFORMS Practice

7 (Issue 1 Initial feasible basis) Initial Basis Primal and dual bases are the same. We begin in the context of the primal. Consider Minimize c T x Subject to Ax = b (P BD ) l x u Assumption: Every variable has some finite bound. Trick: Add artificial variables x n+1,,x n+m : Ax + I x n+1.. x n+m = b where l j = u j = 0 for j = n+1,,n+m. Initial basis: B = (n+1,,n+m) and for each j B, pick some finite bound and place j in L or U, as appropriate. 13 (Issue 1 Initial feasible basis) Solving the Phase I If the initial basis is not dual feasible, we consider the problem: Maximize Σ (d j : d j < 0) Subject to A T π + d = c This problem is locally linear : Define κ R n by κ j =1if D j < 0, and 0 otherwise. Let K = {j: D j < 0} and K = {j: D j 0} Then our problem becomes Maximize κ T d Subject to A T π + d = c d K 0, d K 0 Apply dual simplex, and whenever d j for j K becomes 0, move it to K. 14 INFORMS Practice

8 Issue 2 Pricing The texbook rule: Choose the largest primal violation is TERRIBLE: For a problem in standard form j = argmin{x Bi : i = 1,,m} Geometry is wrong: Maximizes rate of change relative to axis; better to do relative to edge. Goldfard and Forrest 1992 suggested the following steepest-edge alternative j = argmin{x Bi /η i : i = 1,,m} where η i = e it A -1 B 2, and gave an efficient update. 15 Example: Pricing Model: dfl001 Pricing: Greatest infeasibility Dual simplex - Optimal: Objective = e+07 Solution time = sec. Iterations = (0) Pricing: Goldfarb-Forrest steepest-edge Dual simplex - Optimal: Objective = e+07 Solution time = sec. Iterations = (0) 16 INFORMS Practice

9 Issue 3 Solving FTRAN, BTRAN Computing LU factorization: See Suhl & Suhl (1990). Computing sparse LU factorization for largescale linear programming basis, ORSA Journal on Computing 2, Updating the Factorization: Forrest-Tomlin update is the method of choice. See Chvátal Chapter 24. Exploiting sparsity: This is the main recent development. 17 (Issue 3 Solving FTRAN & BTRAN) We must solve two linear systems per iterstion: FTRAN BTRAN A B y= A j A T B z= e i where A B = basis matrix (very sparse) A j = entering column (very sparse) e i = unit vector (very sparse) y an z are typically very sparse Example: Model pla85900 (from TSP) Constraints Variables Average y INFORMS Practice

10 19 A B = U L Triangular solve: Lw=A j (A B y= L(Uy) = A j ) update update = L w A j Graph structure: Define an acyclic digraph D = ({1,,m}, E) where (i,j) E l ij 0 and i j. Solving using D: Let X = {i V: A ij 0}. Compute X = {j V: a directed path from j to X}. X can be computed in time linear in E(X) + X. w Known in advance Need to find w/o searching PDS Models Patient Distribution System : Carolan, Hill, Kennington, Niemi, Wichmann, An empirical evaluation of the KORBX algorithms for military airlift applications, Operations Research 38 (1990), pp MODEL ROWS pds pds pds pds pds pds pds pds pds CPLEX CPLEX CPLEX SPEEDUP Primal Simplex Dual Simplex Dual Simplex 20 INFORMS Practice

11 CPLEX 1.0 seconds Not just faster -- Growth with size: Quadratic then & Linear now! CPLEX 8.0 seconds # Time Periods: PDS02 -- PDS70 21 Issue 4 Ratio Test and Finiteness The standard form dual problem is 22 Maximize b T π Subject to A T π + d = c d 0 Feasibility means d 0 However, in practice this condition is replaced by d - ε e where e T =(1,,1) and ε =10-6. Reason: Degeneracy. In 1972 Paula Harris proposed suggested exploiting this fact to improve numerical stability. INFORMS Practice

12 (Issue 4 Ratio test & finiteness) STD. RATIO TEST j enter = argmin{d j /α j : α j > 0} Motivation: Feasibility step length θ satisfies D N θα N 0 However, the bigger the step length, the bigger the change in the objective. So, we choose Using ε, we have θ max = min{d j /α j : α j > 0} θ ε max = min{(d j +ε)/α j : α j > 0} > θ max 23 HARRIS RATIO TEST j enter = argmax{α j : D j /α j θ ε max } Advantages (Issue 4 Ratio test & finiteness) Numerical stability α jenter = pivot element Degeneracy Reduces # of 0-length steps Disadvantage D jenter < 0 objective goes in wrong direction Solution: BOUND SHIFTING If D jenter < 0, we replace the lower bound on d jenter by something less than its current value. Note that this shift changes the problem and must be removed: 5% of cases, this produces dual infeasibility process is iterated. 24 INFORMS Practice

13 Example: Bound-Shifting Removal Problem 'pilot87.sav.gz' read. Reduced LP has 1809 rows, 4414 columns, and nonzeros. Iteration log... Iteration: 1 Scaled dual infeas = Iteration: 733 Scaled dual infeas = Iteration: 790 Dual objective = Iteration: Dual objective = Removing shift (3452). Iteration: Scaled dual infeas = Iteration: Scaled dual infeas = Iteration: Dual objective = Elapsed time = sec. (17000 iterations). Iteration: Dual objective = Iteration: Dual objective = Removing shift (76). Iteration: Scaled dual infeas = Iteration: Dual objective = Elapsed time = sec. (18000 iterations). Removing shift (10). Iteration: Scaled dual infeas = Iteration: Dual objective = Removing shift (1). Shift 1: ε = 10-7 Shift 2: ε = 10-8 Shift 3: ε = Dual simplex - Optimal: Objective = e+002 Solution time = sec. Iterations = (1137) (Issue 4 Ratio test & finiteness) Finiteness: Bound shifting is closely related to the perturbation method employed in CPLEX if no progress is being made in the objective. No progress is replaced by d j -ε j = 1,,n d j -ε ε j j = 1,,n, where ε j is random uniform on [0,ε]. 26 INFORMS Practice

14 Issue 5 Bound Flipping A basis is given by a triple (B,L,U) L = non-basics at lower bound: Feasibility D L 0 U = non-basics at upper bound: Feasibility D U 0 Ratio test: Suppose X Bi is the leaving variable, and the step length is blocked by some variable d j, j L, that is about to become negative and such that u j <+ : Flipping means: Move j from L to U. Check: Do an update to see if X Bi is still favorable Can combine many iterations into a single iteration. 27 Example: Bound Flipping Problem 'fit2d.sav.gz' read. Initializing dual steep norms... Iteration log... Iteration: 1 Dual objective = Perturbation started. Iteration: 203 Dual objective = Iteration: 1313 Dual objective = Iteration: 2372 Dual objective = Iteration: 3413 Dual objective = Iteration: 4316 Dual objective = Iteration: 5151 Dual objective = Iteration: 5820 Dual objective = Removing perturbation. w/o flipping Dual simplex - Optimal: Objective = e+004 Solution time = sec. Iterations = 5932 (0) Problem 'fit2d.sav.gz' read. Initializing dual steep norms... Iteration log... Iteration: 1 Dual objective = w/ flipping Dual simplex - Optimal: Objective = e+004 Solution time = 1.88 sec. Iterations = 201 (0) 28 INFORMS Practice

Novel update techniques for the revised simplex method (and their application)

Novel update techniques for the revised simplex method (and their application) Novel update techniques for the revised simplex method (and their application) Qi Huangfu 1 Julian Hall 2 Others 1 FICO 2 School of Mathematics, University of Edinburgh ERGO 30 November 2016 Overview Background

More information

DM545 Linear and Integer Programming. Lecture 7 Revised Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 7 Revised Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 7 Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 2 Motivation Complexity of single pivot operation

More information

Revised Simplex Method

Revised Simplex Method DM545 Linear and Integer Programming Lecture 7 Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 2 Motivation Complexity of single pivot operation

More information

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

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 Simplex Method Slack Variable Max Z= 3x 1 + 4x 2 + 5X 3 Subject to: X 1 + X 2 + X 3 20 3x 1 + 4x 2 + X 3 15 2X 1 + X 2 + 4X 3 10 X 1 0, X 2 0, X 3 0 Standard Form Max Z= 3x 1 +4x 2 +5X 3 + 0S 1 + 0S 2

More information

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

Standard Form An LP is in standard form when: All variables are non-negativenegative All constraints are equalities Putting an LP formulation into sta Chapter 4 Linear Programming: The Simplex Method An Overview of the Simplex Method Standard Form Tableau Form Setting Up the Initial Simplex Tableau Improving the Solution Calculating the Next Tableau

More information

Linear Programming Redux

Linear Programming Redux Linear Programming Redux Jim Bremer May 12, 2008 The purpose of these notes is to review the basics of linear programming and the simplex method in a clear, concise, and comprehensive way. The book contains

More information

CO350 Linear Programming Chapter 8: Degeneracy and Finite Termination

CO350 Linear Programming Chapter 8: Degeneracy and Finite Termination CO350 Linear Programming Chapter 8: Degeneracy and Finite Termination 27th June 2005 Chapter 8: Finite Termination 1 The perturbation method Recap max c T x (P ) s.t. Ax = b x 0 Assumption: B is a feasible

More information

Simplex method(s) for solving LPs in standard form

Simplex method(s) for solving LPs in standard form Simplex method: outline I The Simplex Method is a family of algorithms for solving LPs in standard form (and their duals) I Goal: identify an optimal basis, as in Definition 3.3 I Versions we will consider:

More information

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

Lecture 11: Post-Optimal Analysis. September 23, 2009 Lecture : Post-Optimal Analysis September 23, 2009 Today Lecture Dual-Simplex Algorithm Post-Optimal Analysis Chapters 4.4 and 4.5. IE 30/GE 330 Lecture Dual Simplex Method The dual simplex method will

More information

Optimization (168) Lecture 7-8-9

Optimization (168) Lecture 7-8-9 Optimization (168) Lecture 7-8-9 Jesús De Loera UC Davis, Mathematics Wednesday, April 2, 2012 1 DEGENERACY IN THE SIMPLEX METHOD 2 DEGENERACY z =2x 1 x 2 + 8x 3 x 4 =1 2x 3 x 5 =3 2x 1 + 4x 2 6x 3 x 6

More information

Linear programs Optimization Geoff Gordon Ryan Tibshirani

Linear programs Optimization Geoff Gordon Ryan Tibshirani Linear programs 10-725 Optimization Geoff Gordon Ryan Tibshirani Review: LPs LPs: m constraints, n vars A: R m n b: R m c: R n x: R n ineq form [min or max] c T x s.t. Ax b m n std form [min or max] c

More information

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

21. Solve the LP given in Exercise 19 using the big-m method discussed in Exercise 20. Extra Problems for Chapter 3. Linear Programming Methods 20. (Big-M Method) An alternative to the two-phase method of finding an initial basic feasible solution by minimizing the sum of the artificial

More information

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

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 The exam is three hours long and consists of 4 exercises. The exam is graded on a scale 0-25 points, and the points assigned to each question are indicated in parenthesis within the text. If necessary,

More information

CO 602/CM 740: Fundamentals of Optimization Problem Set 4

CO 602/CM 740: Fundamentals of Optimization Problem Set 4 CO 602/CM 740: Fundamentals of Optimization Problem Set 4 H. Wolkowicz Fall 2014. Handed out: Wednesday 2014-Oct-15. Due: Wednesday 2014-Oct-22 in class before lecture starts. Contents 1 Unique Optimum

More information

The dual simplex method with bounds

The dual simplex method with bounds The dual simplex method with bounds Linear programming basis. Let a linear programming problem be given by min s.t. c T x Ax = b x R n, (P) where we assume A R m n to be full row rank (we will see in the

More information

Farkas Lemma, Dual Simplex and Sensitivity Analysis

Farkas Lemma, Dual Simplex and Sensitivity Analysis Summer 2011 Optimization I Lecture 10 Farkas Lemma, Dual Simplex and Sensitivity Analysis 1 Farkas Lemma Theorem 1. Let A R m n, b R m. Then exactly one of the following two alternatives is true: (i) x

More information

Summary of the simplex method

Summary of the simplex method MVE165/MMG630, The simplex method; degeneracy; unbounded solutions; infeasibility; starting solutions; duality; interpretation Ann-Brith Strömberg 2012 03 16 Summary of the simplex method Optimality condition:

More information

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

The use of shadow price is an example of sensitivity analysis. Duality theory can be applied to do other kind of sensitivity analysis: Sensitivity analysis The use of shadow price is an example of sensitivity analysis. Duality theory can be applied to do other kind of sensitivity analysis: Changing the coefficient of a nonbasic variable

More information

Part 1. The Review of Linear Programming

Part 1. The Review of Linear Programming In the name of God Part 1. The Review of Linear Programming 1.5. Spring 2010 Instructor: Dr. Masoud Yaghini Outline Introduction Formulation of the Dual Problem Primal-Dual Relationship Economic Interpretation

More information

The CPLEX Library: Mixed Integer Programming

The CPLEX Library: Mixed Integer Programming The CPLEX Library: Mixed Programming Ed Rothberg, ILOG, Inc. 1 The Diet Problem Revisited Nutritional values Bob considered the following foods: Food Serving Size Energy (kcal) Protein (g) Calcium (mg)

More information

Review Solutions, Exam 2, Operations Research

Review Solutions, Exam 2, Operations Research Review Solutions, Exam 2, Operations Research 1. Prove the weak duality theorem: For any x feasible for the primal and y feasible for the dual, then... HINT: Consider the quantity y T Ax. SOLUTION: To

More information

MS&E 318 (CME 338) Large-Scale Numerical Optimization

MS&E 318 (CME 338) Large-Scale Numerical Optimization Stanford University, Management Science & Engineering (and ICME) MS&E 318 (CME 338) Large-Scale Numerical Optimization Instructor: Michael Saunders Spring 2015 Notes 4: The Primal Simplex Method 1 Linear

More information

Special cases of linear programming

Special cases of linear programming Special cases of linear programming Infeasible solution Multiple solution (infinitely many solution) Unbounded solution Degenerated solution Notes on the Simplex tableau 1. The intersection of any basic

More information

Solving LP and MIP Models with Piecewise Linear Objective Functions

Solving LP and MIP Models with Piecewise Linear Objective Functions Solving LP and MIP Models with Piecewise Linear Obective Functions Zonghao Gu Gurobi Optimization Inc. Columbus, July 23, 2014 Overview } Introduction } Piecewise linear (PWL) function Convex and convex

More information

Math Models of OR: Sensitivity Analysis

Math Models of OR: Sensitivity Analysis Math Models of OR: Sensitivity Analysis John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 8 USA October 8 Mitchell Sensitivity Analysis / 9 Optimal tableau and pivot matrix Outline Optimal

More information

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)

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) 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

More information

Linear Programming: Simplex

Linear Programming: Simplex Linear Programming: Simplex Stephen J. Wright 1 2 Computer Sciences Department, University of Wisconsin-Madison. IMA, August 2016 Stephen Wright (UW-Madison) Linear Programming: Simplex IMA, August 2016

More information

9.1 Linear Programs in canonical form

9.1 Linear Programs in canonical form 9.1 Linear Programs in canonical form LP in standard form: max (LP) s.t. where b i R, i = 1,..., m z = j c jx j j a ijx j b i i = 1,..., m x j 0 j = 1,..., n But the Simplex method works only on systems

More information

Sparsity Matters. Robert J. Vanderbei September 20. IDA: Center for Communications Research Princeton NJ.

Sparsity Matters. Robert J. Vanderbei September 20. IDA: Center for Communications Research Princeton NJ. Sparsity Matters Robert J. Vanderbei 2017 September 20 http://www.princeton.edu/ rvdb IDA: Center for Communications Research Princeton NJ The simplex method is 200 times faster... The simplex method is

More information

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

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method The Simplex Method Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/ yyye (LY, Chapters 2.3-2.5, 3.1-3.4) 1 Geometry of Linear

More information

A Parametric Simplex Algorithm for Linear Vector Optimization Problems

A Parametric Simplex Algorithm for Linear Vector Optimization Problems A Parametric Simplex Algorithm for Linear Vector Optimization Problems Birgit Rudloff Firdevs Ulus Robert Vanderbei July 9, 2015 Abstract In this paper, a parametric simplex algorithm for solving linear

More information

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

Dual Basic Solutions. Observation 5.7. Consider LP in standard form with A 2 R m n,rank(a) =m, and dual LP: Dual Basic Solutions Consider LP in standard form with A 2 R m n,rank(a) =m, and dual LP: Observation 5.7. AbasisB yields min c T x max p T b s.t. A x = b s.t. p T A apple c T x 0 aprimalbasicsolutiongivenbyx

More information

"SYMMETRIC" PRIMAL-DUAL PAIR

SYMMETRIC PRIMAL-DUAL PAIR "SYMMETRIC" PRIMAL-DUAL PAIR PRIMAL Minimize cx DUAL Maximize y T b st Ax b st A T y c T x y Here c 1 n, x n 1, b m 1, A m n, y m 1, WITH THE PRIMAL IN STANDARD FORM... Minimize cx Maximize y T b st Ax

More information

Prelude to the Simplex Algorithm. The Algebraic Approach The search for extreme point solutions.

Prelude to the Simplex Algorithm. The Algebraic Approach The search for extreme point solutions. Prelude to the Simplex Algorithm The Algebraic Approach The search for extreme point solutions. 1 Linear Programming-1 x 2 12 8 (4,8) Max z = 6x 1 + 4x 2 Subj. to: x 1 + x 2

More information

Introduction to optimization

Introduction to optimization Introduction to optimization Geir Dahl CMA, Dept. of Mathematics and Dept. of Informatics University of Oslo 1 / 24 The plan 1. The basic concepts 2. Some useful tools (linear programming = linear optimization)

More information

Lecture: Algorithms for LP, SOCP and SDP

Lecture: Algorithms for LP, SOCP and SDP 1/53 Lecture: Algorithms for LP, SOCP and SDP Zaiwen Wen Beijing International Center For Mathematical Research Peking University http://bicmr.pku.edu.cn/~wenzw/bigdata2018.html wenzw@pku.edu.cn Acknowledgement:

More information

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

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory Instructor: Shengyu Zhang 1 LP Motivating examples Introduction to algorithms Simplex algorithm On a particular example General algorithm Duality An application to game theory 2 Example 1: profit maximization

More information

The practical revised simplex method (Part 2)

The practical revised simplex method (Part 2) The practical revised simplex method (Part 2) Julian Hall School of Mathematics University of Edinburgh January 25th 2007 The practical revised simplex method Overview (Part 2) Practical implementation

More information

ORF 307: Lecture 2. Linear Programming: Chapter 2 Simplex Methods

ORF 307: Lecture 2. Linear Programming: Chapter 2 Simplex Methods ORF 307: Lecture 2 Linear Programming: Chapter 2 Simplex Methods Robert Vanderbei February 8, 2018 Slides last edited on February 8, 2018 http://www.princeton.edu/ rvdb Simplex Method for LP An Example.

More information

(includes both Phases I & II)

(includes both Phases I & II) (includes both Phases I & II) Dennis ricker Dept of Mechanical & Industrial Engineering The University of Iowa Revised Simplex Method 09/23/04 page 1 of 22 Minimize z=3x + 5x + 4x + 7x + 5x + 4x subject

More information

An Enhanced Piecewise Linear Dual Phase-1 Algorithm for the Simplex Method

An Enhanced Piecewise Linear Dual Phase-1 Algorithm for the Simplex Method An Enhanced Piecewise Linear Dual Phase-1 Algorithm for the Simplex Method István Maros Department of Computing, Imperial College, London Email: i.maros@ic.ac.uk Departmental Technical Report 2002/15 ISSN

More information

Part 1. The Review of Linear Programming

Part 1. The Review of Linear Programming In the name of God Part 1. The Review of Linear Programming 1.2. Spring 2010 Instructor: Dr. Masoud Yaghini Outline Introduction Basic Feasible Solutions Key to the Algebra of the The Simplex Algorithm

More information

2.098/6.255/ Optimization Methods Practice True/False Questions

2.098/6.255/ Optimization Methods Practice True/False Questions 2.098/6.255/15.093 Optimization Methods Practice True/False Questions December 11, 2009 Part I For each one of the statements below, state whether it is true or false. Include a 1-3 line supporting sentence

More information

CO350 Linear Programming Chapter 6: The Simplex Method

CO350 Linear Programming Chapter 6: The Simplex Method CO350 Linear Programming Chapter 6: The Simplex Method 8th June 2005 Chapter 6: The Simplex Method 1 Minimization Problem ( 6.5) We can solve minimization problems by transforming it into a maximization

More information

AM 121: Intro to Optimization

AM 121: Intro to Optimization AM 121: Intro to Optimization Models and Methods Lecture 6: Phase I, degeneracy, smallest subscript rule. Yiling Chen SEAS Lesson Plan Phase 1 (initialization) Degeneracy and cycling Smallest subscript

More information

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

(P ) Minimize 4x 1 + 6x 2 + 5x 3 s.t. 2x 1 3x 3 3 3x 2 2x 3 6 The exam is three hours long and consists of 4 exercises. The exam is graded on a scale 0-25 points, and the points assigned to each question are indicated in parenthesis within the text. Problem 1 Consider

More information

ECE 307 Techniques for Engineering Decisions

ECE 307 Techniques for Engineering Decisions ECE 7 Techniques for Engineering Decisions Introduction to the Simple Algorithm George Gross Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign ECE 7 5 9 George

More information

The Primal-Dual Algorithm P&S Chapter 5 Last Revised October 30, 2006

The Primal-Dual Algorithm P&S Chapter 5 Last Revised October 30, 2006 The Primal-Dual Algorithm P&S Chapter 5 Last Revised October 30, 2006 1 Simplex solves LP by starting at a Basic Feasible Solution (BFS) and moving from BFS to BFS, always improving the objective function,

More information

Chapter 7 Network Flow Problems, I

Chapter 7 Network Flow Problems, I Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest

More information

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

1. Algebraic and geometric treatments Consider an LP problem in the standard form. x 0. Solutions to the system of linear equations The Simplex Method Most textbooks in mathematical optimization, especially linear programming, deal with the simplex method. In this note we study the simplex method. It requires basically elementary linear

More information

Math Models of OR: Some Definitions

Math Models of OR: Some Definitions Math Models of OR: Some Definitions John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA September 2018 Mitchell Some Definitions 1 / 20 Active constraints Outline 1 Active constraints

More information

1 Implementation (continued)

1 Implementation (continued) Mathematical Programming Lecture 13 OR 630 Fall 2005 October 6, 2005 Notes by Saifon Chaturantabut 1 Implementation continued We noted last time that B + B + a q Be p e p BI + ā q e p e p. Now, we want

More information

The Simplex Algorithm: Technicalities 1

The Simplex Algorithm: Technicalities 1 1/45 The Simplex Algorithm: Technicalities 1 Adrian Vetta 1 This presentation is based upon the book Linear Programming by Vasek Chvatal 2/45 Two Issues Here we discuss two potential problems with the

More information

Ann-Brith Strömberg. Lecture 4 Linear and Integer Optimization with Applications 1/10

Ann-Brith Strömberg. Lecture 4 Linear and Integer Optimization with Applications 1/10 MVE165/MMG631 Linear and Integer Optimization with Applications Lecture 4 Linear programming: degeneracy; unbounded solution; infeasibility; starting solutions Ann-Brith Strömberg 2017 03 28 Lecture 4

More information

Termination, Cycling, and Degeneracy

Termination, Cycling, and Degeneracy Chapter 4 Termination, Cycling, and Degeneracy We now deal first with the question, whether the simplex method terminates. The quick answer is no, if it is implemented in a careless way. Notice that we

More information

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

Introduction to Mathematical Programming IE406. Lecture 10. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 10 Dr. Ted Ralphs IE406 Lecture 10 1 Reading for This Lecture Bertsimas 4.1-4.3 IE406 Lecture 10 2 Duality Theory: Motivation Consider the following

More information

A review of sparsity vs stability in LU updates

A review of sparsity vs stability in LU updates A review of sparsity vs stability in LU updates Michael Saunders Dept of Management Science and Engineering (MS&E) Systems Optimization Laboratory (SOL) Institute for Computational Mathematics and Engineering

More information

Summary of the simplex method

Summary of the simplex method MVE165/MMG631,Linear and integer optimization with applications The simplex method: degeneracy; unbounded solutions; starting solutions; infeasibility; alternative optimal solutions Ann-Brith Strömberg

More information

Linear Programming The Simplex Algorithm: Part II Chapter 5

Linear Programming The Simplex Algorithm: Part II Chapter 5 1 Linear Programming The Simplex Algorithm: Part II Chapter 5 University of Chicago Booth School of Business Kipp Martin October 17, 2017 Outline List of Files Key Concepts Revised Simplex Revised Simplex

More information

(includes both Phases I & II)

(includes both Phases I & II) Minimize z=3x 5x 4x 7x 5x 4x subject to 2x x2 x4 3x6 0 x 3x3 x4 3x5 2x6 2 4x2 2x3 3x4 x5 5 and x 0 j, 6 2 3 4 5 6 j ecause of the lack of a slack variable in each constraint, we must use Phase I to find

More information

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017 CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017 Linear Function f: R n R is linear if it can be written as f x = a T x for some a R n Example: f x 1, x 2 =

More information

Systems Analysis in Construction

Systems Analysis in Construction Systems Analysis in Construction CB312 Construction & Building Engineering Department- AASTMT by A h m e d E l h a k e e m & M o h a m e d S a i e d 3. Linear Programming Optimization Simplex Method 135

More information

The simplex algorithm

The simplex algorithm The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case. It does yield insight into linear programs, however,

More information

CSE QM N Network Flows: Transshipment Problem Slide Slide Transshipment Networks The most general pure network is the transshipment network, an extension of the transportation model that permits intermediate

More information

LP. Lecture 3. Chapter 3: degeneracy. degeneracy example cycling the lexicographic method other pivot rules the fundamental theorem of LP

LP. Lecture 3. Chapter 3: degeneracy. degeneracy example cycling the lexicographic method other pivot rules the fundamental theorem of LP LP. Lecture 3. Chapter 3: degeneracy. degeneracy example cycling the lexicographic method other pivot rules the fundamental theorem of LP 1 / 23 Repetition the simplex algorithm: sequence of pivots starting

More information

Using Sparsity to Design Primal Heuristics for MILPs: Two Stories

Using Sparsity to Design Primal Heuristics for MILPs: Two Stories for MILPs: Two Stories Santanu S. Dey Joint work with: Andres Iroume, Marco Molinaro, Domenico Salvagnin, Qianyi Wang MIP Workshop, 2017 Sparsity in real" Integer Programs (IPs) Real" IPs are sparse: The

More information

Lesson 27 Linear Programming; The Simplex Method

Lesson 27 Linear Programming; The Simplex Method Lesson Linear Programming; The Simplex Method Math 0 April 9, 006 Setup A standard linear programming problem is to maximize the quantity c x + c x +... c n x n = c T x subject to constraints a x + a x

More information

Lecture 2: The Simplex method

Lecture 2: The Simplex method Lecture 2 1 Linear and Combinatorial Optimization Lecture 2: The Simplex method Basic solution. The Simplex method (standardform, b>0). 1. Repetition of basic solution. 2. One step in the Simplex algorithm.

More information

AM 121: Intro to Optimization Models and Methods

AM 121: Intro to Optimization Models and Methods AM 121: Intro to Optimization Models and Methods Fall 2017 Lecture 2: Intro to LP, Linear algebra review. Yiling Chen SEAS Lecture 2: Lesson Plan What is an LP? Graphical and algebraic correspondence Problems

More information

1 Review Session. 1.1 Lecture 2

1 Review Session. 1.1 Lecture 2 1 Review Session Note: The following lists give an overview of the material that was covered in the lectures and sections. Your TF will go through these lists. If anything is unclear or you have questions

More information

Chapter 3, Operations Research (OR)

Chapter 3, Operations Research (OR) Chapter 3, Operations Research (OR) Kent Andersen February 7, 2007 1 Linear Programs (continued) In the last chapter, we introduced the general form of a linear program, which we denote (P) Minimize Z

More information

4. Duality and Sensitivity

4. Duality and Sensitivity 4. Duality and Sensitivity For every instance of an LP, there is an associated LP known as the dual problem. The original problem is known as the primal problem. There are two de nitions of the dual pair

More information

4. The Dual Simplex Method

4. The Dual Simplex Method 4. The Dual Simplex Method Javier Larrosa Albert Oliveras Enric Rodríguez-Carbonell Problem Solving and Constraint Programming (RPAR) Session 4 p.1/34 Basic Idea (1) Algorithm as explained so far known

More information

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

MVE165/MMG631 Linear and integer optimization with applications Lecture 5 Linear programming duality and sensitivity analysis MVE165/MMG631 Linear and integer optimization with applications Lecture 5 Linear programming duality and sensitivity analysis Ann-Brith Strömberg 2017 03 29 Lecture 4 Linear and integer optimization with

More information

Linear Programming Duality

Linear Programming Duality Summer 2011 Optimization I Lecture 8 1 Duality recap Linear Programming Duality We motivated the dual of a linear program by thinking about the best possible lower bound on the optimal value we can achieve

More information

II. Analysis of Linear Programming Solutions

II. Analysis of Linear Programming Solutions Optimization Methods Draft of August 26, 2005 II. Analysis of Linear Programming Solutions Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, Illinois

More information

Chapter 1 Linear Programming. Paragraph 5 Duality

Chapter 1 Linear Programming. Paragraph 5 Duality Chapter 1 Linear Programming Paragraph 5 Duality What we did so far We developed the 2-Phase Simplex Algorithm: Hop (reasonably) from basic solution (bs) to bs until you find a basic feasible solution

More information

MAT016: Optimization

MAT016: Optimization MAT016: Optimization M.El Ghami e-mail: melghami@ii.uib.no URL: http://www.ii.uib.no/ melghami/ March 29, 2011 Outline for today The Simplex method in matrix notation Managing a production facility The

More information

4.5 Simplex method. min z = c T x s.v. Ax = b. LP in standard form

4.5 Simplex method. min z = c T x s.v. Ax = b. LP in standard form 4.5 Simplex method min z = c T x s.v. Ax = b x 0 LP in standard form Examine a sequence of basic feasible solutions with non increasing objective function value until an optimal solution is reached or

More information

New Artificial-Free Phase 1 Simplex Method

New Artificial-Free Phase 1 Simplex Method International Journal of Basic & Applied Sciences IJBAS-IJENS Vol:09 No:10 69 New Artificial-Free Phase 1 Simplex Method Nasiruddin Khan, Syed Inayatullah*, Muhammad Imtiaz and Fozia Hanif Khan Department

More information

Minimum cost transportation problem

Minimum cost transportation problem Minimum cost transportation problem Complements of Operations Research Giovanni Righini Università degli Studi di Milano Definitions The minimum cost transportation problem is a special case of the minimum

More information

Fast Algorithms for LAD Lasso Problems

Fast Algorithms for LAD Lasso Problems Fast Algorithms for LAD Lasso Problems Robert J. Vanderbei 2015 Nov 3 http://www.princeton.edu/ rvdb INFORMS Philadelphia Lasso Regression The problem is to solve a sparsity-encouraging regularized regression

More information

Chap6 Duality Theory and Sensitivity Analysis

Chap6 Duality Theory and Sensitivity Analysis Chap6 Duality Theory and Sensitivity Analysis The rationale of duality theory Max 4x 1 + x 2 + 5x 3 + 3x 4 S.T. x 1 x 2 x 3 + 3x 4 1 5x 1 + x 2 + 3x 3 + 8x 4 55 x 1 + 2x 2 + 3x 3 5x 4 3 x 1 ~x 4 0 If we

More information

Permutations in the factorization of simplex bases

Permutations in the factorization of simplex bases Permutations in the factorization of simplex bases Ricardo Fukasawa, Laurent Poirrier {rfukasawa,lpoirrier}@uwaterloo.ca December 13, 2016 Abstract The basis matrices corresponding to consecutive iterations

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

CSC Design and Analysis of Algorithms. LP Shader Electronics Example CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours

More information

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

3. THE SIMPLEX ALGORITHM

3. THE SIMPLEX ALGORITHM Optimization. THE SIMPLEX ALGORITHM DPK Easter Term. Introduction We know that, if a linear programming problem has a finite optimal solution, it has an optimal solution at a basic feasible solution (b.f.s.).

More information

Presolve Reductions in Mixed Integer Programming

Presolve Reductions in Mixed Integer Programming Zuse Institute Berlin Takustr. 7 14195 Berlin Germany TOBIAS ACHTERBERG, ROBERT E. BIXBY, ZONGHAO GU, EDWARD ROTHBERG, AND DIETER WENINGER Presolve Reductions in Mixed Integer Programming This work has

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2017 04 07 Lecture 8 Linear and integer optimization with applications

More information

15-780: LinearProgramming

15-780: LinearProgramming 15-780: LinearProgramming J. Zico Kolter February 1-3, 2016 1 Outline Introduction Some linear algebra review Linear programming Simplex algorithm Duality and dual simplex 2 Outline Introduction Some linear

More information

F 1 F 2 Daily Requirement Cost N N N

F 1 F 2 Daily Requirement Cost N N N Chapter 5 DUALITY 5. The Dual Problems Every linear programming problem has associated with it another linear programming problem and that the two problems have such a close relationship that whenever

More information

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm Linear programming Linear programming. Optimize a linear function subject to linear inequalities. (P) max c j x j n j= n s. t. a ij x j = b i i m j= x j 0 j n (P) max c T x s. t. Ax = b Lecture slides

More information

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

Introduction to Mathematical Programming IE406. Lecture 13. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 13 Dr. Ted Ralphs IE406 Lecture 13 1 Reading for This Lecture Bertsimas Chapter 5 IE406 Lecture 13 2 Sensitivity Analysis In many real-world problems,

More information

Linear Programming: Chapter 5 Duality

Linear Programming: Chapter 5 Duality Linear Programming: Chapter 5 Duality Robert J. Vanderbei September 30, 2010 Slides last edited on October 5, 2010 Operations Research and Financial Engineering Princeton University Princeton, NJ 08544

More information

CHAPTER 2. The Simplex Method

CHAPTER 2. The Simplex Method CHAPTER 2 The Simplex Method In this chapter we present the simplex method as it applies to linear programming problems in standard form. 1. An Example We first illustrate how the simplex method works

More information

Lecture slides by Kevin Wayne

Lecture slides by Kevin Wayne LINEAR PROGRAMMING I a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm Lecture slides by Kevin Wayne Last updated on 7/25/17 11:09 AM Linear programming

More information

Inderjit Dhillon The University of Texas at Austin

Inderjit Dhillon The University of Texas at Austin Inderjit Dhillon The University of Texas at Austin ( Universidad Carlos III de Madrid; 15 th June, 2012) (Based on joint work with J. Brickell, S. Sra, J. Tropp) Introduction 2 / 29 Notion of distance

More information

Metode Kuantitatif Bisnis. Week 4 Linear Programming Simplex Method - Minimize

Metode Kuantitatif Bisnis. Week 4 Linear Programming Simplex Method - Minimize Metode Kuantitatif Bisnis Week 4 Linear Programming Simplex Method - Minimize Outlines Solve Linear Programming Model Using Graphic Solution Solve Linear Programming Model Using Simplex Method (Maximize)

More information

ORF 522. Linear Programming and Convex Analysis

ORF 522. Linear Programming and Convex Analysis ORF 5 Linear Programming and Convex Analysis Initial solution and particular cases Marco Cuturi Princeton ORF-5 Reminder: Tableaux At each iteration, a tableau for an LP in standard form keeps track of....................

More information

Applications. Stephen J. Stoyan, Maged M. Dessouky*, and Xiaoqing Wang

Applications. Stephen J. Stoyan, Maged M. Dessouky*, and Xiaoqing Wang Introduction to Large-Scale Linear Programming and Applications Stephen J. Stoyan, Maged M. Dessouky*, and Xiaoqing Wang Daniel J. Epstein Department of Industrial and Systems Engineering, University of

More information