# 3 Does the Simplex Algorithm Work?

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Does the Simplex Algorithm Work? In this section we carefully examine the simplex algorithm introduced in the previous chapter. Our goal is to either prove that it works, or to determine those circumstances under which it may fail. If the simplex does not always work, and we know why, then we might be able to devise a way to fix it. Part of understanding whether or not the simplex algorithm works is to more precisely understand what we mean by working. For example, we have already seen that some LPs can be infeasible and others unbounded. What does the algorithm do in these cases? Does it terminate somehow? Does it pivot forever? What does it mean to say that the simplex algorithm successfully terminated on such problems, and more importantly, will the procedure always terminate successfully on problems for which a solution exists? We begin our study with a detailed analysis of the various components of the algorithm. Our investigation is broken into parts:. Initialization: The simplex algorithm pivots between feasible dictionaries (equivalently, feasible tableaus). The pivoting process moves us from one BFS to another BFS having a greater objective value. Hence, in order to pivot, we need a feasible dictionary. How do we obtain the first feasible dictionary? Clearly, the initial dictionary which defines the slack and objective variables is not feasible if the LP does not have feasible origin. The problem of obtaining a first feasible dictionary is necessarily nontrivial since not every LP is feasible, and detecting infeasiblity can be a difficult task. We will soon see that the problems of determining feasibility and of obtaining an initial feasible dictionary is just as hard as solving an LP with feasible origin.. Iteration: Can we always choose variables to enter and leave the basis in an unambiguous way? Can there be multiple choices or no choice? Are there ambiguities in the choice of these variables, and these ambiguities be satisfactorily resolved?. Termination: Does the simplex algorithm terminate after a finite number of pivots? Does it terminate at a solution when a solution exists? Does it terminate when the problems is unbounded? Can it stall, or can it go on pivoting forever without ever solving the problem? We delay the discussion of () until after we know that the method can be made to succeed on problems with feasible origin. We begin with () in order to obtain a beter understanding of just how the method works. Hopefully, by understanding () we ll have a better understanding of how to address the questions in ().

2 . The Simplex Algorithm Iteration: Degeneracy and Cycling Assume that we are given a feasible tableau or, equivalently, a feasible dictionary: x i = b i j N â ij x j i B (D B ) z = ẑ + j N ĉ j x j, where b i, i B (the non-negativity of b i, i B is equivalent to the feasibility of the dictionary D B ). Recall that the rule for choosing the variable to enter the basis is to choose any one of the nonbasic variables x j, j N for which ĉ j >. There may be many such nonbasic variables, but all of them has the potential to increase the value of the objective variable z. Once we have chosen a variable, say x j, j N with ĉ j >, to enter the basis, then the variable that leaves the basis is chosen from among those that place the greatest restriction on increasing the value of the entering variable x j. These restrictions are imposed by our desire to maintain feasibility, that is, the non-negativity of the basic variables. As we have seen, the leaving variable must be chosen from the indices that attain the minimum value among the ratios bi for â ij > i B â ij (recall that if â ij, then the corresponding equation places no restriction on increases to the value of x j since increasing the value of x j in this instance does not decrease the value of x i ). Hence, if x i is the leaving variable, then { } bi bi (.) = min : i B, â ij >. â ij â i j There are two potential problems with this selection rule for choosing the leaving variable. (i) There is no i B for which â ij >, and (ii) There is more than one i B for which (.) holds. If (i) occurs, then we can increase the value of the entering variable x j as much as we want without violating feasibility. Since ĉ j >, this implies that we can increase the value of the objective variable z as much as we want without violating feasibility, that is, the problem is necessarily unbounded.

3 Fact: If there exists j N in the dictionary D B for which ĉ j > and â ij for all i B, then the LP maximize c T x subject to Ax b, x is unbounded, i.e., the optimal value is +. Using this fact we are now able to detect unbounded LPs. We illustrate this with the following example: max x x x subject to x +x x 4x +x 7 x,x,x The initial tableau for this LP is 4 7 Note that all three variables x,x, and x are candidates for entering the basis. However, in the column above x, there are no positive coefficients. Hence, if we choose x to enter the basis, its value can be increased without bound and not violate the non-negativity of any of the other variables. Therefore, this problem is unbounded, that is, it is feasible and has + as its optimal value. Now consider the second possibility, that is there is more than one variable that can leave the basis. It turns out that this situation is very bad for the simplex algorithm and requires careful examination. Consider the next example which illustrates this case. The simplex pivots are max x x +8x subject to x 4x +6x x +x +4x x,x,x x 4

