Using Spreadsheets for

Linear Programming with

The Simplex Method

A sample
problem
By: Jeffrey Bivin
Lake Zurich High School
Last Updated: October 11, 2005
A landscaper can buy three types of 100-pound bags
of fertilizer, type A, type B, and type C. Each 100-
pound bag of type A fertilizer costs $20 and contains
40 pounds of nitrogen, 30 pounds of phosphoric acid,
and 10 pounds of potash. Each 100-pound bag of
type B fertilizer costs $30 and contains 20 pounds of
nitrogen, 20 pounds of phosphoric acid, and 55
pounds of potash. Each 100-pound bag of type C
fertilizer costs $20 and contains no nitrogen, 30
pounds of phosphoric acid, and 40 pounds of potash.
The landscaper requires 4000 pounds of nitrogen.
2000 pounds of phosphoric acid, and 2000 pounds of
potash. How many bags of each type of fertilizer
should the landscaper buy in order to minimize the
cost? Also, find the minimum cost.
Jeff Bivin -- LZHS
Analyzing the problem
Nitrogen
Phos.
Acid potash
Type A x
1
$20 40 30 10
Type B x
2
$30 20 20 55
Type C x
3
$20 0 30 40
needs 4000 2000 2000
Jeff Bivin -- LZHS
Define the Constraints
40x
1
+ 20x
2
> 4000
30x
1
+ 20x
2
+ 30x
3
> 2000
10x
1
+ 55x
2
+ 40x
3
> 2000
x1 > 0
x2 > 0
x3 > 0
Jeff Bivin -- LZHS
Function to minimize
z = 20x
1
+ 30x
2
+ 20x
3

Jeff Bivin -- LZHS
Initial Tableau
x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000
30 20 30 0 -1 0 0 2000
10 55 40 0 0 -1 0 2000
20 30 20 0 0 0 1 0
Jeff Bivin -- LZHS
Initial Tableau Analysis
Jeff Bivin -- LZHS
A negative basic variable in s
1

leads us to use column x
1
as the pivot column.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000
30 20 30 0 -1 0 0 2000
10 55 40 0 0 -1 0 2000
20 30 20 0 0 0 1 0
Jeff Bivin -- LZHS
A negative basic variable in s
1

leads us to use column x
1
as the pivot column.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000
30 20 30 0 -1 0 0 2000
10 55 40 0 0 -1 0 2000
20 30 20 0 0 0 1 0
s
1
is a basic variable because it has
only one non-zero element in the
column
Jeff Bivin -- LZHS
A negative basic variable in s
1

leads us to use column x
1
as the pivot column.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000
30 20 30 0 -1 0 0 2000
10 55 40 0 0 -1 0 2000
20 30 20 0 0 0 1 0
We use Column x
1
as the pivot column because the 40 in column
x
1
is the left most positive number in the row with the
-1 value (negative basic variable).
Jeff Bivin -- LZHS
Divide the value column by the pivot column.
This adds an additional column at the right.

x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000 100
30 20 30 0 -1 0 0 2000 66.667
10 55 40 0 0 -1 0 2000 200
20 30 20 0 0 0 1 0
Jeff Bivin -- LZHS

66.667 is the lowest non-negative quotient.

x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000 100
30 20 30 0 -1 0 0 2000 66.667
10 55 40 0 0 -1 0 2000 200
20 30 20 0 0 0 1 0
Jeff Bivin -- LZHS

66.667 is the lowest non-negative quotient.
Therefore, 30 is determined to be the pivot point.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000 100
30 20 30 0 -1 0 0 2000 66.667
10 55 40 0 0 -1 0 2000 200
20 30 20 0 0 0 1 0
Jeff Bivin -- LZHS

Determine the row operations:
row1 = 3 x row1 – 4 x row2
row3 = 3 x row3 – row2
row4 = 3 x row4 – 2 x row2

x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000 100
30 20 30 0 -1 0 0 2000 66.667
10 55 40 0 0 -1 0 2000 200
20 30 20 0 0 0 1 0
Jeff Bivin -- LZHS

Perform the row operations to determine Tableau 2
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1=3r1-4r2 0 -20 -120 -3 4 0 0 4000
r2 30 20 30 0 -1 0 0 2000
r3=3r3-r2 0 145 90 0 1 -3 0 4000
r4=3r4-2r2 0 50 0 0 2 0 3 -4000
Jeff Bivin -- LZHS
2
nd
Tableau Analysis
Jeff Bivin -- LZHS
A negative basic variable in s
1

