This document provides an overview of solving a linear programming problem using the simplex method. It introduces the initial problem of maximizing an objective function subject to constraints. Slack variables are added to convert inequalities to equalities. There are 10 basic solutions to this problem. The simplex method works by starting at an initial basic feasible solution and traversing the feasible set to adjacent vertices that increase the objective function. Several iterations of the simplex method are worked through as an example, choosing entering and departing variables to move to solutions with higher objective values. The numerical steps of setting up and updating the simplex tableau at each iteration are also demonstrated.
1. Lesson 32 (KH, Section 11.2)
The Simplex Method
Math 20
December 7, 2007
Announcements
Pset 11 due December 11. Pset 12 due December 18.
next PS Sunday 6-7 in SC B-10
2. We are going to solve the linear programming problem of
maximizing
z = 2x1 − 4x2 + 5x3
subject to constraints
3x1 + 2x2 + x3 ≤ 6
3x1 − 6x2 + 7x3 ≤ 9
and x1 , x2 , x3 ≥ 0.
3. Introduce slack variables u1 and u2 and rewrite the LP problem to
replace the inequalities with equalities.
4. Introduce slack variables u1 and u2 and rewrite the LP problem to
replace the inequalities with equalities.
Solution
3x1 +2x3 + x3 +u1 =6
3x1 −6x2 +7x3 +u2 =9
The new constraints are x1 , x2 , x3 , u1 , u2 ≥ 0.
5. How many basic solutions are there to this problem? (Don’t find
them, just count them)
6. How many basic solutions are there to this problem? (Don’t find
them, just count them)
Solution
There are 3 + 2 = 5 variables and 3 of them are decision variables,
so the number of basic solutions is
5
= 10
3
7. Let’s choose x1 = x2 = x3 = 0, u1 = 6, u2 = 9 for our initial basic
solution. Since it’s feasible (all x and u variables are nonnegative),
we know it’s a corner of the feasible set. The geometric idea
behind the simplex method is to traverse the feasible set, moving
at each set to the adjacent vertex which increases the objective
function the most. So let’s find the corners adjacent to (0, 0, 0).
17. Find all basic solutions which are either on the x1 axis
(x2 = x3 = 0), the x2 axis (x1 = x3 = 0), or the x3 axis
(x1 = x2 = 0).
The ones that “count” are the basic solutions which are also
feasible. Find them. You should get three; one on each axis.
Find the value of the objective function on each of these
corners and find which one was biggest. What nonbasic
variable went from zero to positive? What basic variable went
from positive to zero?
18. Now let’s look at the numerical algorithm for the simplex method.
The initial tableau is
x1 x2 x3 u1 u2 z value
u1 3 2 110 0 6
3 −6
u2 701 0 9
−2 4 −5 0 0
z 1 0
Because the variables are x1 , x2 and x3 , we can mentally block out
those columns of the tableau. What’s left are the equations u1 = 6,
u2 = 9, and z = 0.
19. Now let’s look at the numerical algorithm for the simplex method.
The initial tableau is
x1 x2 x3 u1 u2 z value
u1 3 2 110 0 6
3 −6
u2 701 0 9
−2 4 −5 0 0
z 1 0
To go to the next tableau, we need to decide which variable becomes
basic (nonzero) and basic variable becomes zero (nonbasic). The en-
tering variable is the variable in the column with the largest nega-
tive entry in the bottom row. The departing variable is the variable
in the row which has the smallest positive θ-ratio: the “value” col-
umn divided by the column of the new entering variable.
20. Now let’s look at the numerical algorithm for the simplex method.
The initial tableau is
x1 x2 x3 u1 u2 z value
u1 3 2 110 0 6
3 −6
u2 701 0 9
−2 4 −5 0 0
z 1 0
What is the entering variable? What is the departing variable?
21. Now let’s look at the numerical algorithm for the simplex method.
The initial tableau is
x1 x2 x3 u1 u2 z value
u1 3 2 110 0 6
3 −6
u2 701 0 9
−2 4 −5 0 0
z 1 0
What is the entering variable? What is the departing variable?
Solution
x3 is the entering variable and u2 is the departing variable.
22. Now that we’ve decided which variables to swap, we need to alter
the tableau. After mentally blocking out the columns
corresponding to the nonbasic variables, we would like the basic
solution to read off as easily as it did before. That is, we want the
column of the entering variable to be all zero except in one
position where it’s one. Since there is a row being vacated by the
departing variable, we can do row operations so that:
The entry in the column of the entering variable and the row
of the departing variable is one.
All the rest of the entries in the column of the entering
variable are zero.
23. Now that we’ve decided which variables to swap, we need to alter
the tableau. After mentally blocking out the columns
corresponding to the nonbasic variables, we would like the basic
solution to read off as easily as it did before. That is, we want the
column of the entering variable to be all zero except in one
position where it’s one. Since there is a row being vacated by the
departing variable, we can do row operations so that:
The entry in the column of the entering variable and the row
of the departing variable is one.
All the rest of the entries in the column of the entering
variable are zero.
Do the necessary row operations.
24. Tableau
x1 x2 x3 u1 u2 z value
u1 3 2 11 0 0 6
−6
u2 3 70 1 0 9
z −2 4 −5 0 0 1 0
25. Tableau
x1 x2 x3 u1 u2 z value
u1 3 2 11 0 0 6
−6
u2 3 70 1 0 9
z −2 4 −5 0 0 1 0
largest negative
coefficient in ob-
jective row
26. Tableau
entering variable
x1 x2 x3 u1 u2 z value
u1 3 2 11 0 0 6
−6
u2 3 70 1 0 9
z −2 4 −5 0 0 1 0
largest negative
coefficient in ob-
jective row
27. Tableau
entering variable
x1 x2 x3 u1 u2 z value θ
u1 3 2 11 0 0 6 6
9/7
−6
u2 3 70 1 0 9
z −2 4 −5 0 0 1 0
largest negative
coefficient in ob-
jective row
28. Tableau
smallest positive
entering variable
θ-ratio
x1 x2 x3 u1 u2 z value θ
u1 3 2 11 0 0 6 6
9/7
−6
u2 3 70 1 0 9
z −2 4 −5 0 0 1 0
largest negative
coefficient in ob-
jective row
29. Tableau
departing variable smallest positive
entering variable
θ-ratio
x1 x2 x3 u1 u2 z value θ
u1 3 2 11 0 0 6 6
9/7
−6
u2 3 70 1 0 9
z −2 4 −5 0 0 1 0
largest negative
coefficient in ob-
jective row
30. Tableau
departing variable smallest positive
entering variable
θ-ratio
x1 x2 x3 u1 u2 z value θ
u1 3 2 11 0 0 6 6
9/7
−6
u2 3 70 1 0 9
z −2 4 −5 0 0 1 0
make this entry 1
and the rest of its
largest negative
column 0
coefficient in ob-
jective row
31. Tableau
x1 x2 x3 u1 u2 z value
u1 3 2 11 0 0 6
9 ×1/7
−6
u2 3 70 1 0
z −2 4 −5 0 0 1 0
make this entry 1
and the rest of its
column 0
32. Tableau
x1 x2 x3 u1 u2 z value
u1 3 2 11 0 0 6
3/7 −6/7
x3 10 1/7 0 9/7
z −2 4 −5 0 0 1 0
make this entry 1
and the rest of its
column 0
33. Tableau
x1 x2 x3 u1 u2 z value
u1 3 2 11 0 0 6 −1
3/7 −6/7
x3 10 1/7 0 9/7
05
z −2 4 −5 0 0 1
make this entry 1
and the rest of its
column 0
34. Tableau
x1 x2 x3 u1 u2 z value
0 1−
u1 18/7 20/7 1/7 0 33/7
−6/7
x3 3/7 1 0 1/7 0 9/7
z −2 4 −5 0 0 1 0
make this entry 1
and the rest of its
column 0
35. Tableau
x1 x2 x3 u1 u2 z value
0 1−
u1 18/7 20/7 1/7 0 33/7
−6/7
x3 3/7 1 0 1/7 0 9/7
−2/7
z 1/7 0 0 5/7 1 45/7
make this entry 1
and the rest of its
column 0
36. Tableau
x1 x2 x3 u1 u2 z value
0 1−
u1 18/7 20/7 1/7 0 33/7
−6/7
x3 3/7 1 0 1/7 0 9/7
−2/7
z 1/7 0 0 5/7 1 45/7
largest negative
coefficient in ob-
jective row
37. Tableau
entering variable
x1 x2 x3 u1 u2 z value
0 1−
u1 18/7 20/7 1/7 0 33/7
−6/7
x3 3/7 1 0 1/7 0 9/7
−2/7
z 1/7 0 0 5/7 1 45/7
largest negative
coefficient in ob-
jective row
38. Tableau
entering variable
x1 x2 x3 u1 u2 z value θ
0 1−
u1 18/7 20/7 1/7 0 33/7 33/20
−6/7 9/7 −3/2
x3 3/7 1 0 1/7 0
−2/7
z 1/7 0 0 5/7 1 45/7
largest negative
coefficient in ob-
jective row
39. Tableau
smallest positive
θ-ratio
entering variable
x1 x2 x3 u1 u2 z value θ
0 1−
u1 18/7 20/7 1/7 0 33/7 33/20
−6/7 9/7 −3/2
x3 3/7 1 0 1/7 0
−2/7
z 1/7 0 0 5/7 1 45/7
largest negative
coefficient in ob-
jective row
40. Tableau
smallest positive
departing variable θ-ratio
entering variable
x1 x2 x3 u1 u2 z value θ
0 1−
u1 18/7 20/7 1/7 0 33/7 33/20
−6/7 9/7 −3/2
x3 3/7 1 0 1/7 0
−2/7
z 1/7 0 0 5/7 1 45/7
largest negative
coefficient in ob-
jective row
41. Tableau
smallest positive
departing variable θ-ratio
entering variable
x1 x2 x3 u1 u2 z value θ
0 1−
u1 18/7 20/7 1/7 0 33/7 33/20
−6/7 9/7 −3/2
x3 3/7 1 0 1/7 0
−2/7
z 1/7 0 0 5/7 1 45/7
make this entry 1
largest negative
and the rest of its
coefficient in ob-
column 0
jective row
42. Tableau
x1 x2 x3 u1 u2 z value
0 1− 0 33/7 ×7/20
u1 18/7 20/7 1/7
−6/7
x3 3/7 1 0 1/7 0 9/7
−2/7
z 1/7 0 0 5/7 1 45/7
make this entry 1
and the rest of its
column 0
43. Tableau
x1 x2 x3 u1 u2 z value
7/20 −1/20
x2 9/10 1 0 0 33/20
−6/7
x3 3/7 1 0 1/7 0 9/7
−2/7
z 1/7 0 0 5/7 1 45/7
make this entry 1
and the rest of its
column 0
44. Tableau
x1 x2 x3 u1 u2 z value
7/20 −1/20
x2 9/10 1 0 0 33/20 6/7
−6/7
x3 3/7 1 0 1/7 0 9/7
2/7
−2/7
z 1/7 0 0 5/7 1 45/7
make this entry 1
and the rest of its
column 0
45. Tableau
x1 x2 x3 u1 u2 z value
7/20 −1/20
x2 9/10 1 0 0 33/20
x3 6/5 0 1 3/10 1/10 0 27/10
−2/7
z 1/7 0 0 5/7 1 45/7
make this entry 1
and the rest of its
column 0
46. Tableau
x1 x2 x3 u1 u2 z value
7/20 −1/20
x2 9/10 1 0 0 33/20
x3 6/5 0 1 3/10 1/10 0 27/10
z 2/5 0 0 1/10 7/10 1 69/10
47. Tableau
x1 x2 x3 u1 u2 z value
7/20 −1/20
x2 9/10 1 0 0 33/20
x3 6/5 0 1 3/10 1/10 0 27/10
z 2/5 0 0 1/10 7/10 1 69/10
No more negative coefficients.
We are done!
48. Tableau
x1 x2 x3 u1 u2 z value
7/20 −1/20
x2 9/10 1 0 0 33/20
x3 6/5 0 1 3/10 1/10 0 27/10
z 2/5 0 0 1/10 7/10 1 69/10
No more negative coefficients.
We are done!