CH 5 Class 1 OR 4 2024
CH 5 Class 1 OR 4 2024
A Minimization Problem
MIN 2x1 - 3x2 - 4x3
S.T. x1 + x2 + x3 ≤ 30
2x1 + x2 + 3x3 ≥ 60
x1 - x2 + 2x3 = 20
x1, x2, x3 > 0
Standard Form
Tableau Form
1
Khaled Rageh Grade Four OR Ch 5 – class 1
Example: Tableau Form
Simplex Tableau
The simplex tableau is a convenient means for performing the calculations required by the simplex method.
• Step 1: If the problem is a minimization problem, multiply the objective function by -1.
• Step 2: If the problem formulation contains any constraints with negative right-hand sides, multiply each
constraint by -1.
• Step 3: Add a slack variable to each < constraint.
• Step 4: Subtract a surplus variable and add an artificial variable to each > constraint.
• Step 5 Add an artificial variable to each = constraint.
• Step 6: Set each slack and surplus variable's coefficient in the objective function equal to zero.
• Step 7: Set each artificial variable's coefficient in the objective function equal to -M, where M is a very large
number.
• Step 8: Each slack and artificial variable becomes one of the basic variables in the initial basic feasible solution.
✓ For each positive number in the entering column, compute the ratio of the right-hand side values divided by
these entering column values.
✓ If there are no positive values in the entering column, STOP; the problem is unbounded.
✓ Otherwise, select the variable with the minimal ratio. (The leaving row is called the pivot row.)
✓ Divide the pivot row by the pivot element (the entry at the intersection of the pivot row and pivot column)
to get a new row. We denote this new row as (row *).
✓ Replace each non-pivot row i with:
[new row i] = [current row i] - [(aij) x (row *)], where aij is the value in entering column j of row i
2
Khaled Rageh Grade Four OR Ch 5 – class 1
• Step 5: Calculate cj - zj Row for New Tableau
We can avoid introducing artificial variables to the second and third constraints by multiplying each by -1
(making them < constraints). Thus, slack variables s1, s2, and s3 are added to the three constraints.
x1 x2 x3 s1 s2 s3
Basic cB 12 18 10 0 0 0
s1 0 2 3 4 1 0 0 50
s2 0 -1 1 1 0 1 0 0 (*row)
s3 0 0 -1 1.5 0 0 1 0
zj 0 0 0 0 0 0 0
cj - zj 12 18 10 0 0 0
Iteration 1
Take the ratio between the right hand side and positive numbers in the x2 column:
50/3 = 16 2/3
0/1 = 0 minimum
s2 is the leaving variable and the 1 is the pivot element.
3
Khaled Rageh Grade Four OR Ch 5 – class 1
• Step 3: Generate New Tableau
Divide the second row by 1, the pivot element. Call the "new" (in this case, unchanged) row the "
row*".
Subtract 3 x (row*) from row 1.
Subtract -1 x (row*) from row 3.
New rows 1, 2, and 3 are shown in the upcoming tableau.
The new zj row values are obtained by multiplying the cB column by each column, element by element
and summing.
For example, z1 = 5(0) + -1(18) + -1(0) = -18.
The new cj-zj row values are obtained by subtracting zj value in a column from the cj value in the same
column.
For example, c1-z1 = 12 - (-18) = 30.
x1 x2 x3 s1 s2 s3
Basic cB 12 18 10 0 0 0
s1 0 5 0 1 1 -3 0 50 (*row)
s2 18 -1 1 1 0 1 0 0
s3 0 -1 0 2.5 0 1 1 0
zj -18 18 18 0 18 0 0
cj - zj 30 0 -8 0 -18 0
Iteration 2
Take the ratio between the right hand side and positive numbers in the x1 column:
50/5 = 10 minimum
There are no ratios for the second and third rows because their column elements (-1) are negative.
Thus, s1 (corresponding to row 1) is the leaving variable and 5 is the pivot element.
Divide row 1 by 5, the pivot element. (Call this new row 1 the "row* ").
Subtract (-1) x (row* ) from the second row.
Subtract (-1) x (row* ) from the third row.
The new zj row values are obtained by multiplying the cB column by each column, element by element
and summing.
For example, z3 = .2(12) + 1.2(18) + .2(0) = 24.
4
Khaled Rageh Grade Four OR Ch 5 – class 1
• Step 5: Calculate cj - zj Row for New Tableau
The new cj-zj row values are obtained by subtracting zj value in a column from the cj value in the
same column.
For example, c3-z3 = 10 - (24) = -14.
Since there are no positive numbers in the cj - zj row, this tableau is optimal.
The optimal solution is: x1 = 10; x2 = 10; x3 = 0; s1 = 0; s2 = 0 s3 = 10, and the optimal value of the
objective function is 300.
x1 x2 x3 s1 s2 s3
Basic cB 12 18 10 0 0 0
s1 0 5 0 1 1 -3 0 50 (*row)
s2 18 -1 1 1 0 1 0 0
s3 0 -1 0 2.5 0 1 1 0
zj -18 18 18 0 18 0 0
cj - zj 30 0 -8 0 -18 0
Special Cases
Infeasibility
Unboundedness
Alternative Optimal Solution
Degeneracy
Infeasibility
Example:
• LP Formulation
• Final Tableau
x1 x2 s1 s2 a2
Basic cB 2 6 0 0 -M
s1 2 1 3/4 1/4 0 0 3
a2 -M 0 -1/2 -1/2 -1 1 2
zj 2 (1/2)M (1/2)M M -M -2M
+3/2 +1/2 +6
cj - zj 0 -(1/2)M -(1/2)M -M 0
+9/2 +1/2
In the previous slide we see that the tableau is the final tableau because all cj - zj < 0. However, an artificial
variable is still positive, so the problem is infeasible.
5
Khaled Rageh Grade Four OR Ch 5 – class 1
Unboundedness
• A linear program has an unbounded solution if all entries in an entering column are non-positive.
Example:
• LP Formulation
MAX 2x1 + 6x2
S. T. 4x1 + 3x2 > 12
2x1 + x2 > 8
x1, x2 > 0
• Final Tableau
x1 x2 s1 s2
Basic cB 3 4 0 0
x2 4 3 1 0 -1 8
s1 0 2 0 1 -1 3
zj 12 4 0 -4 32
cj - zj -9 0 0 4
In the previous slide we see that c4 - z4 = 4 (is positive), but its column is all non-positive.
This indicates that the problem is unbounded.
• A linear program has alternate optimal solutions if the final tableau has a cj - zj value equal to 0 for a non-
basic variable.
Example:
• Final Tableau
x1 x2 x3 s1 s2 s3 s4
Basic cB 2 4 6 0 0 0 0
s3 0 0 0 2 4 -2 1 0 8
x2 4 0 1 2 2 -1 0 0 6
x1 2 1 0 -1 1 2 0 0 4
s4 0 0 0 1 3 2 0 1 12
zj 2 4 6 10 0 0 0 32
cj - zj 0 0 0 -10 0 0 0
x1 = 4, x2 = 6, x3 = 0, and z = 32
6
Khaled Rageh Grade Four OR Ch 5 – class 1
Note that x3 is non-basic and its c3 - z3 = 0. This 0 indicates that if x3 were increased, the value of the objective
function would not change.
Another optimal solution can be found by choosing x3 as the entering variable and performing one iteration of the
simplex method.
The new tableau on the next slide shows an alternative optimal solution is:
x1 = 7, x2 = 0, x3 = 3, and z = 32
• New Tableau
x1 x2 x3 s1 s2 s3 s4
Basic cB 2 4 6 0 0 0 0
s3 0 0 -1 0 2 -1 1 0 2
x2 6 0 .5 1 1 -.5 0 0 3
x1 2 1 .5 0 2 1.5 0 0 7
s4 0 0 -.5 0 2 2.5 0 1 9
zj 2 4 6 10 0 0 0 32
cj - zj 0 0 0 -10 0 0 0
Degeneracy
• A degenerate solution to a linear program is one in which at least one of the basic variables equals 0.
• This can occur at formulation or if there is a tie for the minimizing value in the ratio test to determine the
leaving variable.
• When degeneracy occurs, an optimal solution may have been attained even though some cj – zj > 0.
• Thus, the condition that cj – zj < 0 is sufficient for optimality, but not necessary.
7
Khaled Rageh Grade Four OR Ch 5 – class 1
S.T.
4X1 + 2X2 ≤ 60
Regular Constraints
2X1 + 4X2 ≤ 48
Required:
Solve this Linear Programing problem using the Simplex Method.
Sol:
Max P = 8 X1 + 6 X2 + 0 S1 + 0 S2
S.T.
4 X1 + 2 X2 + S1 = 60
2 X1 + 4 X2 + S2 = 48
8
Khaled Rageh Grade Four OR Ch 5 – class 1
9
Khaled Rageh Grade Four OR Ch 5 – class 1
10