Linear programming II João Carlos Lourenço

Similar documents
ISE203 Optimization 1 Linear Models. Dr. Arslan Örnek Chapter 4 Solving LP problems: The Simplex Method SIMPLEX

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

5 The Theory of the Simplex Method

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Optimization of Design. Lecturer:Dung-An Wang Lecture 8

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras.

Read: H&L chapters 1-6

CSE 40/60236 Sam Bailey

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Chapter 3: Towards the Simplex Method for Efficient Solution of Linear Programs

Linear Programming Problems

Some Advanced Topics in Linear Programming

Discrete Optimization. Lecture Notes 2

Introduction to Linear Programming

Linear Programming Terminology

Civil Engineering Systems Analysis Lecture XV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Introduction to Operations Research

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

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

16.410/413 Principles of Autonomy and Decision Making

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

Chapter 15 Introduction to Linear Programming

Chapter II. Linear Programming

Chap5 The Theory of the Simplex Method

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Chapter 4: The Mechanics of the Simplex Method

Tuesday, April 10. The Network Simplex Method for Solving the Minimum Cost Flow Problem

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

CSC 8301 Design & Analysis of Algorithms: Linear Programming

The Simplex Algorithm

AM 121: Intro to Optimization Models and Methods Fall 2017

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

4.1 Graphical solution of a linear program and standard form

Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

CMPSCI611: The Simplex Algorithm Lecture 24

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

Controlling Air Pollution. A quick review. Reclaiming Solid Wastes. Chapter 4 The Simplex Method. Solving the Bake Sale problem. How to move?

Solutions for Operations Research Final Exam

Using the Graphical Method to Solve Linear Programs J. Reeb and S. Leavengood

Other Algorithms for Linear Programming Chapter 7

An introduction to pplex and the Simplex Method

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Lecture 9: Linear Programming

Ahigh school curriculum in Algebra 2 contains both solving systems of linear equations,

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University)

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

Mathematical and Algorithmic Foundations Linear Programming and Matchings

NOTATION AND TERMINOLOGY

4.1 The original problem and the optimal tableau

Linear Optimization. Andongwisye John. November 17, Linkoping University. Andongwisye John (Linkoping University) November 17, / 25

II. Linear Programming

AMATH 383 Lecture Notes Linear Programming

Artificial Intelligence

Introduction to Linear Programming. Chapter 3: Hillier and Lieberman Chapter 3: Decision Tools for Agribusiness Dr. Hurley s AGB 328 Course

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Primal Simplex Algorithm for the Pure Minimal Cost Flow Problem

5.4 Pure Minimal Cost Flow

R n a T i x = b i} is a Hyperplane.

Farming Example. Lecture 22. Solving a Linear Program. withthe Simplex Algorithm and with Excel s Solver

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs

An iteration of the simplex method (a pivot )

George B. Dantzig Mukund N. Thapa. Linear Programming. 1: Introduction. With 87 Illustrations. Springer

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

COLUMN GENERATION IN LINEAR PROGRAMMING

Finite Math Linear Programming 1 May / 7

I will illustrate the concepts using the example below.

Linear Programming: Basic Concepts. Chapter 2: Hillier and Hillier

Graphical Methods in Linear Programming

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

The Simplex Algorithm

Graphing Linear Inequalities in Two Variables.

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

How to Solve a Standard Maximization Problem Using the Simplex Method and the Rowops Program

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

OPERATIONS RESEARCH. Linear Programming Problem

Chapter 1. Linear Equations and Straight Lines. 2 of 71. Copyright 2014, 2010, 2007 Pearson Education, Inc.

Chapter 1 Linear Programming. Paragraph 4 The Simplex Algorithm

VARIANTS OF THE SIMPLEX METHOD

Extensions of Semidefinite Coordinate Direction Algorithm. for Detecting Necessary Constraints to Unbounded Regions

Generalized Network Flow Programming

Tribhuvan University Institute Of Science and Technology Tribhuvan University Institute of Science and Technology

CASE STUDY. fourteen. Animating The Simplex Method. case study OVERVIEW. Application Overview and Model Development.

Graphs that have the feasible bases of a given linear

What s Linear Programming? Often your try is to maximize or minimize an objective within given constraints

Unit.9 Integer Programming

Lecture 4: Linear Programming

x ji = s i, i N, (1.1)

Part 1. The Review of Linear Programming The Revised Simplex Method

Algorithmic Game Theory and Applications. Lecture 6: The Simplex Algorithm

DEGENERACY AND THE FUNDAMENTAL THEOREM

3 INTEGER LINEAR PROGRAMMING

