Computational Methods for Management and Economics Carla Gomes Module 6b Simplex Pitfalls (Textbook – Hillier and Lieberman)

Slides:



Advertisements
Similar presentations
February 21, 2002 Simplex Method Continued
Advertisements

February 14, 2002 Putting Linear Programs into standard form
Hillier and Lieberman Chapter 4.
Lecture 3 Linear Programming: Tutorial Simplex Method
Operation Research Chapter 3 Simplex Method.
Linear Programming – Simplex Method
Chapter 6 Linear Programming: The Simplex Method
Dr. Sana’a Wafa Al-Sayegh
Copyright (c) 2003 Brooks/Cole, a division of Thomson Learning, Inc
Computational Methods for Management and Economics Carla Gomes Module 6a Introduction to Simplex (Textbook – Hillier and Lieberman)
Lecture 15 Special cases by Dr. Arshad Zaheer
Computational Methods for Management and Economics Carla Gomes Module 8b The transportation simplex method.
Linear Inequalities and Linear Programming Chapter 5
The Simplex Method: Standard Maximization Problems
Operation Research Chapter 3 Simplex Method.
Solving Linear Programs: The Simplex Method
Optimization Mechanics of the Simplex Method
Computational Methods for Management and Economics Carla Gomes
Linear Programming (LP)
The Simplex Method.
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
Water Resources Development and Management Optimization (Linear Programming) CVEN 5393 Feb 25, 2013.
LINEAR PROGRAMMING SIMPLEX METHOD.
The Simplex algorithm.
OR Chapter 3. Pitfalls OR  Selection of leaving variable: a)No restriction in minimum ratio test : can increase the value of the entering.
The Two-Phase Simplex Method LI Xiao-lei. Preview When a basic feasible solution is not readily available, the two-phase simplex method may be used as.
8. Linear Programming (Simplex Method) Objectives: 1.Simplex Method- Standard Maximum problem 2. (i) Greedy Rule (ii) Ratio Test (iii) Pivot Operation.
Simplex method (algebraic interpretation)
Chapter 6 Linear Programming: The Simplex Method Section 2 The Simplex Method: Maximization with Problem Constraints of the Form ≤
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Topic III The Simplex Method Setting up the Method Tabular Form Chapter(s): 4.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
The Simplex Method Updated 15 February Main Steps of the Simplex Method 1.Put the problem in Row-Zero Form. 2.Construct the Simplex tableau. 3.Obtain.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Public Policy Modeling Simplex Method Tuesday, October 13, 2015 Hun Myoung Park, Ph.D. Public Management & Policy Analysis Program Graduate School of International.
1© 2003 by Prentice Hall, Inc. Upper Saddle River, NJ Linear Programming: The Simplex Method.
Simplex Method Adapting to Other Forms.  Until now, we have dealt with the standard form of the Simplex method  What if the model has a non-standard.
Solving Linear Programming Problems: The Simplex Method
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
Simplex Method Continued …
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
Chapter 3 Linear Programming Methods
1 Chapter 4 The Simplex Algorithm PART 2 Prof. Dr. M. Arslan ÖRNEK.
1 THE REVISED SIMPLEX METHOD CONTENTS Linear Program in the Matrix Notation Basic Feasible Solution in Matrix Notation Revised Simplex Method in Matrix.
1 Simplex Method (created by George Dantzig in late 1940s) A systematic way of searching for an optimal LP solution BMGT 434, Spring 2002 Instructor: Chien-Yu.
University of Colorado at Boulder Yicheng Wang, Phone: , Optimization Techniques for Civil and Environmental Engineering.
An-Najah N. University Faculty of Engineering and Information Technology Department of Management Information systems Operations Research and Applications.
Simplex Method Simplex: a linear-programming algorithm that can solve problems having more than two decision variables. The simplex technique involves.
Copyright © 2006 Brooks/Cole, a division of Thomson Learning, Inc. Linear Programming: An Algebraic Approach 4 The Simplex Method with Standard Maximization.
Decision Support Systems INF421 & IS Simplex: a linear-programming algorithm that can solve problems having more than two decision variables.
The Simplex Method. and Maximize Subject to From a geometric viewpoint : CPF solutions (Corner-Point Feasible) : Corner-point infeasible solutions 0.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Solving Linear Program by Simplex Method The Concept
Perturbation method, lexicographic method
10CS661 OPERATION RESEARCH Engineered for Tomorrow.
The Two-Phase Simplex Method
Chapter 4 Linear Programming: The Simplex Method
Chapter 5. Sensitivity Analysis
ENGM 631 Optimization Ch. 4: Solving Linear Programs: The Simplex Method.
Chap 3. The simplex method
Solving Linear Programming Problems: Asst. Prof. Dr. Nergiz Kasımbeyli
Well, just how many basic
ISyE 4231: Engineering Optimization
Simplex method (algebraic interpretation)
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Presentation transcript:

