+ All Categories
Home > Technology > Lesson 31: The Simplex Method, I

Lesson 31: The Simplex Method, I

Date post: 06-May-2015
Category:
Upload: matthew-leingang
View: 7,694 times
Download: 3 times
Share this document with a friend
Description:
We illuminate the simplex method for solving linear programming problems
41
Lesson 31 (KH, Section 11.2) The Simplex Method Math 20 December 5, 2007 Announcements I Pset 11 due December 10. Pset 12 due December 17. I ML OH: Today 1–3 (SC 323) I SS OH: Tonight 8:30–9:30 in Quincy dining hall I HW coming I Midterm II review slides online I Midterm II: tomorrow 7–8:30pm in Hall A
Transcript
Page 1: Lesson 31: The Simplex Method, I

Lesson 31 (KH, Section 11.2)The Simplex Method

Math 20

December 5, 2007

Announcements

I Pset 11 due December 10. Pset 12 due December 17.

I ML OH: Today 1–3 (SC 323)

I SS OH: Tonight 8:30–9:30 in Quincy dining hall

I HW coming

I Midterm II review slides online

I Midterm II: tomorrow 7–8:30pm in Hall A

Page 2: Lesson 31: The Simplex Method, I

Outline

Setup

Illustrative ProblemSlack Variables

The Simplex Method, By ExampleThe Initial Basic Feasible SolutionCreating a New Tableau

Recap of Steps

Example

Page 3: Lesson 31: The Simplex Method, I

Setup

A standard linear programming problem is to maximize thequantity

c1x1 + c2x2 + . . . cnxn = c′x

subject to constraints

a11x1+ a12x2+. . .+ a1nxn ≤ b1

a21x1+ a22x2+. . .+ a2nxn ≤ b2

. . .

am1x1+am2x2+. . .+amnxn ≤ bm

orAx ≤ b.

We usually include the nonnegativity constraint x ≥ 0. Today wewill also assume b ≥ 0.

Page 4: Lesson 31: The Simplex Method, I

Any vector x which satifies all the inequalities is called a feasiblesolution to the given problem, and a feasible solution maximizingthe objective function is called an optimal solution.

Page 5: Lesson 31: The Simplex Method, I

Outline

Setup

Illustrative ProblemSlack Variables

The Simplex Method, By ExampleThe Initial Basic Feasible SolutionCreating a New Tableau

Recap of Steps

Example

Page 6: Lesson 31: The Simplex Method, I

Illustrative Problem

We will use the baker of before. He is trying to maximize

z = 8x + 10y

subject to the constraints

2x+ y ≤50

x+ 2y ≤70

x ≥ 0

y ≥ 0.

Page 7: Lesson 31: The Simplex Method, I

Slack VariablesWe can turn the inequalities into equalities by inserting newvariables, which are called slack variables. Thus the first equationof constraint becomes

2x + y ≤ 50 =⇒ 2x + y + u = 50,

and the second

x + 2y ≤ 70 =⇒ x + 2y + v = 70.

But u and v are nonnegative. So the new problem is to maximize8x + 10y subject to constraints

2x+ y+u =50

x+2y +v =70

x ≥ 0 y ≥ 0 u ≥ 0 v ≥ 0

Page 8: Lesson 31: The Simplex Method, I

In general, we insert slack variables u1, u2, . . . , um and theequations of constraint become

Ax + u = b,

along with x ≥ 0, u ≥ 0.

DefinitionThe vector x in Rn+m is called a basic solution if its obtained bysetting n of the variables in this equation equal to zero and solvingfor the remaining n variables. The m variables are we solve for arecalled the basic variables, and the n variables set equal to zero arecalled the nonbasic variables. The vector x is called a basicfeasible solution if it is a basic solution that also satisfies theinequalities x ≥ 0.

Page 9: Lesson 31: The Simplex Method, I

Why are basic feasible solutions necessary?

TheoremIf a LP problem has an optimal solution, then it has a basicoptimal solution.

This is just a restatement of the corner principle. So we only needto find the basic feasible solutions!

Page 10: Lesson 31: The Simplex Method, I