MEI Conference 2009: D2


Notes for Lecture 18

Using Linear Programming for Management Decisions

Transcription:

Decision Support Models Linear programming II João Carlos Lourenço joao.lourenco@ist.utl.pt Academic year 2012/2013 Readings: Hillier, F.S., Lieberman, G.J., 2010. Introduction to Operations Research, 9th ed. McGraw-Hill, New York. Chapter 4. The simplex method The simplex method was developed by George Dantzig in 1947 It is a general procedure for solving linear programming problems It is a remarkably efficient method that is used to solve huge problems on today s computers George Dantzig 1914-2005 Allows the solution of many previously intractable problems Made linear programming into one of the most frequently used techniques of modern applied mathematics 2 1

Simplex method: Geometric interpretation The simplex method is an algebraic procedure. However, its underlying concepts are geometric. We will now focus on the big picture of the simplex method from a geometric viewpoint using the Wyndor Glass Co. example. The five constraint boundaries and their points of intersection (the cornerpoint solutions) are highlighted in this figure because they are the keys to the analysis. The five points that lie on the corners of the feasible region (0, 0), (0, 6), (2, 6), (4, 3), and (4, 0) are the corner-point feasible solutions (CPF solutions). The other three (0, 9), (4, 6), and (6, 0) are corner-point infeasible solutions. 3 Simplex method: Geometric interpretation Definitions: For any linear programming problem with n decision variables, two CPF solutions are adjacent to each other if they share n 1 constraint boundaries. The two adjacent CPF solutions are connected by a line segment that lies on these same shared constraint boundaries. Such a line segment is referred to as an edge of the feasible region. Since n = 2 in this example, two of its CPF solutions are adjacent if they share one constraint boundary; for example, (0, 0) and (0, 6) are adjacent because they share the x 1 = 0 constraint boundary. The feasible region in the figure has five edges and two edges emanate from each CPF solution. Thus, each CPF solution has two adjacent CPF solutions. 4 2

Simplex method: Geometric interpretation Optimality test: Consider any linear programming problem that possesses at least one optimal solution. If a CPF solution has no adjacent CPF solutions that are better (as measured by Z), then it must be an optimal solution. In the example, (2, 6) must be optimal simply because its Z = 36 is larger than Z = 30 for (0, 6) and Z = 27 for (4, 3). This optimality test is the one used by the simplex method for determining when an optimal solution has been reached. 5 Simplex method: Solving the example Z = 30 Outline Initialization: Choose (0, 0) as the initial CPF solution to examine. (No calculations are required to identify this CPF solution.) Z = 36 Z = 27 Optimality Test: Conclude that (0, 0) is not an optimal solution. (Adjacent CPF solutions are better.) 0 Z = 12 Z = 0 Maximize Z = 3x 1 + 5x 2 Iteration 1: Move to a better adjacent CPF solution by performing the following three steps. 6 3

Simplex method: Solving the example Z = 30 1. Choose to move along the edge that leads up the x 2 axis. (Moving up the x 2 axis increases Z at a faster rate than moving along the x 1 axis.) 1 Z = 36 2. Stop at the first new constraint boundary: 2x 2 = 12. 0 Z = 27 Z = 12 3. Solve for the intersection of the new set of constraint boundaries: (0, 6). Z = 0 Maximize Z = 3x 1 + 5x 2 Optimality Test: Conclude that (0, 6) is not an optimal solution 7 Simplex method: Solving the example Z = 30 1 2 Z = 36 Z = 27 Iteration 2: Move to a better adjacent CPF solution, use 3 steps: 1. Choose to move along the edge that leads to the right 2. Stop at the first new constraint when moving that direction: 3x 1 + 2x 2 = 18. 3. Solve for the intersection of the new set of constraint boundaries: (2, 6). 0 Z = 0 Z = 12 Optimality Test: Conclude that (2, 6) is an optimal solution, so stop. Maximize Z = 3x 1 + 5x 2 8 4

Setting up the simplex method Setting up the simplex method The algebraic procedure of the simplex is based on solving systems of equations. Therefore, the first step in setting up the simplex method is to convert the functional inequality constraints to equivalent equality constraints. This conversion is accomplished by introducing slack variables. After this is made we replace the original model by its augmented form. 9 Setting up the simplex method Terminology for the augmented form An augmented solution is a solution for the original variables (the decision variables) that has been augmented by the corresponding values of the slack variables. A basic solution is an augmented corner-point solution. A basic feasible (BF) solution is an augmented CPF solution. The set of basic variables is often referred to as the basis. For the augmented form of the example, notice that the system of functional constraints has 5 variables and 3 equations, so Number of variables number of equations = 5 3 = 2 This fact gives us 2 degrees of freedom in solving the system, since any two variables can be chosen to be set equal to any arbitrary value in order to solve the three equations in terms of the remaining three variables. The simplex method uses zero for this arbitrary value. Thus, two of the variables (called the nonbasic variables) are set equal to zero, and then the simultaneous solution of the three equations for the other three variables (called the basic variables) is a basic solution. 10 5

