Degeneracy in Linear Programming

Similar documents
Simplex method summary

15.053/8 February 26, 2013

Special Situations in the Simplex Algorithm

Solving Linear Programs

1 Solving LPs: The Simplex Algorithm of George Dantzig

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

Basic Components of an LP:

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

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

Linear Programming Notes VII Sensitivity Analysis

International Doctoral School Algorithmic Decision Theory: MCDA and MOO

Duality in Linear Programming

This exposition of linear programming

Linear Programming: Theory and Applications

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

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

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

4.6 Linear Programming duality

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

Practical Guide to the Simplex Method of Linear Programming

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

6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation

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

Linear Programming. March 14, 2014

Nonlinear Programming Methods.S2 Quadratic Programming

Mathematical finance and linear programming (optimization)

Linear Programming in Matrix Form

56:171 Operations Research Midterm Exam Solutions Fall 2001

Standard Form of a Linear Programming Problem

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

Lecture 3: Finding integer solutions to systems of linear equations

Linear Programming I

Row Echelon Form and Reduced Row Echelon Form

Chapter 2 Solving Linear Programs

OPRE 6201 : 2. Simplex Method

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

Computational Geometry Lab: FEM BASIS FUNCTIONS FOR A TETRAHEDRON

A Labeling Algorithm for the Maximum-Flow Network Problem

Linear Programming. Solving LP Models Using MS Excel, 18

Chapter 6: Sensitivity Analysis

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Zeros of a Polynomial Function

Lecture Notes 2: Matrices as Systems of Linear Equations

Session 7 Bivariate Data and Analysis

LECTURE: INTRO TO LINEAR PROGRAMMING AND THE SIMPLEX METHOD, KEVIN ROSS MARCH 31, 2005

An Introduction to Linear Programming

1 Review of Least Squares Solutions to Overdetermined Systems

1 Portfolio Selection

Point and Interval Estimates

What is Linear Programming?

Linear Programming Notes V Problem Transformations

Linear Programming Problems

Network Models 8.1 THE GENERAL NETWORK-FLOW PROBLEM

Primes in Sequences. Lee 1. By: Jae Young Lee. Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov

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

Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Optimization Modeling for Mining Engineers

LS.6 Solution Matrices

5.1 Bipartite Matching

CHAPTER 2. Logic. 1. Logic Definitions. Notation: Variables are used to represent propositions. The most common variables used are p, q, and r.

Binary Adders: Half Adders and Full Adders

1 Introduction. 2 Prediction with Expert Advice. Online Learning Lecture 09

Solving Linear Systems, Continued and The Inverse of a Matrix

Binary Number System. 16. Binary Numbers. Base 10 digits: Base 2 digits: 0 1

7 Gaussian Elimination and LU Factorization

Mortgage Secrets. What the banks don t want you to know.

Session 7 Fractions and Decimals

Sensitivity Report in Excel

5.5. Solving linear systems by the elimination method

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

The Graphical Method: An Example

How to Use StartWire

Introduction to Linear Programming (LP) Mathematical Programming (MP) Concept

Solving Systems of Linear Equations

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, Connect Four

2.3 Convex Constrained Optimization Problems

Equations, Lenses and Fractions

0.1 Linear Programming

Project II Using Body Temperature to Estimate Time Since Death

The Basics of FEA Procedure

Factoring & Primality

ONLINE SAFETY TEACHER S GUIDE:

Solving Linear Programs in Excel

Continued Fractions and the Euclidean Algorithm

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Systems of Linear Equations

INCIDENCE-BETWEENNESS GEOMETRY

% ! 3 40% % Percent Cards. This problem gives you the chance to: relate fractions, decimals and percents

When I think about using an advanced scientific or graphing calculator, I feel:

Computational Geometry. Lecture 1: Introduction and Convex Hulls

MATH2210 Notebook 1 Fall Semester 2016/ MATH2210 Notebook Solving Systems of Linear Equations... 3

Lectures 5-6: Taylor Series

How to Give a Bible Study

4/1/2017. PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY

Algorithms are the threads that tie together most of the subfields of computer science.

Scott Hughes 7 April Massachusetts Institute of Technology Department of Physics Spring Lecture 15: Mutual and Self Inductance.

Activity 1: Using base ten blocks to model operations on decimals

Vieta s Formulas and the Identity Theorem

Transcription:

Degeneracy in Linear Programming I heard that today s tutorial is all about Ellen DeGeneres Sorry, Stan. But the topic is just as interesting. It s about degeneracy in Linear Programming. Degeneracy? Students at MIT shouldn t learn about degeneracy. And I heard that 15.53 students have already studied convicts sex. Photo removed due to copyright restrictions. Photo removed due to copyright restrictions. Pat Robertson Stan Ellen DeGeneres Actually, they studied convex sets. 2