Back to the Baker

2x+

y=

50

x + 2y = 70

x10 20 30 40 50 60 70

y

10

20

30

40

50

(0, 0) (25, 0) (70, 0)

(0, 35)

(0, 50)

(10, 30)

Page 11: Lesson 31: The Simplex Method, I

Back to the Baker

u=

0

v = 0

x10 20 30 40 50 60 70

y

10

20

30

40

50

(0, 0) (25, 0) not feasible

(0, 35)

not feasible

(10, 30)

Page 12: Lesson 31: The Simplex Method, I

How many basic feasible solutions are there? Out of the m + nvariables, we choose n to set equal to zero, and solve for the rest.This can be done (

n + m

m

)=

(n + m)!

m! n!

ways. That’s a lot!The simplex method is a way to arrive at an optimal solution bytraversing the vertices of the feasible set, in each step increasingthe objective function by as much as possible.

Page 13: Lesson 31: The Simplex Method, I

Outline

Setup

Illustrative ProblemSlack Variables

The Simplex Method, By ExampleThe Initial Basic Feasible SolutionCreating a New Tableau

Recap of Steps

Example

Page 14: Lesson 31: The Simplex Method, I

We’ll work with the illustrative problem. We can start with thebasic feasible solution x = 0, y = 0. Thus u = 50 and v = 70.This is our initial basic solution.We’ll start writing everything in a table (or tableau), so let’s alsowrite the objective function with a right-hand side of zero. Thus

−8x − 10y + z = 0.

We put this all together, forming what is called the initial tableau:

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

Page 15: Lesson 31: The Simplex Method, I

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

Is the solution u = 50, v = 70 (i.e., x = 0, y = 0 optimal?)

No,increasing x or y would increase z .

Optimality Criterion

If the objective row of a tableau has no negative entries in thecolumns labeled with variables, then the indicated solution isoptimal and we can stop our computation.

Page 16: Lesson 31: The Simplex Method, I

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

Is the solution u = 50, v = 70 (i.e., x = 0, y = 0 optimal?) No,increasing x or y would increase z .

Optimality Criterion

If the objective row of a tableau has no negative entries in thecolumns labeled with variables, then the indicated solution isoptimal and we can stop our computation.

Page 17: Lesson 31: The Simplex Method, I

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

Is the solution u = 50, v = 70 (i.e., x = 0, y = 0 optimal?) No,increasing x or y would increase z .

Optimality Criterion

If the objective row of a tableau has no negative entries in thecolumns labeled with variables, then the indicated solution isoptimal and we can stop our computation.

Page 18: Lesson 31: The Simplex Method, I

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

I Move from one basic solution to another

I One of the zero (nonbasic) variables becomes nonzero andone of nonzero (basic) variables becomes zero

I Do this as efficiently as possible

Which of x or y would you most like to increase? An increase of 1in y gives an increase of 10 in z . Let’s make y > 0. y enters theset of basic variables, so it’s called the entering variable for thisstep.

Page 19: Lesson 31: The Simplex Method, I

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

I Move from one basic solution to another

I One of the zero (nonbasic) variables becomes nonzero andone of nonzero (basic) variables becomes zero

I Do this as efficiently as possible

Which of x or y would you most like to increase?

An increase of 1in y gives an increase of 10 in z . Let’s make y > 0. y enters theset of basic variables, so it’s called the entering variable for thisstep.

Page 20: Lesson 31: The Simplex Method, I

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

I Move from one basic solution to another

I One of the zero (nonbasic) variables becomes nonzero andone of nonzero (basic) variables becomes zero

I Do this as efficiently as possible

Which of x or y would you most like to increase? An increase of 1in y gives an increase of 10 in z . Let’s make y > 0. y enters theset of basic variables, so it’s called the entering variable for thisstep.

Page 21: Lesson 31: The Simplex Method, I

How much can we increase y? Well, since x is still zero, theequations of constraint can be written

u = 50− y

v = 70− 2y

We still need u ≥ 0 and v ≥ 0, so the most we can increase y is to35. This is the smallest of the ratios 50