4 x = z = 8 4 x = z = x = 7 z = x = 7 z = x = Note that any one of these rows could serve as the pivot row! Note that by pivoting on this tableau we do not change the objective value Note that we have not changed the point identified by this tableau Again no change. Finally, we break out to optimality. z = Observations: If on a given pivot, there is more than one choice of variable to leave the basis, then the subsequent tableau will set one or more of the basic variables equal to zero in the associated basic feasible solution. A dictionary in which one or more of the basic variables is set to zero in the associated basic feasible solution is called a degenerate dictionary. Correspondingly, a tableau in which one or more of the basic variables is set to zero in the associated basic feasible solution is called a degenerate tableau. It is possible that a pivot on a degenerate dictionary (or tableau) does not change the associated basic feasible solution and the value of the objective variable z. Such a pivot is called a degenerate pivot. Observation is particularly troublesome since it opens the door to the possibility of an infinite sequence of degenerate pivots never terminating with optimality. Unfortunately, this can occur leading to the failure of the method. An example of the phenomenon is given

5 in the below. Our goal is to understand how such a pathological situation can occur and then to devise methods to overcome the problem. Example: Cycling When pivoting in tableau format, an easy tie breaking rule for the choice of pivot row (or the leaving variable) is to choose that row that appears higher up in the tableau. In the following example, due to H. W. Kuhn, this tie breaking rule leads to cycling. maximize x +x x x 4 subject to x 9x + x +9x 4 x + x x x 4 x,x,x,x 4 In the following discussion we assume that the simplex algorithm is operating with iron clad pivoting rules so that any non-optimal feasible dictionary is associated with a unique pivot. For example, given the feasible dictionary x i = b i j N â ij x j i B (D B ) z = ẑ + j N ĉ j x j, the so called largest-coefficient largest-subscript rule provides such an iron clad pivot rule. Largest-Coefficient Largest-Subscript Rule Choice of Entering Variable: Among all those variables x j with j N such that ĉ j = max{ĉ k : k B} choose x j so that j is largest. Choice of Leaving Variable: Among all those variables x i with i B such that b i â ij choose x i so that i is largest. { } = min bk â kj : k B,â kj > Observe that each dictionary is associated with a set of basic indices (the indices of the basic variables). How many possible ways are there to choose a set of basic indices? Since every basis must contain m variables and there are only n + m variables altogether, the total number of possible sets of basic indices equals the number of possible ways to choose m distinct elements from a collection of n + m objects. This number is given by the binomial coefficient ( n + m m ) = 6 (n + m)!. m!n!

6 Thus, there are only a finite number of potential bases. Now if it were true that each basis was associated with a unique dictionary, then, due to our assumption on the pivoting rules, the only way we could obtain an infinite sequence of dictionaries is if at some point in the iteration process the same sequence of dictionaries appears over and over again. That is, the sequence of dictionary begins to cycle. Recapping, we have observed that since there are only finitely many bases, the only way for there to be an infinite sequence of pivots is if there is at least one dictionary, say D, whose basis appears twice. Let D,..., D N,D N+,D N+,... be the sequence of pivots that start at D and end at D N where D and D N+ have the same basis. Now if each basis is associated with a unique dictionary, then D = D N+. Returning to our assumption that the pivoting rule uniquely determines the next basis, we must have D = D N+,D = D N+,,D N = D N,D = D N+,. That is, the same sequence of dictionaries appear over and over again. If this occurs we say that the sequence of dictionaries cycles. These observations motivate the following result. Fact: The simplex algorithm fails to terminate if and only if it cycles. The simplex algorithms can only cycle between degenerate dictionaries (or tableaus) with each dictionary (or tableau) in the cycle being associated with the same basic feasible solution and objective value. Proof: Clearly, if the simplex algorithm cycles, then it cannot terminate. Next let us suppose that the simplex algorithm fails to terminate. We need to show that it must cycle. By the discussion prior to the statement of this result, we know that if each basis is associated with a unique dictionary, then the simplex algorithm must cycle. Thus, we establish the result by showing that each basis yields a unique dictionary. To this end let (D ) and (D ) x i = b i â ij x j, i B j N z = ẑ i + ĉ j x j j N x i = b i a ijx j, i B j N z = z + c jx j j N be two dictionaries associated with the same basis B. Recall from the definition of a dictionary that D and D have identical solution sets. Let j N and consider the solution obtained by setting x j = t and x j = for j N, j j. From this solution we see that bi â ij t = x i = b i a ij t for i B ẑ + ĉ j t = z = z + c j t. 7

7 Setting t =, we have bi = b i i B and Then, setting t =, we have ẑ = z. â ij = a ij for i B. By repeating this argument for all j N, we find that D and D are identical dictionaries. Thus, each basis gives rise to a unique dictionary. We now show that any cycle must be a cycle of degenerate pivots and that each dictionary in a cycle yields one in the same associated basic feasible solution. If D,D,..., D N is the cycle of dictionaries in question. We have that the value of z in D and D N+ is the same. If we let z k be the value of z in D k, we have z z z N z N+ = z. Therefore, z i = z j for i < j N. Hence each of the pivots taking D i to D j is necessarily degenerate for i < j N. Therefore, each of the dictionaries D,..., D N must be degenerate. Since degenerate pivots do not alter the basic feasible solution, it must be the case that each D i : i =,..., N identifies one in the same basic feasible solution. We have established that the simplex algorithm can only fail to terminate if it cycles, and that it can only cycle in the presence of degeneracy. In order to assure that the simplex algorithm successfully terminates we need to develop a pivoting rule that avoids cycling. Over the years a number of anti-cycling pivoting rules have been proposed. In these notes, we present one such rule known as the smallest subscript rule, or Bland s Rule (named after its discoverer, Robert Bland of Cornell University). Recall that given the basis B {,,..., n + m}, our notation for the associated dictionary is (D B ) x i = b i j N âijx j i B z = ẑ + j N ĉjx j. The Smallest Subscript Rule Whenever a degenerate pivot is possible choose the entering and leaving variables as follows: Choice of entering variable: x j for j N is the entering variable if ĉ j > and j j whenever ĉ j >. 8

