Math Models of OR: Handling Upper Bounds in Simplex

Similar documents
Math Models of OR: Some Definitions

Math Models of OR: Sensitivity Analysis

Math Models of OR: Extreme Points and Basic Feasible Solutions

Math Models of OR: The Revised Simplex Method

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

Lecture 11 Linear programming : The Revised Simplex Method

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

Linear programs Optimization Geoff Gordon Ryan Tibshirani

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

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

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

Lesson 27 Linear Programming; The Simplex Method

Slide 1 Math 1520, Lecture 10

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Lecture 5 Simplex Method. September 2, 2009

The Simplex Method. Lecture 5 Standard and Canonical Forms and Setting up the Tableau. Lecture 5 Slide 1. FOMGT 353 Introduction to Management Science

Simplex Algorithm Using Canonical Tableaus

Lecture 2: The Simplex method

Part 1. The Review of Linear Programming

Sensitivity Analysis

TIM 206 Lecture 3: The Simplex Method

The Ellipsoid Algorithm

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

CO350 Linear Programming Chapter 6: The Simplex Method

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

4.4 The Simplex Method and the Standard Minimization Problem

Review Solutions, Exam 2, Operations Research

AM 121: Intro to Optimization

9.1 Linear Programs in canonical form

Part 1. The Review of Linear Programming

Simplex tableau CE 377K. April 2, 2015

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

MATH 445/545 Test 1 Spring 2016

(includes both Phases I & II)

The augmented form of this LP is the following linear system of equations:

MATH 445/545 Homework 2: Due March 3rd, 2016

Foundations of Operations Research

Notes on Simplex Algorithm

A Review of Linear Programming

(includes both Phases I & II)

Math Homework 3: solutions. 1. Consider the region defined by the following constraints: x 1 + x 2 2 x 1 + 2x 2 6

Understanding the Simplex algorithm. Standard Optimization Problems.

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

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

Dr. Maddah ENMG 500 Engineering Management I 10/21/07

Revised Simplex Method

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

x 4 = 40 +2x 5 +6x x 6 x 1 = 10 2x x 6 x 3 = 20 +x 5 x x 6 z = 540 3x 5 x 2 3x 6 x 4 x 5 x 6 x x

IE 400: Principles of Engineering Management. Simplex Method Continued

Math Models of OR: Traveling Salesman Problem

In Chapters 3 and 4 we introduced linear programming

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

Relation of Pure Minimum Cost Flow Model to Linear Programming

Farkas Lemma, Dual Simplex and Sensitivity Analysis

CPS 616 ITERATIVE IMPROVEMENTS 10-1

The dual simplex method with bounds

Example. 1 Rows 1,..., m of the simplex tableau remain lexicographically positive

Part III: A Simplex pivot

Math 210 Finite Mathematics Chapter 4.2 Linear Programming Problems Minimization - The Dual Problem

Week_4: simplex method II

Chap6 Duality Theory and Sensitivity Analysis

Worked Examples for Chapter 5

Linear Programming: Simplex Method CHAPTER The Simplex Tableau; Pivoting

Non-Standard Constraints. Setting up Phase 1 Phase 2

6.2: The Simplex Method: Maximization (with problem constraints of the form )

CO350 Linear Programming Chapter 8: Degeneracy and Finite Termination

MAT016: Optimization

Systems Analysis in Construction

F 1 F 2 Daily Requirement Cost N N N

IE 5531: Engineering Optimization I

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

CHAPTER 2. The Simplex Method

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

Introduce the idea of a nondegenerate tableau and its analogy with nondenegerate vertices.

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0.

Algebraic Simplex Active Learning Module 4

Linear programming: algebra

Math 273a: Optimization The Simplex method

Special cases of linear programming

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

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

1 Implementation (continued)

4.7 Sensitivity analysis in Linear Programming

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

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)

AM 121: Intro to Optimization Models and Methods

Math 354 Summer 2004 Solutions to review problems for Midterm #1

Linear Programming Redux

TRANSPORTATION PROBLEMS

Operations Research Lecture 2: Linear Programming Simplex Method

MATH2070 Optimisation

The Simplex Method of Linear Programming

Simplex Method for LP (II)

Chapter 4 The Simplex Algorithm Part I