1 = 50 and 702 = 35. So

we’re going to increase y to 35. This will make v = 0. We call vthe departing variable.The new basic solution therefore has y = 35, v = 0, u = 15, andx = 0. The new value of the objective function is z = 10y = 350.

Page 22: Lesson 31: The Simplex Method, I

How much can we increase y? Well, since x is still zero, theequations of constraint can be written

u = 50− y

v = 70− 2y

We still need u ≥ 0 and v ≥ 0, so the most we can increase y is to35. This is the smallest of the ratios 50

1 = 50 and 702 = 35. So

we’re going to increase y to 35. This will make v = 0. We call vthe departing variable.

The new basic solution therefore has y = 35, v = 0, u = 15, andx = 0. The new value of the objective function is z = 10y = 350.

Page 23: Lesson 31: The Simplex Method, I

How much can we increase y? Well, since x is still zero, theequations of constraint can be written

u = 50− y

v = 70− 2y

We still need u ≥ 0 and v ≥ 0, so the most we can increase y is to35. This is the smallest of the ratios 50

1 = 50 and 702 = 35. So

we’re going to increase y to 35. This will make v = 0. We call vthe departing variable.The new basic solution therefore has y = 35, v = 0, u = 15, andx = 0. The new value of the objective function is z = 10y = 350.

Page 24: Lesson 31: The Simplex Method, I

Creating a New TableauWe are exchanging the basic variable v for y . This means the ob-jective row has to be replaced with one that has a zero in the ycolumns. We can do this by adding multiples of row 2. Since y isan entering variable, we might as well normalize row 2 to have aone.So we scale the second row to have a one in the y column.

x y u v z valueu 2 1 1 0 0 50v 1 2 0 1 0 70z −8 −10 0 0 1 0

Page 25: Lesson 31: The Simplex Method, I

Creating a New TableauNow we zero out the rest of this column by adding 10 times row 2to row 3, and subtracting row 2 from row 1.

x y u v z value2 1 1 0 0 50

1/2 1 0 1/2 0 35z −8 −10 0 0 1 0

Page 26: Lesson 31: The Simplex Method, I

Creating a New TableauThe new tableau. By looking at the columns, we see y and u arethe basic variables. The value of the objective function has alsochanged.

x y u v z valueu 3/2 0 1 −1/2 0 15y 1/2 1 0 1/2 0 35z −3 0 0 5 1 350

Page 27: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z .

x y u v z valueu 3/2 0 1 −1/2 0 15y 1/2 1 0 1/2 0 35z −3 0 0 5 1 350

Page 28: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z . How much can we increase it?

x y u v z valueu 3/2 0 1 −1/2 0 15y 1/2 1 0 1/2 0 35z −3 0 0 5 1 350

Page 29: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z . How much can we increase it? The minimum ofthe two ratios 15

3/2 = 10 and 351/2 = 70.

x y u v z valueu 3/2 0 1 −1/2 0 15y 1/2 1 0 1/2 0 35z −3 0 0 5 1 350

Page 30: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z . How much can we increase it? The minimumof the two ratios 15

3/2 = 10 and 351/2 = 70. So x in the entering

variable and u is the departing variable.

↓ x y u v z value← u 3/2 0 1 −1/2 0 15

y 1/2 1 0 1/2 0 35z −3 0 0 5 1 350

Page 31: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z . How much can we increase it? The minimumof the two ratios 15

3/2 = 10 and 351/2 = 70. So x in the entering

variable and u is the departing variable.We scale row one by 2/3 to make it one in the basic column.

x y u v z valueu 3/2 0 1 −1/2 0 15y 1/2 1 0 1/2 0 35z −3 0 0 5 1 350

Page 32: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z . How much can we increase it? The minimumof the two ratios 15

3/2 = 10 and 351/2 = 70. So x in the entering

variable and u is the departing variable.We scale row one by 2/3 to make it one in the basic column.And we zero out the rest of the column by subtracting half of row1 from row 2, and adding 3 times row 1 to row 3.