8 Choice of leaving variable: x i for i B is the leaving variable if { } bi bi = min : i B,â ij > â ij â i j and i i whenever bi â i j = b i â ij i B. In short, we always choose the variable with the smallest subscript whenever there is a tie in the choice of either entering or leaving variable. Theorem. (R.G. Bland (977)) The simplex algorithm terminates as long as the choice of variable to enter or leave the basis is made according to the smallest subscript rule. Proof: We need only show that the smallest subscript rule prevents cycling. To this end, we assume to the contrary that there is a case where cycling occurs even though the smallest subscript rule has been implemented. Denote this cycle of dictionaries by D,D,..., D N = D. Since it is a cycle, every dictionary in the cycle is degenerate and identifies the same BFS. Note that in pivoting from D k to D k+ some variable must leave the basis and another must enter. But since the leaving variable is in the basis in D k while the entering variable is not, the leaving variable must entered the basis (at least once) somewhere else in the cycle while the entering variable must leave the basis (at least once) elsewhere in the cycle. Hence, in the cycle D,D,..., D N, there are variables that leave and return to the basis at least once during the cycle. We will call these the fickle variables. Note that any variable that either enters or leaves a basis in the cycle D,D,..., D N is necessarily fickle. In addition, when the fickle variables are nonbasic their value in the associated BSF is zero. Since the BFS identified remains fixed in a cycle, all fickle variables take the value zero in this BFS and so remain zero throughout the cycle. Among the fickle variables there is one x l having the largest subscript. Let D x i = b i j/ B a ij x j, i B z = v + j/ B c j x j be a dictionary in the cycle where x l is leaving the basis with say x e entering. Since x e is also fickle, e < l. Let D be a dictionary in the cycle with x l entering the basis. Since each dictionary in the cycle identifies the same BFS, the value v stays constant throughout the cycle. Therefore, we can write the objective row of D as (.) z = v + m+n 9 j= c jx j,

9 where c j = if x j is basic in D. Since the solution set of every dictionary in the cycle is identical, every solution to D must satisfy the objective equation (.). In particular, the solution to D obtained by setting x e = t, x j = (j / B, j e) giving x i = b i a ie t (i B) and z = v + c e t, must also satisfy (.) for every choice of t. That is, v + c e t = v + c et + i B c i (b i a ie t) for all t. By grouping terms in this expression and re-arranging we obtain ( c e c e + ) c i a ie t = c i b i for all t. i B i B Since the right hand side of this expression is constant, it must be zero as is the coefficient on the left, i.e. c e c e = c i a ie. i B Since x e enters the basis in D, c e >. Since x l enters the basis in D and e<l, the smallest subscript rule implies that c e. Therefore, c e c e >. Consequently, i B c i a ie <, so for some s B, c sa se <. Since s B, x s is basic in D, and since c s, x s is nonbasic in D, so x s is fickle which implies that s l. We claim that s < l. Indeed, since x l is leaving the basis in D and x e is entering, we know that a le >, and since x l enters the basis in D, c l >, so that c l a le >. Consequently, we cannot have s = l, and so s < l. Now since s < l, x s cannot be a candidate to enter the basis in D, that is, c s. But c s, so c s <. But c sa se <, so a se >. Now x s is fickle and s B, so its value in the BFS is zero, i.e. b s =. But since b s = and a se >, x s is a candidate for leaving the basis in D. But x l leaves the basis in D with s<l. This violates the smallest subscript rule contradicting the supposition that it was employed. Hence no such cycle can exist. With the introduction of an anti-cycling rule, such as Bland s Rule, we now know that if we are given an initial feasible dictionary, then we can apply the simplex algorithm to either obtain an optimal basic feasible solution or determine that the LP is unbounded.. Initialization We now turn to the problem of finding an initial basic feasible solution. Again consider an LP in standard form, P maximize c T x subject tp Ax b, x. We associate with this LP an auxiliary LP of the form Q minimize x subject to Ax x e b, x, x. 4