What is degeneracy? As you know, the simplex algorithm starts at a corner point and moves to an adjacent corner point by increasing the value of a non-basic variable x s with a positive cost coefficient. Typically, the entering variable x s does increase in value, and the objective value z improves. But it is possible that x s does not increase at all. This situation can occur when one of the RHS coefficients is. In this case, the objective value and solution does not change, but there is an exiting variable. This situation is called degeneracy. -z x 1 x 2 x 3 x 4 1-3 2 = -2-3 3 1-4 2 1 = 6 = 2 A basic feasible solution is called degenerate if one of its RHS coefficients (excluding the objective value) is. This bfs is degenerate. 3

Thanks. That was a short tutorial. No, Nooz**. This tutorial has many more slides. Degeneracy adds complications to the simplex algorithm. And if you understand what occurs under degeneracy, you really understand what is going on with the simplex algorithm. Incidentally, if you are reading this tutorial before you have understood the simplex algorithm, you should stop reading. You really need to understand the simplex algorithm in order to understand this tutorial. Nooz Ella ** As you know, No, Nooz is good news. 4

Degeneracy and Basic Feasible Solutions We may think that every two distinct bases lead to two different solutions. This would be true if there was no degeneracy. But with degeneracy, we can have two different bases, and the same feasible solution. -z x 1 x 2 x 3 x 4 -z x 1 x 2 x 3 x 4 1-3 2 = -2 1-3 -2 2-1 = -2-3 3 1 = 6-3/2 3 1-3/2 = 6-1 2 1 = 2-1/2 12 1/2 1 = 2 We now pivot on the 2 in Constraint 2 and obtain a second tableau. Both tableaus correspond to the same feasible solution with z = 2, x 1 = x 2 = x 4 = ; x 3 = 6. But the basic variables and the coefficients of the two tableaus are different. 5

z x 1 x 2 x 3 x 4 z x 1 x 2 x 3 x 4 1 3-2 = 2 1 32-2 1 = 2-3 3 1 = 6-3/2 3 1-3/2 = 6-4 2 1 = 2-1/2 12 1/2 1 = 2 Not only are the two tableaus different, but the second tableau satisfies the optimality conditions. This means that the first basic feasible solution was optimal, even though we were not aware that this solution was optimal when we looked at the first tableau. But this all seems very technical. Is it really important? Tom, it turns out to be very important. We can show that the simplex algorithm is finite and guaranteed to be valid when there is no degeneracy. When there is degeneracy, we have to modify the algorithm to guarantee finiteness. Tom 6

I m now going to reveal a secret. The definition of degeneracy given here is slightly different than the one given in the lecture on geometry. To the right is a picture of what I said in that lecture. When a corner point is the solution of two different sets of equality constraints, then this is called degeneracy. This will turn out to be important for the simplex algorithm. It wasn t that I was misinforming you. There just wasn t a better way of describing the situation during that lecture. From Lecture 3. 7

-z x 1 x 2 x 3 x 4 -z x 1 x 2 x 3 x 4 1-3 2 = -2 1-3 -2 2-1 = -2-3 3 1 = 6-3/2 3 1-3/2 = 6-1 2 1 = 2-1/2 12 1/2 1 = 2 Whenever two different bases correspond to the same basic solution, then some basic variable must be. (If variable x s is pivoted in, its value will change unless the RHS is.) But it is possible for the RHS to be, and for there still to be only one basis for that solution. The tableau to my right illustrates this point. -z x 1 x 2 x 3 1-3 -2 2 = -2-3/2 3 1 = 6-1 12 = 2 We say that we say that a basis is degenerate if a basic variable is. This is far simpler than the alternative definition in which one needs to check if there are two bases corresponding to the same solution.. 8

The Finiteness of the Simplex Algorithm when there is no degeneracy Recall that the simplex algorithm tries to increase a non-basic variable x s. If there is no degeneracy, then x s will be positive after the pivot, and the objective value will improve. Recall also that each solution produced by the simplex algorithm is a basic feasible solution with m basic variables, where m is the number of constraints. There are a finite number of ways of choosing the basic variables. (An upper bound is n! / (n-m)! m!, which is the number of ways of selecting m basic variables out of n.) So, the simplex algorithm moves from bfs to bfs. And it never repeats a bfs because the objective is constantly improving. This shows that the simplex method is finite, so long as there is no degeneracy. 9

Cycling If a sequence of pivots starting from some basic feasible solution ends up at the exact same basic feasible solution, then we refer to this as cycling. If the simplex method cycles, it can cycle forever. Klee and Minty [1972] gave an example in which the simplex algorithm really does cycle. Here is their example, with the pivot elements outlined. -z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHS 1 3/4-2 1/2-6 -3 1/4-8 -1 9 1 1/2-12 - 1/2 3 1 1 1 1 Initial tableau -z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHS 1 4 3 1/2-33 -3-3 1-32 -4 36 4 4 1 1/2-15 -2 1 1 1 1 After 1 pivot 1

Cycling Example Continued -z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHS 1 2-18 -1-1 -3 1 8-84 -12 8 1 3/8-3 3/4-1/2 1/4 1 1 1 After 2 pivots -z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHS 1-1/4 3 2-3 -3 1/8 1-1 1/2-1 1/2 1-3/64 1 3/16 1/16-1/8-1/8 1 1/2 1 1/2-1 1 1 After 3 pivots -z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHS 1 1/2-16 1-1 -3-2 1/2 56 1 2-6 - 1/4 5 1/3 1 1/3-2/3 2 1/2-56 -2 6 1 1 After 4 pivots 11