Computational Methods for Management and Economics Carla Gomes Module 6b Simplex Pitfalls (Textbook – Hillier and Lieberman)

Synopsis of simplex method Pitfalls: –Tie for the entering variable –Degeneracy –Unboundedness –Multiple optimal solutions –Initialization: Adapting to other forms

Simplex Method in Tabular Form Assumption: Standard form max; only <= functional constraints; all vars have non-negativity constraints; rhs are positive Initialization –Introduce slack variables –Decision variables  non-basic variables (set to 0) –Slack variables  basic variables (set to corresponding rhs) –Transform the objective function and the constraints into equality constraints Optimality Test –Current solution is optimal iff all the coefficients of objective function are non-negative

Simplex Method in Tabular Form (cont.) Iteration: Move to a better BFS –Step1 Entering Variable – non-basic variable with the most negative coefficient in the objective function. Mark that column as the pivot column. –Step2 Leaving basic variable – apply the minimum ratio test: Consider in the pivot column only the coeffcients that are strictly positive Divide each of theses coefficients into the rhs entry for the same row Identify the row with the smallest of these ratios The basic variable for that row is the leaving variable; mark that row as the pivot row; The number in the intersection of the pivot row with the pivot column is the pivot number

Simplex Method in Tabular Form (cont.) Iteration: Move to a better BFS –Step3 Solve for the new BFS by using elementary row operations to construct a new simplex tableau in proper form Divide pivot row by the pivot number for each row (including objective function) that has a negative coefficient in the pivot column, add to this row the product of the absolute value of this coefficient and the new pivot row. for each row that has a positive coefficient in the pivot column, add to this row the product the new pivot row.multiplied by the negative of the coefficient.

Tie for the entering variable Step1 Entering Variable – non-basic variable with the most negative coefficient in the objective function. Mark that column as the pivot column. –What if more two or more variables are tied? Example: Z = 3 x x 2 Break ties randomly (it may affect the number of iterations ),

Tie for the leaving variable - Degeneracy –Step2 Leaving basic variable – apply the minimum ratio test: Identify the row with the smallest of these ratios –What if several rows have the smallest ratio? What does it mean? Does it matter? Several basic variables will become 0 as the entering variable increases  therefore the variables not chosen to leave the basis will also have a value 0 (i.e., a basic variable with value 0 – called degenerate variable). If a degenerate variable is chosen as the leaving basic variable, that means that the new variable will also have to be 0 (why?)  Z will not improve and therefore the simplex method may get into a loop.

x1x Degeneracy ==== 2 6 x2x2 x4x4 x3x z = 2 1x3x3 x4x4 BV z A bfs is degenerate if  b j = 0 for some j. Otherwise, it is non-degenerate. 0 This bfs is degenerate. 0

x1x Degeneracy ==== 2 6 x2x2 x4x4 x3x z = 2 1x3x3 x4x4 BV z A bfs is degenerate if  b j = 0 for some j. Otherwise, it is non-degenerate. 3 This bfs is non-degenerate. 3

Degenerate  the solution may stay the same  z stays the same x1x Degeneracy ==== 2 6 x2x2 x4x4 x3x z = 2 1 x 1 = 0 x 2 =  x 3 =  x 4 =  z =  x3x3 x4x4 BV z A bfs is degenerate if  b j = 0 for some j. Otherwise, it is non-degenerate. 0 Suppose that variable x 2 will enter the basis.

In this case the solution did not change. (But the tableau did.) x1x A degenerate pivot ==== 6 x2x2 x4x4 x3x z = 2 1 x 1 = 0 x 2 =  x 3 = 6 x 4 = 0 z = 2 x3x3 x4x4 BV z The entering variable is x 2. The exiting variable is the one in constraint / /26