Summary of the simplex method (in tabular form) Summary of the simplex method (using the Windor Glass Co.) Initialization: Introduce slack variables. Select the decision variables to be the initial nonbasic variables (set equal to zero) and the slack variables to be the initial basic variables. Optimality test: The current BF solution is optimal if and only if every coefficient in row 0 is nonnegative ( 0). If it is, stop; otherwise, go to an iteration to obtain the next BF solution, which involves changing one nonbasic variable to a basic variable (step 1) and vice versa (step 2) and then solving for the new solution (step 3). 11 Summary of the simplex method (in tabular form) Iteration. Step 1: Determine the entering basic variable by selecting the variable (automatically a nonbasic variable) with the negative coefficient having the largest absolute value (i.e., the most negative coefficient) in Eq. (0). Put a box around the column below this coefficient, and call this the pivot column. Step 2: Determine the leaving basic variable by applying the minimum ratio test. 1. Pick out each coefficient in the pivot column that is strictly positive (> 0). 2. Divide each of these coefficients into the right side entry for the same row. 3. Identify the row that has the smallest of these ratios. 4. The basic variable for that row is the leaving basic variable, so replace that variable by the entering basic variable in the basic variable column of the next simplex tableau. 12 6

Summary of the simplex method (in tabular form) In this example the entering variable is x 2, because it has the most negative coefficient) in Eq. (0) (= 5). The leaving variable is x 4, because it has the minimum ratio (= 6). 13 Summary of the simplex method (in tabular form) Step 3: Solve for the new BF solution by using elementary row operations (multiply or divide a row by a nonzero constant; add or subtract a multiple of one row to another row) to construct a new simplex tableau in proper form from Gaussian elimination below the current one, and then return to the optimality test. 14 7

Summary of the simplex method (in tabular form) 15 Summary of the simplex method (in tabular form) The new BF solution is not optimal (see that there is a negative coefficient in Eq. (0)). Therefore, we must iterate. The entering variable is now x 1, because it has the most negative coefficient) in Eq. (0) (= 3). The leaving variable is x 5, because it has the minimum ratio (= 2). 16 8

Summary of the simplex method (in tabular form) The new BF solution is (2, 6, 2, 0, 0), with Z = 36. Going to the optimality test, we find that this solution is optimal, so the algorithm is finished. Thus, the optimal solution for the Wyndor Glass Co. problem (before slack variables are introduced) is x 17 1 = 2, x 2 = 6. Tie breaking in the simplex method Tie for the entering basic variable Suppose that two or more nonbasic variables are tied for having the largest negative coefficient (in absolute terms). How should this tie be broken? >>> Make an arbitrary selection. The optimal solution will be reached eventually, regardless of the tied variable chosen, and there is no convenient method for predicting in advance which choice will lead there sooner. 18 9

Tie breaking in the simplex method Tie for the leaving basic variable degeneracy Now suppose that two or more basic variables tie for being the leaving basic variable in step 2 of an iteration. Does it matter which one is chosen? Theoretically it does. The tied basic variable(s) not chosen to leave the basis will have a value of zero in the new BF solution. (These variables are called degenerate.) In the worst case a perpetual loop in the simplex algorithm may occur. Fortunately, although that is theoretically possible, it has rarely been known to occur in practical problems. If a loop were to occur, one could always get out of it by changing the choice of the leaving basic variable. For your purposes, just break this kind of tie arbitrarily and proceed... 19 Tie breaking in the simplex method No leaving basic variable unbounded Z It may happen that no variable qualifies to be the leaving basic variable. This outcome would occur if the entering basic variable could be increased indefinitely without giving negative values to any of the current basic variables. If the constraints do not prevent the value of the objective function Z increasing indefinitely, Z is unbounded. This, a mistake has been made, because there are no way of making infinite profits! The model probably has been misformulated, either by omitting relevant constraints or by stating them incorrectly. 20 10