leads us to use column s
2
as the pivot column.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
0 -20 -120 -3 4 0 0 4000
30 20 30 0 -1 0 0 2000
0 145 90 0 1 -3 0 4000
0 50 0 0 2 0 3 -4000
Jeff Bivin -- LZHS

Divide the value column by the pivot column.
This adds an additional column at the right.

x
1
x
2
x
3
s
1
s
2
s
3
z Values
0 -20 -120 -3 4 0 0 4000 1000
30 20 30 0 -1 0 0 2000 -2000
0 145 90 0 1 -3 0 4000 4000
0 50 0 0 2 0 3 -4000
Jeff Bivin -- LZHS

1000 is the lowest non-negative quotient.

x
1
x
2
x
3
s
1
s
2
s
3
z Values
0 -20 -120 -3 4 0 0 4000 1000
30 20 30 0 -1 0 0 2000 -2000
0 145 90 0 1 -3 0 4000 4000
0 50 0 0 2 0 3 -4000
Jeff Bivin -- LZHS

1000 is the lowest non-negative quotient.
Therefore, 4 is determined to be the pivot point.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
0 -20 -120 -3 4 0 0 4000 1000
30 20 30 0 -1 0 0 2000 -2000
0 145 90 0 1 -3 0 4000 4000
0 50 0 0 2 0 3 -4000
Jeff Bivin -- LZHS

Determine the row operations:
row2 = 4 x row2 + row1
row3 = 4 x row3 – row1
row4 = 2 x row4 – row1

x
1
x
2
x
3
s
1
s
2
s
3
z Values
0 -20 -120 -3 4 0 0 4000
30 20 30 0 -1 0 0 2000
0 145 90 0 1 -3 0 4000
0 50 0 0 2 0 3 -4000
Jeff Bivin -- LZHS

Perform the row operations to determine Tableau 3
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1 0 -20 -120 -3 4 0 0 4000
r2=4r2+r1 120 60 0 -3 0 0 0 12000
r3=4r3-r1 0 600 480 3 0 -12 0 12000
r4=2r4-r1 0 120 120 3 0 0 6 -12000
Jeff Bivin -- LZHS
3
rd
Tableau Analysis
Jeff Bivin -- LZHS
A negative basic variable in s
3

leads us to use column x
2
as the pivot column.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1 0 -20 -120 -3 4 0 0 4000
r2=4r2+r1 120 60 0 -3 0 0 0 12000
r3=4r3-r1 0 600 480 3 0 -12 0 12000
r4=2r4-r1 0 120 120 3 0 0 6 -12000
Jeff Bivin -- LZHS
Divide the value column by the pivot column.
This adds an additional column at the right.

x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1 0 -20 -120 -3 4 0 0 4000 -200
r2=4r2+r1 120 60 0 -3 0 0 0 12000 200
r3=4r3-r1 0 600 480 3 0 -12 0 12000 20
r4=2r4-r1 0 120 120 3 0 0 6 -12000
Jeff Bivin -- LZHS

66.667 is the lowest non-negative quotient.

x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1 0 -20 -120 -3 4 0 0 4000 -200
r2=4r2+r1 120 60 0 -3 0 0 0 12000 200
r3=4r3-r1 0 600 480 3 0 -12 0 12000 20
r4=2r4-r1 0 120 120 3 0 0 6 -12000
Jeff Bivin -- LZHS

66.667 is the lowest non-negative quotient.
Therefore, 30 is determined to be the pivot point.
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1 0 -20 -120 -3 4 0 0 4000 -200
r2=4r2+r1 120 60 0 -3 0 0 0 12000 200
r3=4r3-r1 0 600 480 3 0 -12 0 12000 20
r4=2r4-r1 0 120 120 3 0 0 6 -12000
Jeff Bivin -- LZHS

Determine the row operations:
row1 = 30 x row1 + row3
row2 = 10 x row2 – row3
row4 = 5 x row4 – row3
x
1
x
2
x
3
s
1
s
2
s
3
z Values
0 -20 -120 -3 4 0 0 4000
120 60 0 -3 0 0 0 12000
0 600 480 3 0 -12 0 12000
0 120 120 3 0 0 6 -12000
Jeff Bivin -- LZHS

