PRELIM L3 LinearProgramming SimplexMaximizationMethod
PRELIM L3 LinearProgramming SimplexMaximizationMethod
PRELIM
LESSON 3: THE SIMPLEX MAXIMIZATION METHOD OF LINEAR PROGRAMMING
Lesson Objectives: At the end of the lesson, you will be able to:
• Define the simplex method of Linear Programming
• Enumerate the steps in simplex maximization method of linear programming
• Set up correctly the objective function and the constraints from given word problems
• Define and discuss all the elements in the simplex maximization table in terms of their significance
to the problem statement and problem solution
• Solve maximization problems using simplex method and interpret solutions
Discussion/Application:
The simplex method of linear programming was developed by George B. Dantzig of Stanford
University. It is a repetitive optimizing technique. It repeats the process of mathematically moving from
an extreme point to another extreme point (in the graphical method) until an optimal solution is reached.
Unlike the graphical, the simplex method can handle an infinite number of variables.
NOTE: The method of solving a maximization problem is different from minimization in the simplex
method.
4𝑥 + 2𝑦 ≤ 60
Subject to: } 𝑒𝑥𝑝𝑙𝑖𝑐𝑖𝑡 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠
2𝑥 + 4𝑦 ≤ 48
𝑥≥0
} 𝑖𝑚𝑝𝑙𝑖𝑐𝑖𝑡 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠
𝑦≥0
Initial Table
The initial table contains the coefficients of the objective in the Cj row. Note that the slack
variables do not contribute any profit, hence they have zero coefficients in the objective. The second row
is composed of the product, quantity (or constant) column and solution variables.
The initial table should begin with zero contributions to profit, entered in the Cj column. Since
the corresponding variables (with zero profit contribution) are S1 and S2, then these variables should be
the ones entered in the product column.
We must add two more rows in the table, the Zj and Cj – Zj rows. Zj row is obtained by
multiplying the profit contribution in Cj column by each of the coefficients in the constraints, then add
their products. Hence:
0(30 2 1 1 0) = 0 0 0 0 0
0(24 1 2 0 1) = 0 0 0 0 0
𝑍𝑗 = 0 0 0 0 0
To compute for Cj – Zj row, subtract the entries in Zj row from Cj row entries.
80 60 0 0
− (0 0 0 0)
Cj – Zj = 80 60 0 0
The column containing the greatest positive entry in the Cj – Zj is the optimum column. In our
table, 80 is the greatest positive, hence we encircle the column. If we divide 30 and 24 by 2 and 1
respectively, 30÷2 has a smaller quotient, hence the first constraint row is the pivotal row.
Initial Table with the indicated optimum column and pivotal row
The variable found at the top of the optimum column should be the entering or incoming variable
and the variable to the left of the pivotal row is the outgoing variable. The entry encircled is called the
pivot.
The Second Table
The pivotal row entries should be divided by 2, the pivot, in order to change the pivot to 1. (30
1 1
2 1 1 0) ÷ 2 = 15 1 2 2 0. The result is called the replacing row and should be the row to be
entered first in the second table.
The second constraint row or S2 row is the row to be replaced. Since the numeral found below the
pivot is 1 (in the old row) we must multiply the replacing row by -1, (additive inverse of 1) and add the
result to the row to be replaced in order that the entry below the pivot becomes zero. Hence:
Computing for S2 row:
Table 2 (with the new entries in the S2 row)
Cj 80 60 0 0
Prod Qty x y S1 S2
80 x 15 1 1 1 0
2 2
0 S2 9 0 3 −1 1
2 2
Zj
Cj - Zj
1 1 3 −1
To compute for Zj row, multiply 80 by (15 1 2 2
0) and multiply 0 by (9 0 2 2
1) then
add the results. Hence:
Prod Qty x y S1 S2
80 x 15 1 1 1 0
2 2
0 S2 9 0 3 −1 1
2 2
Zj 1200 80 40 40 0
Cj - Zj
Cj 80 60 0 0
Prod Qty x y S1 S2
80 x 15 1 1 1 0
2 2
0 S2 9 0 3 −1 1
2 2
Zj 1200 80 40 40 0
Cj - Zj 0 20 -40 0
Table 2
1 3 3
Divide 15 by 2 and 9 by 2 to locate the pivotal row. Since the lower quotient is 9 ÷ 2 = 6 so, the
3
second constraint row or S2 row is the pivotal row and 2 is the pivot.
Again the variable above the optimum column is the entering variable and the variable to the left
3
of the pivotal row is the outgoing variable. We now reduce the pivot to 1 by diving the pivotal row by 2 .
3 −1 3 −1 2
(9 0 2 2
1) ÷ 2 = 6 0 1 3 3
Table 3 (with the replacing row)
1
The row to be replaced is the x-row. The entry to be reduced to zero is 2 (in the old row).
Solving for the new entries in the x-row:
−1
6( 2 ) + 15 = 12
−1
0( 2 ) + 1 = 1
−1 1
1( 2 ) + 2 = 0
−1 −1 1 4 2
( )+ = 𝑜𝑟
3 2 2 6 3
2 −1 −1
( )+0
3 2
= 3
Cj 80 60 0 0
Prod Qty x y S1 S2
80 x 12 1 0 2 −1
3 3
60 y 6 0 1 −1 2
3 3
Zj 1320 80 60 100 40
3 3
Cj - Zj 0 0 −100 −40
3 3
Table 2
Table 3
Solution:
The new program with slack variables after reducing the constraints:
Maximize: 𝑍 = 50𝑥1 + 100𝑥2 + 150𝑥3 + 0𝑆1 + 0𝑆2 + 0𝑆3
Subject to: 𝑥1 + 𝑥2 + 𝑆1 = 100
𝑥3 + 𝑆2 = 50
𝑥1 + 𝑥3 + 𝑆3 = 150
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0
𝑆1 ≥ 0, 𝑆2 ≥ 0, 𝑆3 ≥ 0
Table 1
After encircling the column containing the most positive entry in the last row, look for the pivotal
row by dividing 50 by 1 and 150 by 1 and get the lower quotient. We do not include 100 divided by 0
because it is a rule that the divisor must be non-zero and non-negative, in looking for the pivotal row.
Since the pivot now is already 1, the pivotal row is also the replacing row in the second table, but
the entering variable should appear at the left side along the product column.
The S1 row need not change because its entry along the optimum column is already zero. Computing for
the new entry in the S3 row:
Table 2 (with complete entries)
Table 3
Decision: X1 = 0, X2 = 100, X3 = 50
Maximum: 17500
Example:
Maximize: 50𝑋1 +20𝑋2
Subject to: 𝑋1 ≤ 20
𝑋2 ≤ 30
𝑋1 +𝑋2 ≥ 48
𝑋1 ≥ 0, 𝑋2 ≥0
Solution:
Multiplying the third constraint by -1:
(𝑋1 +𝑋2 ≥ 48)(−1)
Gives −𝑋1 −𝑋2 ≤ −48
Table 1
Table 2
S2 entries need not change, since the entry below the pivot is already 0. Computing for S3 row:
20(1) + (−48) = −28
1(1) + (−1) = 0
0(1) + (−1) = −1
1(1) + 0 = 1
0(1) + 0 = 0
0(1) + 1 = 1
An easy computation for the new S3 row is just to add the pivotal row (or S1 row) and the S3 row of Table
1.
Decision:
X1 = 20
X2 = 30
Maximum: 1600
(This can be checked by the graphical method).
Summary of Tables
Cj 50 20 0 0 0
Prod Qty X1 X2 S1 S2 S3
0 S1 20 1 0 1 0 0
0 S2 30 0 1 0 1 0
Table 1 0 S3 -48 -1 -1 0 0 1
Zj 0 0 0 0 0 0
Cj – Zj 50 20 0 0 0
50 X1 20 1 0 1 0 0
0 S2 30 0 1 0 1 0
Table 2 0 S3 -28 0 -1 1 0 1
Zj 1000 50 0 50 0 0
Cj – Zj 0 20 -50 0 0
50 X1 20 1 0 1 0 0
20 X2 30 0 1 0 1 0
Table 3 0 S3 2 0 0 1 1 1
Zj 1600 50 20 50 20 0
Cj – Zj 0 0 -50 -20 0
Maximization Problems Containing the “Equal” Symbol in the Constraints:
Rule: Add a slack variable to the left member of the constraint containing the equal symbol.
In an equality constraint, the slack variable will have a value equal to the constant if the solution
variables are zero.
Example:
Maximize: 5𝑋1 +4𝑋2
Subject to: 2𝑋1 +𝑋2 = 12
2𝑋1 +3𝑋2 ≤ 24
2𝑋1 +9𝑋2 ≥ 36
𝑋1 ≥ 0, 𝑋2 ≥0
Solution:
The new program with slack variables:
Maximize: 5𝑋1 +4𝑋2 + 0𝑆1 + 0𝑆2 + 0𝑆3
Subject to: 2𝑋1 +𝑋2 + 𝑆1 = 12
2𝑋1 +3𝑋2 + 𝑆2 = 24
−2𝑋1 −9𝑋2 + 𝑆3 = −36
𝑋1 ≥ 0, 𝑋2 ≥ 0, 𝑆1 ≥ 0, 𝑆2 ≥ 0, 𝑆3 ≥ 0
6(−2) + 24 = 12
1(−2) + 2 = 0
1
(−2) + 3 = 2
2
1
(−2) + 0 = −1
2
0(−2) + 1 = 1
0(−2) + 0 = 0
Decision:
𝑋1 = 3; 𝑋2 = 6
Maximum: 39
Summary of Tables
Cj 5 4 0 0 0
Prod Qty X1 X2 S1 S2 S3
0 S1 12 2 1 1 0 0
0 S2 24 2 3 0 1 0
Table 1 0 S3 -36 -2 -9 0 0 1
Zj 0 0 0 0 0 0
Cj – Zj 5 4 0 0 0
5 X1 6 1 1 1 0 0
2 2
0 S2 12 0 2 -1 1 0
0 S3 -24 0 -8 1 0 1
Table 2
Zj 30 5 5 5 0 0
2 2
Cj – Zj 0 1 −5 0 0
1
2 2
5 X1 3 1 0 3 −1 0
4 4
4 X2 6 0 1 −1 1 0
2 2
Table 3 0 S3 24 0 0 -3 4 1
Zj 39 5 4 7 3 0
4 4
Cj – Zj 0 0 −7 −3 0
4 4