x1x Non-degeneracy leads to strict improvement ==== 2 6 x2x2 x4x4 x3x z = 2 1 x 1 = 0 x 2 =  x 3 =  x 4 =  z = 2+ 2  x3x3 x4x4 BV z If the BFS is non-degenerate, then the entering variable can strictly increase, and the objective value will strictly improve.

Handling Degeneracy Perturb the RHS just a little, in just the right way No basis is degenerate Every bfs to the purturbed problem is also a bfs for the original problem The optimal basis for the perturbed problem is optimal for the original problem

An LP before perturbation x1x ==== x2x2 x4x4 x3x z = 0 1x3x3 x4x4 BV z Goal: modify the problem by changing the RHS just a little Perturb it so little that solving the perturbed problem also solves the original problem. Perturb it to avoid degeneracy

An example of a perturbed initial BFS x1x ==== x2x2 x4x4 x3x z = 0 1x3x3 x4x4 BV z In theory perturbations are even smaller In practice, the simplex method works fine without perturbations, that is, it really obtains the optimum basic feasible solution.

Some Remarks on Degeneracy It might seem that degeneracy would be rare. After all, why should we expect that the RHS would be 0 for some variable? In reality, degeneracy is incredibly common. In practice: LP Simplex based solvers automatically use the perturbation method and special breaking tie rules (e.g., Cplex) If the problem is very degenerate we may need to use solve the LP using a method different than a simplex based method to solve the problem(e.g., interior point method)

No leaving basic variable Unbounded Z Variable leaving the basis –One of the basic variables will become non-basic; write all the basic variables as a function of the entering variable; the most stringent value (i.e., smallest) will be the value for the new entering variable; What if no variable puts a limit on the value of the entering variable – this happens when all the coefficients of the entering variable are negative or zero. Unbounded Z

x 1 =  x 2 = 1 x 3 = 3 x 4 = 0 z = 2 x 1 =  x 2 =  x 3 = . x 4 = 0 z = 2 +  x1x1 Unboundedness ==== x2x2 x4x4 x3x3 z = Set x 1 =  and x 4 = If the coefficients in the entering column are  0, then the solution is unbounded from above Express unboundedness in terms of algebraic notation. The entering variable is x

Multiple Optima (maximization) ==== 2 6 x2x2 x4x4 x3x z = 8 This basic feasible solution is optimal! Is there another optimal solution? Suppose that x 1 entered the basis. What would leave? x1x1 z = x 1 + x 2 How much can x 1 be increased?

Multiple Optima (maximization) ==== 2 6 x2x2 x4x4 x3x z = 8 x1x1 Use the min ratio rule to determine which variable leaves the basis. c1c1 c2c2 There may be alternative optima if  c j 0 for all j and  c j = 0 for some j where x j is non- basic

Multiple Optima (maximization) ==== 2 6 x2x2 x4x4 x3x z = 8 Let x 1 enter the basis. Let the basic variable in constraint 1 leave the basis. x1x Note: the solution is different, but the objective value is the same.

Multiple Optimal Solutions. Maximize P = 3 D + 2 W subject to D ≤ 4 2W ≤ 12 3D + 2W ≤ 18 and D ≥ 0, W ≥ 0. Every point on this line is An optimal solution with P=18

Two optimal solutions – what are they? Are there others? Multiple Optimal Solutions.

 At least one of the non-basic variables has a coefficient 0 in the Z row – so increasing any such a variable will not change the value of Z. Therefore these other BF optimal solutions can be identified  Note: Simplex only identifies BFS (that correspond to CPF solutions).  All other solutions are convex combinations of the BF optimal solutions The simplex method stops after the first optimal solution; In practice – good idea to look at other solutions – they may be better from other points of view. How do we see that a problem has multiple optima by looking at the Tableau?

Two optimal solutions – what are they? Are there others? Multiple Optimal Solutions. Every point on the line segment between (2,6) and (4,3) is optimal  all the optimal solutions are a weighted average of these two solutions x1 x2 = w1 + w2 w1,w2 ≥ 0 w1+w2=1  Every convex combination of the two optimal BFS’s is optimal: Convex Combination What solution do we get if w1=w2=0.5?

Initialization: Adapting to other forms (next module)