Perform the row operations to determine Tableau 4
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1=30r1+r3 0 0 -3120 -87 120 -12 0 132000
r2=10r2-r3 1200 0 -480 -33 0 12 0 108000
r3 0 600 480 3 0 -12 0 12000
r4=52r4-r3 0 0 120 12 0 12 30 -72000
Jeff Bivin -- LZHS
4
th
Tableau Analysis
Jeff Bivin -- LZHS
Now we can determine the solutions
x
1
x
2
x
3
s
1
s
2
s
3
z Values
0 0 -3120 -87 120 -12 0 132000
1200 0 -480 -33 0 12 0 108000
0 600 480 3 0 -12 0 12000
0 0 120 12 0 12 30 -72000
Basic Variables x
1
, x
2
, and s
2
are all
positive and the bottom row has all
positive variable coefficients
Jeff Bivin -- LZHS

Determining the solutions:
from row 1: s
2
= 132000 / 120 = 1100
from row 2: x
1
= 108000 / 1200 = 90
from row 3: x
2
= 12000 / 600 = 20
from row 4: z = -(-72000 / 30) = 2400
also: x
3
= s
1
= s
3
= 0
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1=30r1+r3 0 0 -3120 -87 120 -12 0 132000
r2=10r2-r3 1200 0 -480 -33 0 12 0 108000
r3 0 600 480 3 0 -12 0 12000
r4=52r4-r3 0 0 120 12 0 12 30 -72000
Jeff Bivin -- LZHS
Results
x
1
= 90
x
2
= 20
x
3
= 0
s
1
= 0
s
2
= 1100
s
3
= 0
z = 2400
Jeff Bivin -- LZHS
Process Complete
Answer the Question
• The minimum cost is $2400 when you order
• 90 bags of type A fertilizer
• 20 bags of type B fertilizer
• 0 bags of type C fertilizer

Jeff Bivin -- LZHS
A Quick Recap
Jeff Bivin -- LZHS
Initial Tableau
x
1
x
2
x
3
s
1
s
2
s
3
z Values
40 20 0 -1 0 0 0 4000 100
30 20 30 0 -1 0 0 2000 66.667
10 55 40 0 0 -1 0 2000 200
20 30 20 0 0 0 1 0
Jeff Bivin -- LZHS

Perform the row operations to determine Tableau 2
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1=3r1-4r2 0 -20 -120 -3 4 0 0 4000 1000
r2 30 20 30 0 -1 0 0 2000 -2000
r3=3r3-r2 0 145 90 0 1 -3 0 4000 4000
r4=3r4-2r2 0 50 0 0 2 0 3 -4000
Jeff Bivin -- LZHS

Perform the row operations to determine Tableau 3
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1 0 -20 -120 -3 4 0 0 4000 -200
r2=4r2+r1 120 60 0 -3 0 0 0 12000 200
r3=4r3-r1 0 600 480 3 0 -12 0 12000 20
r4=2r4-r1 0 120 120 3 0 0 6 -12000
Jeff Bivin -- LZHS

Perform the row operations to determine Tableau 4
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1=30r1+r3 0 0 -3120 -87 120 -12 0 132000
r2=10r2-r3 1200 0 -480 -33 0 12 0 108000
r3 0 600 480 3 0 -12 0 12000
r4=52r4-r3 0 0 120 12 0 12 30 -72000
Jeff Bivin -- LZHS
x
1
x
2
x
3
s
1
s
2
s
3
z Values
r1=30r1+r3 0 0 -3120 -87 120 -12 0 132000
r2=10r2-r3 1200 0 -480 -33 0 12 0 108000
r3 0 600 480 3 0 -12 0 12000
r4=52r4-r3 0 0 120 12 0 12 30 -72000
Determine the solutions from the 4
th
Tableau

from row 1: s
2
= 132000 / 120 = 1100
from row 2: x
1
= 108000 / 1200 = 90
from row 3: x
2
= 12000 / 600 = 20
from row 4: z = -(-72000 / 30) = 2400
also: x
3
= s
1
= s
3
= 0
Jeff Bivin -- LZHS
Process Complete
Answer the Question
• The minimum cost is $2400 when you order
• 90 bags of type A fertilizer
• 20 bags of type B fertilizer
• 0 bags of type C fertilizer

Jeff Bivin -- LZHS