Today s class. Constrained optimization Linear programming. Prof. Jinbo Bi CSE, UConn. Numerical Methods, Fall 2011 Lecture 12

1. Introduce slack variables for each inequaility to make them equations and rewrite the objective function in the form ax by cz... + P = 0.

Exam 3 Review Math 118 Sections 1 and 2

The Simplex Method. Standard form (max) z c T x = 0 such that Ax = b.

Transcription:

Math Models of OR: Handling Upper Bounds in Simplex John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 280 USA September 208 Mitchell Handling Upper Bounds in Simplex / 8

Introduction Outline Introduction 2 Example 3 Tableaus Mitchell Handling Upper Bounds in Simplex 2 / 8

Introduction Slack variables Consider the linear programming problem min c T x subject to Ax = b 0 x u Could introduce slack variables s to get standard form: Increase from n to 2n variables. min c T x subject to Ax = b x + s = u x, s 0 Increase from m constraints to m + n constraints. Mitchell Handling Upper Bounds in Simplex 3 / 8

Introduction Modify pivot rules Instead, modify the pivot rules and work with the original tableau. A variable can be nonbasic at either its lower bound or its upper bound. If it is at its upper bound, it can enter the basis if its reduced cost is positive. The variable will be decreased. In the minimum ratio test, we ensure that no variable violates its upper or lower bound. Mitchell Handling Upper Bounds in Simplex 4 / 8

Example Outline Introduction 2 Example 3 Tableaus Mitchell Handling Upper Bounds in Simplex 5 / 8

Example Example min 2x 3 3x 4 subject to x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 Have basic feasible solution: Nonbasics: x 3 = 0, x 4 = Basics: x = 6 x 3 3x 4 = 3, x 2 = + x 3 + 2x 4 =. Note how x 4 impacts these values. Objective function value: 2(0) 3() = 3. Mitchell Handling Upper Bounds in Simplex 6 / 8

Example Graphing the example x 4 min 2x 3 3x 4 s.t. x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Example Graphing the example x 4 x 3 + 3x 4 = 2, x = 4 x 3 + 3x 4 = 6, x = 0 min 2x 3 3x 4 s.t. x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Example Graphing the example x 4 x 3 + 2x 4 =, x 2 = 0 x 3 + 2x 4 = 4, x 2 = 3 min 2x 3 3x 4 s.t. x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Example Graphing the example x 4 x 3 + 2x 4 =, x 2 = 0 x 3 + 3x 4 = 2, x = 4 x 3 + 2x 4 = 4, x 2 = 3 x 3 + 3x 4 = 6, x = 0 min 2x 3 3x 4 s.t. x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Example Graphing the example x 4 x 3 + 2x 4 =, x 2 = 0 x 3 = 0 contour x 3 + 3x 4 = 2, x = 4 x 4 = x 3 + 2x 4 = 4, x 2 = 3 x 3 + 3x 4 = 6, x = 0 min 2x 3 3x 4 s.t. x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Example Graphing the example x 4 x 3 + 2x 4 =, x 2 = 0 simplex direction: increase x 3, keep x 4 = contour x 3 + 3x 4 = 2, x = 4 x 4 = x 3 + 2x 4 = 4, x 2 = 3 x 3 + 3x 4 = 6, x = 0 min 2x 3 3x 4 s.t. x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Example Graphing the example x 4 x 3 + 2x 4 =, x 2 = 0 simplex direction: increase x 3, keep x 4 = contour x 3 + 3x 4 = 2, x = 4 x 4 = x 3 + 2x 4 = 4, x 2 = 3 x 3 + 3x 4 = 6, x = 0 min 2x 3 3x 4 s.t. x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 0 x 2 3 0 x 3 5 0 x 4 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Example Performing the simplex pivot algebraically min 2x 3 3x 4 subject to x + x 3 + 3x 4 = 6 x 2 x 3 2x 4 = 0 x 4 Nonbasics: 0 x 2 3 x 3 = 0, x 4 = 0 x 3 5 0 x 4 Since x 4 is at its upper bound and has a negative reduced cost, we don t bring x 4 into the basis. Instead, x 3 enters the basis. Calculate the simplex direction: We are increasing x 3, so the changes in the basic variables are given by the negatives of the entries in the x 3 column of the tableau. Direction is x = (,,, 0) T. Mitchell Handling Upper Bounds in Simplex 8 / 8