10 where e R m is the vector of all ones. The i th row of the system of inequalities Ax x e b takes the form a i x + a i x a in x n x b i. The system of inequalities can also be written in block matrix form as [ ] ( ) x e A b. x Note that if the optimal value in the auxiliary problem is zero, then at the optimal solution ( x, x) we have x =. If we plug this into the inequality Ax x e b, we get A x b. That is, x is feasible for the original LP P. Corresponding, if ˆx is feasible for P, then (ˆx, ˆx) with ˆx = is feasible for A, in which case (ˆx, ˆx) must be optimal for A. Therefore, P is feasible if and only if the optimal value in A is zero. In particular the feasibility of P can be determined by solving the LP A. The auxiliary problem A is also called the Phase I problem since solving it is the first phase of a two phase process of solving general LPs. In Phase I we solve the auxiliary problem to obtain an initial feasible tableau for the original problem, and in Phase II we solve the original LP starting with the feasible tableau provided in Phase I. Solving Q by the simplex algorithm yields an initial feasible dictionary for P. However, to solve Q we need an initial feasible dictionary for Q. But if P does not have feasible origin neither does Q! Fortunately, an initial feasible dictionary for Q is easily constructed. Observe that if we set x = min{b i : i =,..., n} with b =, then b + x e since min{b i + x : i =,..., m} = min{b i : i =,..., m} min{b i : i =,..., m}. Hence, by setting x = min{b i : i =,..., m} and x = we obtain a feasible solution for Q. It is also a basic feasible solution. To see this, consider the initial dictionary for Q Let i be any index such that x n+i = b i + x z = x. m a ij x j j= b i = min{b i : i =,,..., m). If i =, then this LP has feasible origin and so the initial dictionary is optimal. If i >, 4

11 then pivot on this row bringing x into the basis. This yields the dictionary x = b i + x n+i + m a i jx j j= x n+i = b i b i + x n+i z = b i x n+i But b i b i for all i =,..., m, so m (a ij a i j)x j, i i j= m a i jx j. j= b i b i for all i =,..., m. Therefore this dictionary is feasible. We illustrate this initialization procedure by example. Consider the LP max x x + x s.t. x x + x 4 x x + x x + x x = x,x,x. This LP does not have feasible origin since the right hand side vector b = (4,, ) T is not componentwise non-negative. Hence the initial dictionary D I is not feasible. Therefore, we must first solve the auxiliary problem Q to obtain a feasible dictionary. The auxiliary problem has the form max x s.t. x + x x + x 4 x + x x + x x x + x x x,x,x,x. The initial tableau for this LP has the following form: 4 However, instead of pivoting on this tableau we will pivot on a somewhat different tableau which differs in one respect. In the Phase I tableau we also include the objective row for 4

12 the original LP. This is done to save the effort of having to compute the proper coefficients for this row after solving the auxiliary problem. Having these coefficients in hand at the end of Phase I allows one to immediately begin Phase II. This is illustrated in the following example. Here we denote the objective variable for the Phase I problem Q as w. x 4 - most negative z w z w z w Auxiliary problem 4 8 solved. Extract an initial z feasible tableau. w We have solved the Phase I problem. The optimal value in the Phase I problem is zero. Hence the original problem is feasible. In addition, we can extract from the tableau above an initial feasible tableau for the the original LP. 4

13 Hence the optimal solution is with optimal value z =.6. Recapping, we have x x x =.8.4 The Two Phase Simplex Algorithm Phase I Formulate and solve the auxiliary problem. Two outcomes are possible: (i) The optimal value in the auxiliary problem is positive. In this case the original problem is infeasible. (ii) The optimal value is zero and an initial feasible tableau for the original problem is obtained. Phase II If the original problem is feasible, apply the simplex algorithm to the initial feasible tableau obtained from Phase I above. Again, two outcomes are possible: (i) The LP is determined to be unbounded. (ii) An optimal basic feasible solution is obtained. Clearly the two phase simplex algorithms can be applied to solve any LP. This yields the following theorem. Theorem: [The Fundamental Theorem of Linear Programming] Every LP has the following three properties: (i) If it has no optimal solution, then it is either infeasible or unbounded. (ii) If it has a feasible solution, then it has a basic feasible solution. (iii) If it is bounded, then it has an optimal basic feasible solution. 44

14 Proof: Part (i): Suppose an LP has no solution. This LP is either feasible or infeasible. Let us suppose it is feasible. In this case, the first phase of the two-phase simplex algorithm produces a basic feasible solution. Hence, the second phase of the two-phase simplex algorithm either discovers that the problem is unbounded or produces an optimal basic feasible solution. By assumption, the LP has no solution so it must be unbounded. Therefore, the LP is either infeasible or unbounded. Part (ii): If an LP has a feasible solution, then the first phase of the two-phase simplex algorithm produces a basic feasible solution. Part (iii): Suppose an LP is bounded. In particular, this implies that the LP is feasible, and, so by Part (ii), it has a basic feasible solution. The second phase of the two-phase simplex algorithm either discovers that the problem is unbounded or produces an optimal basic feasible solution. Since the LP is bounded, the second phase produces an optimal basic feasible solution. 4