Tie breaking in the simplex method Multiple optimal solutions When a problem has more than one solution we say that it has multiple optimal solutions. Any linear programming problem with multiple optimal solutions (and a bounded feasible region) has at least two CPF solutions that are optimal. Every optimal solution is a convex combination of these optimal CPF solutions. Consequently, in augmented form, every optimal solution is a convex combination of the optimal BF solutions. In general, any weighted average of two or more solutions (vectors) where the weights are nonnegative and sum to 1 is called a convex combination of these solutions. 21 Tie breaking in the simplex method (2, 6) (4, 3) In this example every point on the line segment between (2, 6) and (4, 3) is optimal. Thus all optimal solutions are a weighted average of these two optimal CPF solutions (x 1, x 2 ) = w 1 (2, 6) + w 2 (4, 3) Where the weights w 1 and w 2 are numbers that satisfy the relationships w 1 + w 2 = 1 and w 1 0, w 2 0. For example, w 1 = 1/3 and w 2 = 2/3 give (x 1, x 2 ) = 1/3 (2, 6) + 2/3 (4, 3) = (2/3 + 8/3, 6/3 + 6/3) = (10/3, 4) as one optimal solution. 22 11

Tie breaking in the simplex method 23 Adapting to other model forms Equality constraints Suppose that the Wyndor Glass Co. problem is modified such that the third constraint 3x 1 + 2x 2 18 becomes an equality constraint 3x 1 + 2x 2 = 18. Artificial variable 24 12

Adapting to other model forms Negative Right-Hand Sides We a constraint has a negative right-hand side we can multiply both sides by 1. But if we are dealing with inequalities we would reverse the direction of the inequality; i.e., changes to or vice-versa. For example, x 1 2x 2 1 gives the equivalent constraint x 1 + 2x 2 1. Having nonnegative right-hand sides for all the functional constraints enables the simplex method to begin, because (after augmenting) these right-hand sides become the respective values of the initial basic variables, which must satisfy nonnegativity constraints. 25 Adapting to other model forms Functional constraints in form For this case we add a surplus variable and an artificial variable. Surplus variable (note the negative sign) Artificial variable 26 13

Adapting to other model forms The two-phase method For the radiation therapy example in Hillier and Lieberman (2010), the objective function is However, the Big M method uses the following objective function (or its equivalent in maximization form) throughout the entire procedure: Since the first two coefficients are negligible compared to M, the two-phase method is able to drop M by using the following two objective functions with completely different definitions of Z in turn. 27 Adapting to other model forms No feasible solutions If the original problem has no feasible solutions, then either the Big M method or phase 1 of the two-phase method yields a final solution that has at least one artificial variable greater than zero. Otherwise, they all equal zero. Minimization i.e., the two formulations yield the same optimal solution(s). 28 14

Adapting to other model forms Example: In the Wyndor Glass problem the constraint x 1 0 is replaced by x 1 10 Thus, this decision variable must be redefined to x 1! = x 1 +10 which yields the following changes: 29 Adapting to other model forms Example: 30 15

Postoptimality analysis Using Excel to generate sensitivity analysis information By selecting the second report (labeled Sensitivity ) after solving the Wyndor Glass Co. problem, you will obtain the sensitivity report shown below. 31 Postoptimality analysis The Final Value column indicates the optimal solution. The next column gives the reduced costs. When the variable is a basic variable in the optimal solution its reduced cost automatically is 0. The reduced cost indicates how much the coefficient of a nonbasic variable can be increased (when maximizing) or decreased (when minimizing) before the optimal solution would change and this variable would become a basic variable). The next three columns provide information needed to identify the allowable range to stay optimal for each coefficient c j in the objective function, assuming no change in the other coefficients. 32 16

Postoptimality analysis The Objective Coefficient column gives the current value of each coefficient, and then the next two columns give the allowable increase and the allowable decrease from this value to remain within the allowable range. Therefore, is the allowable range for c 1 over which the current optimal solution will stay optimal (assuming c 2 = 5). Similarly, since Excel uses 1E + 30 (10 30 ) to represent infinity is the allowable range to stay optimal for c 2. 33 Postoptimality analysis The Final Value column gives the value of each constraint s left-hand side for the optimal solution. The next two columns give the shadow price and the current value of the right-hand side (b i ) for each constraint. The shadow price for resource i (denoted by y i *) measures the marginal value of this resource, i.e., the rate at which Z could be increased by (slightly) increasing the amount of this resource (b i ) being made available When just one b i value is then changed, the last two columns give the allowable increase or allowable decrease in order to remain within its allowable range to stay feasible, assuming no change in the other right-hand sides. Thus, combining the last two columns with the current values of the right-hand sides gives the following allowable ranges to stay feasible: 34 17