Example Finding the minimum ratio Taking a step of length t in the simplex direction gives a new point: x 3 x 2 x 3 = 0 + t x 4 0 Need to keep x within its bounds. x is decreasing. Need t 3 to keep x 0. x 2 is increasing. Need t 2 to keep x 2 3. x 3 is increasing. Need t 5 to keep x 3 5. So choose t = 2. x 2 leaves the basis at its upper bound. Mitchell Handling Upper Bounds in Simplex 9 / 8

Tableaus Outline Introduction 2 Example 3 Tableaus Mitchell Handling Upper Bounds in Simplex 0 / 8

Tableau for first iteration Tableaus x x 2 x 3 x 4 Min ratios 0 0 0 2 3 LB UB 6 0 3 3 3 0 2 UB 4 3 5 B/LB/UB B B LB UB Values 3 0 Initial value of objective is z = 0 3() = 3. x 3 enters the basis. The Min ratios columns correspond to variables leaving the basis: if the pivot is in the first constraint, x would leave the basis at its lower bound, and if the pivot is in the second constraint, x 2 would leave the basis at its upper bound. By the minimum ratio test, x 2 leaves the basis at its upper bound. Mitchell Handling Upper Bounds in Simplex / 8

Tableau for first iteration Tableaus x x 2 x 3 x 4 Min ratios 0 0 0 2 3 LB UB 6 0 3 3 3 0 2 UB 4 3 5 B/LB/UB B B LB UB Values 3 0 Initial value of objective is z = 0 3() = 3. x 3 enters the basis. The Min ratios columns correspond to variables leaving the basis: if the pivot is in the first constraint, x would leave the basis at its lower bound, and if the pivot is in the second constraint, x 2 would leave the basis at its upper bound. By the minimum ratio test, x 2 leaves the basis at its upper bound. Mitchell Handling Upper Bounds in Simplex / 8

Tableau for first iteration Tableaus x x 2 x 3 x 4 Min ratios 0 0 0 2 3 LB UB 6 0 3 3 3 0 2 UB 4 3 5 B/LB/UB B B LB UB Values 3 0 Initial value of objective is z = 0 3() = 3. x 3 enters the basis. The Min ratios columns correspond to variables leaving the basis: if the pivot is in the first constraint, x would leave the basis at its lower bound, and if the pivot is in the second constraint, x 2 would leave the basis at its upper bound. By the minimum ratio test, x 2 leaves the basis at its upper bound. Mitchell Handling Upper Bounds in Simplex / 8

Tableau for first iteration Tableaus x x 2 x 3 x 4 Min ratios 0 0 0 2 3 LB UB 6 0 3 3 3 0 2 UB 4 3 5 B/LB/UB B B LB UB Values 3 0 Initial value of objective is z = 0 3() = 3. x 3 enters the basis. The Min ratios columns correspond to variables leaving the basis: if the pivot is in the first constraint, x would leave the basis at its lower bound, and if the pivot is in the second constraint, x 2 would leave the basis at its upper bound. By the minimum ratio test, x 2 leaves the basis at its upper bound. Mitchell Handling Upper Bounds in Simplex / 8

Tableau for first iteration Tableaus x x 2 x 3 x 4 Min ratios 0 0 0 2 3 LB UB 6 0 3 3 3 0-2 UB 4 3 5 B/LB/UB B B LB UB Values 3 0 Initial value of objective is z = 0 3() = 3. x 3 enters the basis. The Min ratios columns correspond to variables leaving the basis: if the pivot is in the first constraint, x would leave the basis at its lower bound, and if the pivot is in the second constraint, x 2 would leave the basis at its upper bound. By the minimum ratio test, x 2 leaves the basis at its upper bound. Mitchell Handling Upper Bounds in Simplex / 8

Tableaus Tableau for second iteration x x 2 x 3 x 4 Min ratios 0 0 0 2 3 LB UB 3 6 0 3 3 0-2 R 2 then R 0 + 2R 2, R R 2 x x 2 x 3 x 4 2 0 2 0 5 0 0 2 UB 4 3 5 B/LB/UB B UB B UB Values 3 2 Value of objective is z = 2 2(3) + () = 7. Basics: x = 5 x 2 x 4 =, x 3 = + x 2 2x 4 = 2. Mitchell Handling Upper Bounds in Simplex 2 / 8