x y u v z valueu 1 0 2/3 −1/3 0 10y 1/2 1 0 1/2 0 35− 3 0 0 5 1 350

Page 33: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z . How much can we increase it? The minimumof the two ratios 15

3/2 = 10 and 351/2 = 70. So x in the entering

variable and u is the departing variable.We scale row one by 2/3 to make it one in the basic column.And we zero out the rest of the column by subtracting half of row1 from row 2, and adding 3 times row 1 to row 3.

x y u v z valueu 1 0 2/3 −1/3 0 10y 1/2 1 0 1/2 0 35− 3 0 0 5 1 350

Page 34: Lesson 31: The Simplex Method, I

Rinse, Lather, RepeatThe x column in the objective row has a negative entry, so increasingx will increase z . How much can we increase it? The minimumof the two ratios 15

3/2 = 10 and 351/2 = 70. So x in the entering

variable and u is the departing variable.We scale row one by 2/3 to make it one in the basic column.And we zero out the rest of the column by subtracting half of row1 from row 2, and adding 3 times row 1 to row 3.

x y u v z valuex 1 0 2/3 −1/3 0 10y 0 1 −1/3 2/3 0 30

0 0 2 4 1 380

Page 35: Lesson 31: The Simplex Method, I

x y u v z valuex 1 0 2/3 −1/3 0 10y 0 1 −1/3 2/3 0 30

0 0 2 4 1 380

Now any increase in the decision variables or slack variables wouldresult in a decrease of z . We are done!

Page 36: Lesson 31: The Simplex Method, I

Outline

Setup

Illustrative ProblemSlack Variables

The Simplex Method, By ExampleThe Initial Basic Feasible SolutionCreating a New Tableau

Recap of Steps

Example

Page 37: Lesson 31: The Simplex Method, I

Recap of Steps

1. Set up the initial tableau.

2. Apply the optimality test. If the objective row has no negativeentries in the columns labeled with variables, then theindicated solution is optimal; we can stop.

3. Choose a pivotal column by determining the column with themost negative entry in the objective row. If there are severalcandidates for a pivotal column, choose any one.

4. Choose a pivotal row. Form the ratios of the entries above theobjective row in the rightmost column by the correspondingentries of the pivotal column for those entries in the pivotalcolumn which are positive. The pivotal row is the row forwhich the smallest of these ratios occurs. If there is a tie,choose any one of the qualifying rows. If none of the entriesin the pivotal column above the objective row is positive, theproblem has no finite optimum. We stop.

5. Perform pivotal elimination to construct a new tableau andreturn to Step 2.

Page 38: Lesson 31: The Simplex Method, I

Outline

Setup

Illustrative ProblemSlack Variables

The Simplex Method, By ExampleThe Initial Basic Feasible SolutionCreating a New Tableau

Recap of Steps

Example

Page 39: Lesson 31: The Simplex Method, I

Another Example

Example

Maximize z = 3x1 − x2 + 6x3 subject to the constraints

2x1+4x2+ x3 ≤ 4

−2x1+2x2−3x3 ≥−4

2x1+ x2− x3 ≤ 8

x1 ≥ 0

x2 ≥ 0

x3 ≥ 0.

Negating row two puts this problem into standard form.

Answer.x1 = 0, x2 = 4/7, x3 = 12/7, z = 687.

Page 40: Lesson 31: The Simplex Method, I

Another Example

Example

Maximize z = 3x1 − x2 + 6x3 subject to the constraints

2x1+4x2+ x3 ≤ 4

−2x1+2x2−3x3 ≥−4

2x1+ x2− x3 ≤ 8

x1 ≥ 0

x2 ≥ 0

x3 ≥ 0.

Negating row two puts this problem into standard form.

Answer.x1 = 0, x2 = 4/7, x3 = 12/7, z = 687.

Page 41: Lesson 31: The Simplex Method, I

We insert slack variables u1, u2, and u3.The equations of constraint become

2x1+4x2+ x3+u1 ≤4

2x1−2x2+3x3 +u2 ≤4

2x1+ x2− x3 +u3 ≤8

with all variables nonnegative.


Recommended