### 1 Solving LPs: The Simplex Algorithm of George Dantzig

Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

### Special Situations in the Simplex Algorithm

Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the

### Section Notes 3. The Simplex Algorithm. Applied Math 121. Week of February 14, 2011

Section Notes 3 The Simplex Algorithm Applied Math 121 Week of February 14, 2011 Goals for the week understand how to get from an LP to a simplex tableau. be familiar with reduced costs, optimal solutions,

### Definition of a Linear Program

Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

### THEORY OF SIMPLEX METHOD

Chapter THEORY OF SIMPLEX METHOD Mathematical Programming Problems A mathematical programming problem is an optimization problem of finding the values of the unknown variables x, x,, x n that maximize

### Theory of Linear Programming

Theory of Linear Programming Debasis Mishra April 6, 2011 1 Introduction Optimization of a function f over a set S involves finding the maximum (minimum) value of f (objective function) in the set S (feasible

### Outline. Linear Programming (LP): Simplex Search. Simplex: An Extreme-Point Search Algorithm. Basic Solutions

Outline Linear Programming (LP): Simplex Search Benoît Chachuat McMaster University Department of Chemical Engineering ChE 4G03: Optimization in Chemical Engineering 1 Basic Solutions

### 3.5 Reduction to Standard Form

3.5 Reduction to Standard Form 77 Exercise 3-4-4. Read the following statements carefully to see whether it is true or false. Justify your answer by constructing a simple illustrative example (for false),

### Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs

Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs These questions are from previous years and should you give you some idea of what to expect on Quiz 1. 1. Consider the

### The Simplex Method. yyye

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #05 1 The Simplex Method Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/

### Chap 4 The Simplex Method

The Essence of the Simplex Method Recall the Wyndor problem Max Z = 3x 1 + 5x 2 S.T. x 1 4 2x 2 12 3x 1 + 2x 2 18 x 1, x 2 0 Chap 4 The Simplex Method 8 corner point solutions. 5 out of them are CPF solutions.

### CHAPTER 17. Linear Programming: Simplex Method

CHAPTER 17 Linear Programming: Simplex Method CONTENTS 17.1 AN ALGEBRAIC OVERVIEW OF THE SIMPLEX METHOD Algebraic Properties of the Simplex Method Determining a Basic Solution Basic Feasible Solution 17.2

### Simplex method summary

Simplex method summary Problem: optimize a linear objective, subject to linear constraints 1. Step 1: Convert to standard form: variables on right-hand side, positive constant on left slack variables for

### Section Notes 4. Duality, Sensitivity, Dual Simplex, Complementary Slackness. Applied Math 121. Week of February 28, 2011

Section Notes 4 Duality, Sensitivity, Dual Simplex, Complementary Slackness Applied Math 121 Week of February 28, 2011 Goals for the week understand the relationship between primal and dual programs. know

### Linear Programming. March 14, 2014

Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

### 4.6 Linear Programming duality

4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal

### I. Solving Linear Programs by the Simplex Method

Optimization Methods Draft of August 26, 2005 I. Solving Linear Programs by the Simplex Method Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston,

### Graphical method. plane. (for max) and down (for min) until it touches the set of feasible solutions. Graphical method

The graphical method of solving linear programming problems can be applied to models with two decision variables. This method consists of two steps (see also the first lecture): 1 Draw the set of feasible

### Algebraic Simplex Method - Introduction Previous

Algebraic Simplex Method - Introduction To demonstrate the simplex method, consider the following linear programming model: This is the model for Leo Coco's problem presented in the demo, Graphical Method.

### max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x

Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

### Lecture 4 Linear Programming Models: Standard Form. August 31, 2009

Linear Programming Models: Standard Form August 31, 2009 Outline: Lecture 4 Standard form LP Transforming the LP problem to standard form Basic solutions of standard LP problem Operations Research Methods

### Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

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

1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

### The Graphical Simplex Method: An Example

The Graphical Simplex Method: An Example Consider the following linear program: Max 4x 1 +3x Subject to: x 1 +3x 6 (1) 3x 1 +x 3 () x 5 (3) x 1 +x 4 (4) x 1, x 0. Goal: produce a pair of x 1 and x that

### By W.E. Diewert. July, Linear programming problems are important for a number of reasons:

APPLIED ECONOMICS By W.E. Diewert. July, 3. Chapter : Linear Programming. Introduction The theory of linear programming provides a good introduction to the study of constrained maximization (and minimization)

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

IEOR 4404 Homework # Intro OR: Deterministic Models February 14, 011 Prof. Jay Sethuraman Page 1 of 5 Homework #.1 (a) What is the optimal solution of this problem? Let us consider that x 1, x and x 3

### Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

### Basic solutions in standard form polyhedra

Recap, and outline of Lecture Previously min s.t. c x Ax = b x Converting any LP into standard form () Interpretation and visualization () Full row rank assumption on A () Basic solutions and bases in

### Linear Programming. April 12, 2005

Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first

### LINEAR PROGRAMMING P V Ram B. Sc., ACA, ACMA Hyderabad

LINEAR PROGRAMMING P V Ram B. Sc., ACA, ACMA 98481 85073 Hyderabad Page 1 of 19 Question: Explain LPP. Answer: Linear programming is a mathematical technique for determining the optimal allocation of resources

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

Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S

### Duality in Linear Programming

Duality in Linear Programming 4 In the preceding chapter on sensitivity analysis, we saw that the shadow-price interpretation of the optimal simplex multipliers is a very useful concept. First, these shadow

### 7.4 Linear Programming: The Simplex Method

7.4 Linear Programming: The Simplex Method For linear programming problems with more than two variables, the graphical method is usually impossible, so the simplex method is used. Because the simplex method

### AM 221: Advanced Optimization Spring Prof. Yaron Singer Lecture 7 February 19th, 2014

AM 22: Advanced Optimization Spring 204 Prof Yaron Singer Lecture 7 February 9th, 204 Overview In our previous lecture we saw the application of the strong duality theorem to game theory, and then saw

### Linear Programming: Chapter 5 Duality

Linear Programming: Chapter 5 Duality Robert J. Vanderbei October 17, 2007 Operations Research and Financial Engineering Princeton University Princeton, NJ 08544 http://www.princeton.edu/ rvdb Resource

### Introduction to Linear Programming.

Chapter 1 Introduction to Linear Programming. This chapter introduces notations, terminologies and formulations of linear programming. Examples will be given to show how real-life problems can be modeled

### Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### Degeneracy in Linear Programming

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

### Linear Programming Notes V Problem Transformations

Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material

### What is Linear Programming?

Chapter 1 What is Linear Programming? An optimization problem usually has three essential ingredients: a variable vector x consisting of a set of unknowns to be determined, an objective function of x to

### The Canonical and Dictionary Forms of Linear Programs

The Canonical and Dictionary Forms of Linear Programs Recall the general optimization problem: Minimize f(x) subect to x D (1) The real valued function f is called the obective function, and D the constraint

### Simplex Method. Introduction:

Introduction: In the previous chapter, we discussed about the graphical method for solving linear programming problems. Although the graphical method is an invaluable aid to understand the properties of

### Geometry of Linear Programming

Chapter 2 Geometry of Linear Programming The intent of this chapter is to provide a geometric interpretation of linear programming problems. To conceive fundamental concepts and validity of different algorithms

### Linear Inequalities and Linear Programming. Systems of Linear Inequalities in Two Variables

Linear Inequalities and Linear Programming 5.1 Systems of Linear Inequalities 5.2 Linear Programming Geometric Approach 5.3 Geometric Introduction to Simplex Method 5.4 Maximization with constraints 5.5

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

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method Introduction to dual linear program Given a constraint matrix A, right

### Stanford University CS261: Optimization Handout 6 Luca Trevisan January 20, In which we introduce the theory of duality in linear programming.

Stanford University CS261: Optimization Handout 6 Luca Trevisan January 20, 2011 Lecture 6 In which we introduce the theory of duality in linear programming 1 The Dual of Linear Program Suppose that we

### Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

Sensitivity Analysis 3 We have already been introduced to sensitivity analysis in Chapter via the geometry of a simple example. We saw that the values of the decision variables and those of the slack and

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

Chapter 6 Linear Programming: The Simplex Method Introduction to the Big M Method In this section, we will present a generalized version of the simplex method that t will solve both maximization i and

### Chapter 2 Solving Linear Programs

Chapter 2 Solving Linear Programs Companion slides of Applied Mathematical Programming by Bradley, Hax, and Magnanti (Addison-Wesley, 1977) prepared by José Fernando Oliveira Maria Antónia Carravilla A

### OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

### Standard Form of a Linear Programming Problem

494 CHAPTER 9 LINEAR PROGRAMMING 9. THE SIMPLEX METHOD: MAXIMIZATION For linear programming problems involving two variables, the graphical solution method introduced in Section 9. is convenient. However,

### Linear Programming: Theory and Applications

Linear Programming: Theory and Applications Catherine Lewis May 11, 2008 1 Contents 1 Introduction to Linear Programming 3 1.1 What is a linear program?...................... 3 1.2 Assumptions.............................

### Solving Linear Programs

Solving Linear Programs 2 In this chapter, we present a systematic procedure for solving linear programs. This procedure, called the simplex method, proceeds by moving from one feasible solution to another,

### Sensitivity analysis for production planning model of an oil company

Sensitivity analysis for production planning model of an oil company Thesis Supervised by By Yu Da Assoc. Professor Tibor Illés Eötvös Loránd University Faculty of Natural Sciences 2004 ACKNOWLEDGEMENT

### Theorem (The division theorem) Suppose that a and b are integers with b > 0. There exist unique integers q and r so that. a = bq + r and 0 r < b.

Theorem (The division theorem) Suppose that a and b are integers with b > 0. There exist unique integers q and r so that a = bq + r and 0 r < b. We re dividing a by b: q is the quotient and r is the remainder,

### Using the Simplex Method in Mixed Integer Linear Programming

Integer Using the Simplex Method in Mixed Integer UTFSM Nancy, 17 december 2015 Using the Simplex Method in Mixed Integer Outline Mathematical Programming Integer 1 Mathematical Programming Optimisation

### Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

### Solving Linear Programming Problem with Fuzzy Right Hand Sides: A Penalty Method

Solving Linear Programming Problem with Fuzzy Right Hand Sides: A Penalty Method S.H. Nasseri and Z. Alizadeh Department of Mathematics, University of Mazandaran, Babolsar, Iran Abstract Linear programming

### Chapter 4: The Mechanics of the Simplex Method

Chapter 4: The Mechanics of the Simplex Method The simplex method is a remarkably simple and elegant algorithmic engine for solving linear programs. In this chapter we will examine the internal mechanics

### Linear Programming in Matrix Form

Linear Programming in Matrix Form Appendix B We first introduce matrix concepts in linear programming by developing a variation of the simplex method called the revised simplex method. This algorithm,

### Markov Chains, part I

Markov Chains, part I December 8, 2010 1 Introduction A Markov Chain is a sequence of random variables X 0, X 1,, where each X i S, such that P(X i+1 = s i+1 X i = s i, X i 1 = s i 1,, X 0 = s 0 ) = P(X

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

SOLUTION OF LINEAR PROGRAMMING PROBLEMS THEOREM 1 If a linear programming problem has a solution, then it must occur at a vertex, or corner point, of the feasible set, S, associated with the problem. Furthermore,

### Mathematical finance and linear programming (optimization)

Mathematical finance and linear programming (optimization) Geir Dahl September 15, 2009 1 Introduction The purpose of this short note is to explain how linear programming (LP) (=linear optimization) may

### Linear Dependence Tests

Linear Dependence Tests The book omits a few key tests for checking the linear dependence of vectors. These short notes discuss these tests, as well as the reasoning behind them. Our first test checks

### Chapter 5: Solving General Linear Programs

Chapter 5: Solving General Linear Programs So far we have concentrated on linear programs that are in standard form, which have a maximization objective, all constraints of type, all of the right hand

### Linear Systems. Singular and Nonsingular Matrices. Find x 1, x 2, x 3 such that the following three equations hold:

Linear Systems Example: Find x, x, x such that the following three equations hold: x + x + x = 4x + x + x = x + x + x = 6 We can write this using matrix-vector notation as 4 {{ A x x x {{ x = 6 {{ b General

### Linear Programming is the branch of applied mathematics that deals with solving

Chapter 2 LINEAR PROGRAMMING PROBLEMS 2.1 Introduction Linear Programming is the branch of applied mathematics that deals with solving optimization problems of a particular functional form. A linear programming

### LINEAR PROGRAMMING THE SIMPLEX METHOD

LINEAR PROGRAMMING THE SIMPLE METHOD () Problems involving both slack and surplus variables A linear programming model has to be extended to comply with the requirements of the simplex procedure, that

### Lecture 1: Linear Programming Models. Readings: Chapter 1; Chapter 2, Sections 1&2

Lecture 1: Linear Programming Models Readings: Chapter 1; Chapter 2, Sections 1&2 1 Optimization Problems Managers, planners, scientists, etc., are repeatedly faced with complex and dynamic systems which

### MATHEMATICAL BACKGROUND

Chapter 1 MATHEMATICAL BACKGROUND This chapter discusses the mathematics that is necessary for the development of the theory of linear programming. We are particularly interested in the solutions of a

### Good luck, veel succes!

Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

### International Doctoral School Algorithmic Decision Theory: MCDA and MOO

International Doctoral School Algorithmic Decision Theory: MCDA and MOO Lecture 2: Multiobjective Linear Programming Department of Engineering Science, The University of Auckland, New Zealand Laboratoire

### The Power Method for Eigenvalues and Eigenvectors

Numerical Analysis Massoud Malek The Power Method for Eigenvalues and Eigenvectors The spectrum of a square matrix A, denoted by σ(a) is the set of all eigenvalues of A. The spectral radius of A, denoted

### 1 Polyhedra and Linear Programming

CS 598CSC: Combinatorial Optimization Lecture date: January 21, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im 1 Polyhedra and Linear Programming In this lecture, we will cover some basic material

### 7.1 Modelling the transportation problem

Chapter Transportation Problems.1 Modelling the transportation problem The transportation problem is concerned with finding the minimum cost of transporting a single commodity from a given number of sources

### The Simplex Solution Method

Module A The Simplex Solution Method A-1 A-2 Module A The Simplex Solution Method The simplex method is a general mathematical solution technique for solving linear programming problems. In the simplex

### SOLVING LINEAR SYSTEM OF INEQUALITIES WITH APPLICATION TO LINEAR PROGRAMS

SOLVING LINEAR SYSTEM OF INEQUALITIES WITH APPLICATION TO LINEAR PROGRAMS Hossein Arsham, University of Baltimore, (410) 837-5268, harsham@ubalt.edu Veena Adlakha, University of Baltimore, (410) 837-4969,

### 18. Linear optimization

18. Linear optimization EE103 (Fall 2011-12) linear program examples geometrical interpretation extreme points simplex method 18-1 Linear program minimize c 1 x 1 +c 2 x 2 + +c n x n subject to a 11 x

### 4.4 The Simplex Method: Non-Standard Form

4.4 The Simplex Method: Non-Standard Form Standard form and what can be relaxed What were the conditions for standard form we have been adhering to? Standard form and what can be relaxed What were the

### 3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

### Nonlinear Programming Methods.S2 Quadratic Programming

Nonlinear Programming Methods.S2 Quadratic Programming Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard A linearly constrained optimization problem with a quadratic objective

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

PERFORMANCE EXCELLENCE IN THE WOOD PRODUCTS INDUSTRY EM 8720-E October 1998 \$3.00 Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood A key problem faced

### value is determined is called constraints. It can be either a linear equation or inequality.

Contents 1. Index 2. Introduction 3. Syntax 4. Explanation of Simplex Algorithm Index Objective function the function to be maximized or minimized is called objective function. E.g. max z = 2x + 3y Constraints

### Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

### 2 The Euclidean algorithm

2 The Euclidean algorithm Do you understand the number 5? 6? 7? At some point our level of comfort with individual numbers goes down as the numbers get large For some it may be at 43, for others, 4 In

### 56:171 Operations Research Midterm Exam Solutions Fall 2001

56:171 Operations Research Midterm Exam Solutions Fall 2001 True/False: Indicate by "+" or "o" whether each statement is "true" or "false", respectively: o_ 1. If a primal LP constraint is slack at the

### Theorem 2. If x Q and y R \ Q, then. (a) x + y R \ Q, and. (b) xy Q.

Math 305 Fall 011 The Density of Q in R The following two theorems tell us what happens when we add and multiply by rational numbers. For the first one, we see that if we add or multiply two rational numbers

### Systems of Linear Equations

Systems of Linear Equations Beifang Chen Systems of linear equations Linear systems A linear equation in variables x, x,, x n is an equation of the form a x + a x + + a n x n = b, where a, a,, a n and

### The Simplex Method. What happens when we need more decision variables and more problem constraints?

The Simplex Method The geometric method of solving linear programming problems presented before. The graphical method is useful only for problems involving two decision variables and relatively few problem

### 1 Gaussian Elimination

Contents 1 Gaussian Elimination 1.1 Elementary Row Operations 1.2 Some matrices whose associated system of equations are easy to solve 1.3 Gaussian Elimination 1.4 Gauss-Jordan reduction and the Reduced

### 4.3 The Simplex Method and the Standard Maximization Problem

. The Simplex Method and the Standard Maximiation Problem Question : What is a standard maximiation problem? Question : What are slack variables? Question : How do you find a basic feasible solution? Question

### Chapter 3 LINEAR PROGRAMMING GRAPHICAL SOLUTION 3.1 SOLUTION METHODS 3.2 TERMINOLOGY

Chapter 3 LINEAR PROGRAMMING GRAPHICAL SOLUTION 3.1 SOLUTION METHODS Once the problem is formulated by setting appropriate objective function and constraints, the next step is to solve it. Solving LPP

### This exposition of linear programming

Linear Programming and the Simplex Method David Gale This exposition of linear programming and the simplex method is intended as a companion piece to the article in this issue on the life and work of George

### Advanced Topics in Machine Learning (Part II)

Advanced Topics in Machine Learning (Part II) 3. Convexity and Optimisation February 6, 2009 Andreas Argyriou 1 Today s Plan Convex sets and functions Types of convex programs Algorithms Convex learning

### LINEAR PROGRAMMING. A Concise Introduction. Thomas S. Ferguson

LINEAR PROGRAMMING A Concise Introduction Thomas S Ferguson Contents 1 Introduction 3 The Standard Maximum and Minimum Problems 4 The Diet Problem 5 The Transportation Problem 6 The Activity Analysis Problem

### 1. LINEAR EQUATIONS. A linear equation in n unknowns x 1, x 2,, x n is an equation of the form

1. LINEAR EQUATIONS A linear equation in n unknowns x 1, x 2,, x n is an equation of the form a 1 x 1 + a 2 x 2 + + a n x n = b, where a 1, a 2,..., a n, b are given real numbers. For example, with x and

### 4.9 Markov matrices. DEFINITION 4.3 A real n n matrix A = [a ij ] is called a Markov matrix, or row stochastic matrix if. (i) a ij 0 for 1 i, j n;

49 Markov matrices DEFINITION 43 A real n n matrix A = [a ij ] is called a Markov matrix, or row stochastic matrix if (i) a ij 0 for 1 i, j n; (ii) a ij = 1 for 1 i n Remark: (ii) is equivalent to AJ n