Tableaus Graphing the second pivot x 4 x 3 + 2x 4 =, x 2 = 0 x 3 + 3x 4 = 2, x = 4 x 4 = contour x 3 + 2x 4 = 4, x 2 = 3 x 3 + 3x 4 = 6, x = 0 x x 2 x 3 x 4 2 0 2 0 5 0 0 2 UB 4 3 5 B/LB/UB B UB B UB Values 3 2 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 3 / 8

Tableaus Graphing the second pivot x 4 x 3 + 2x 4 =, x 2 = 0 contour x 3 + 3x 4 = 2, x = 4 simplex direction: decrease x 4, keep x 2 = 3 x 3 + 2x 4 = 4, x 2 = 3 x 3 + 3x 4 = 6, x = 0 x x 2 x 3 x 4 2 0 2 0 5 0 0 2 UB 4 3 5 B/LB/UB B UB B UB Values 3 2 0 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 3 / 8

Tableaus Graphing the second pivot x 4 x 3 + 2x 4 =, x 2 = 0 0 contour x 3 + 3x 4 = 2, x = 4 simplex direction: decrease x 4, keep x 2 = 3 x 3 + 2x 4 = 4, x 2 = 3 x 4 = 0 x 3 + 3x 4 = 6, x = 0 2 3 4 5 x x 2 x 3 x 4 2 0 2 0 5 0 0 2 UB 4 3 5 B/LB/UB B UB B UB Values 3 2 x 3 Mitchell Handling Upper Bounds in Simplex 3 / 8

Making the second pivot Tableaus x x 2 x 3 x 4 Min ratios 2 0 2 0 LB UB 5 0 4 5 2 0 2 2 UB 4 3 5 B/LB/UB B UB B UB Values 3 2 x 4 enters the basis and decreases. Thus, x and x 3 increase. Simplex direction: We are decreasing x 4, so the changes in the basic variables are given by the entries in the x 4 column of the tableau. Direction is x = (, 0, 2, ) T. Mitchell Handling Upper Bounds in Simplex 4 / 8

Choosing the steplength x x 2 x 3 x 4 = Tableaus 3 2 + t 0 2 The value of the minimum ratio for the basic variables x and x 3 is 2.5, which would drive x 3 to its upper bound of 5. The incoming basic variable also provides an upper bound on the maximum possible step length. Since we require x 4 0, the step length must be. Thus, the pivot is to keep x 4 nonbasic, but switch it from being nonbasic at its upper bound to nonbasic at its lower bound. This changes the value of the basic variables x and x 3. Mitchell Handling Upper Bounds in Simplex 5 / 8

Tableaus Tableau for third iteration This tableau is in optimal form. x x 2 x 3 x 4 2 0 2 0 5 0 0 2 UB 4 3 5 B/LB/UB B UB B LB Values 2 3 4 0 Optimal value of objective is z = 2 2(3) + (0) = 8. Basics: x = 5 x 2 x 4 = 2, x 3 = + x 2 2x 4 = 4. x 2 is at its upper bound, and decreasing x 2 will increase the objective function value. x 4 is at its lower bound, and increasing x 4 will increase the objective function value. Mitchell Handling Upper Bounds in Simplex 6 / 8

Tableaus The iterations of the algorithm x 4 x 3 + 3x 4 = 6, x = 0 x 3 + 3x 4 = 2, x = 4 x 3 + 2x 4 = 4, x 2 = 3 x 3 + 2x 4 =, x 2 = 0 0 optimal contour 2 3 4 5 x 3 Mitchell Handling Upper Bounds in Simplex 7 / 8

Tableaus Summary Advantage of this approach: The reduction in the linear algebra per iteration is notable: we only need m basic variables; we d need m + n if we used explicit slack variables. So the pivot matrices are far smaller. Each iteration requires checking each of the m basic variables against one of its bounds. This is perhaps cumbersome to do when working an example by hand, but it s easy to automate in a computer code. Mitchell Handling Upper Bounds in Simplex 8 / 8