Cycling Example Continued -z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHS 1 1 3/4-44 - 1/2 2-3 -1 1/4 28 1/2 1-3 1/6-4 - 1/6 1 1/3 1 1 1 After 5 pivots -z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHS 1 3/4-2 1/2-6 -3 1/4-8 -1 9 1 1/2-12 - 1/2 3 1 1 1 1 After 6 pivots And Klee and Minty said The first shall be last and the last shall be first, and they saw that their example of cycling was good. 12

I have another admission. In the lecture on geometry, I said that the simplex method was finite. But it s only finite if we are guaranteed not to repeat solutions. In particular, it is finite if there is no degeneracy. I still don t understand what you are talking about. But I am very saddened that you didn t tell the truth in the other lecture. Cheer up, Stan. There is a technique that prevents bases from repeating in the simplex method, even if they are degenerate bases. This will guarantee the finiteness of the simplex algorithm, provided that the technique is used. 13

Is the simplex method finite? So, how do we know that the simplex method will terminate if there is degeneracy? There are several approaches to guaranteeing that the simplex method will be finite, including one developed by Professors Magnanti and Orlin. And there is the perturbation technique that entirely avoids degeneracy. But we re going to show you Bland s rule, developed by Bob Bland. It s the simplest rule to guarantee finiteness of the simplex method. Photo of Bob Bland removed due to copyright restrictions. Bob Bland 14

Bland s Rule. 1.The entering variable should be the lowest index variable with positive reduced cost. 2.The leaving variable (in case of a tie in the min ratio test) should be the lowest index row. (It is the row closest to the top, regardless of the leaving variable.) -z x 1 x 2 x 3 x 4 x 5 x 6 Variables x 1, x 2, and x 7 are all eligible to enter the basis. We choose the lowest index one, which is x 1. {click now} We can pivot on the 4 in the column for x 1. Or we can pivot on the 1. We pivot on the 4 because it is the row that is closes to the top. 1 1 2 7 = -2 3 3 1 2 4 2-1 1 3 1 1 1 = 6 1 = 2 1 = 15

More on Bland s rule This seems both easy and practical. But why does it work? If you use Bland s rule, the simplex algorithm will never repeat a basis. But no one knows why it works. It remains a mystery to this day. Nooz is not being serious. I proved that using the rule will prevent bases from repeating. I know why it works, and so does anyone who has read my proof. But the proof is too complicated to present here. So, please take our word for it. Photo of Bob Bland removed due to copyright restrictions. Bob Bland 16

Degeneracy and the Simplex Algorithm The simplex method without degeneracy The solution changes after each pivot. The objective value strictly improves after a pivot. The simplex method is guaranteed to be finite. Two different tableaus in canonical form give two different solutions. The simplex method with degeneracy The solution may stay the same after a pivot. The objective value may stay the same. The simplex method may cycle and be infinite. But it becomes finite if we use the Bland s rule or several other approaches. It is possible that there are two different sets of basic variables that give the same solution. 17

Degeneracy vs. Alternative Optima Finally, degeneracy is similar to but different from the condition for alternate optima. In degeneracy, one of the RHS values is. For alternate optima, in an optimal tableau one of the non-basic cost coefficients is. -z x 1 x 2 x 3 x 4 1-4 = -8 1 3 1 = 6-1 2 1 = 2 The optimal solution is: z = 8, x 1 = x 2 =, x 3 = 6, and x 4 = 2. x 1 is nonbasic, and its cost coefficient is. Increasing x 1 (and adjusting x 3 and x 4 ) does not change z, and so the solution value remains optimal. 18

Summary Degeneracy is important because we want the simplex method to be finite, and the generic simplex method is not finite if bases are permitted to be degenerate. In principle, cycling can occur if there is degeneracy. In practice, cycling does not arise, but no one really knows why not. Perhaps it does occur, but people assume that the simplex algorithm is just taking too long for some other reason, and they never discover the cycling. Researchers have developed several different approaches to ensure the finiteness of the simplex method, even if the bases can be degenerate. Bob Bland developed a very simple rule that prevents cycling. 19

It also turns out that one can test a student s knowledge of the simplex algorithm by asking questions about what will happen if the current bfs is degenerate. Does this mean that we can expect questions on a test that involve degeneracy? That is exactly what I mean. I m sure that the 15.53 students will understand it well. As for me, I m not taking 15.53 for credit. 2

Last Slide And that is all for our tutorial on degeneracy. We hope to see you again for our next tutorial. We thank Stan, Tom, Ella, and Nooz for sharing all of their insights on degeneracy. I also want to thank Ellen DeGeneres for making a cameo appearance. Amit Mita 21

MIT OpenCourseWare http://ocw.mit.edu 15.53 Optimization Methods in Management Science Spring 213 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.