CH18 Simplex-Based Sensitivity Analysis and Duality
CH18 Simplex-Based Sensitivity Analysis and Duality
CH18 Simplex-Based Sensitivity Analysis and Duality
An Introduction to
Management Science, 15e
Quantitative Approaches to Decision Making
Chapter 18: Simplex-Based Sensitivity Analysis and Duality
2
Sensitivity Analysis with the Simplex Tableau
3
1. The Range of Optimality For Objective
Function Coefficients (1 of 18)
Sensitivity analysis for an objective function coefficient
involves placing a range on the coefficient’s value. We call this
range the range of optimality.
As long as the actual value of the objective function coefficient
is within the range of optimality, the current basic feasible
solution will remain optimal.
The range of optimality for a basic variable defines the
objective function coefficient values for which that variable will
remain part of the current optimal basic feasible solution. The
range of optimality for a nonbasic variable defines the
objective function coefficient values for which that variable will
remain nonbasic.
4
1. The Range of Optimality For Objective Function
Coefficients (2 of 18)
In computing the range of optimality for an objective function
coefficient, all other coefficients in the problem are assumed to
remain at their original values; in other words, only one
coefficient is allowed to change at a time.
5
1. The Range of Optimality For Objective
Function Coefficients (3 of 18)
To illustrate the process of computing ranges for objective
function coefficients, recall the HighTech Industries problem
introduced in Chapter 17. The linear program for this problem
is restated as follows:
Max 50𝑥1 + 40𝑥2
s.t.
3𝑥1 + 5𝑥2 ≤ 150 Assembly time
1𝑥2 ≤ 20 Portable display
8𝑥1 + 5𝑥2 ≤ 300 Warehouse capacity
𝑥1 , x2 , ≥ 0
where
𝑥1 = number of units of the Deskpro
𝑥2 = number of units of the Portable
6
1. The Range of Optimality For Objective Function
Coefficients (4 of 18)
The final simplex tableau for the HighTech problem is as
follows:
7
1. The Range of Optimality For Objective Function
Coefficients (5 of 18)
When the simplex method is used to solve a linear program,
an optimal solution is recognized when all entries in the
net evaluation row (cj − zj) ≤ 0.
However, if a change in one of the objective function
coefficients were to cause one or more of the cj − zj values
to become positive, then the current solution would no
longer be optimal; in such a case, one or more additional
simplex iterations would be necessary to find the new
optimal solution.
The range of optimality for an objective function coefficient
is determined by those coefficient values that maintain
for all values of j.
8
1. The Range of Optimality For Objective Function
Coefficients (6 of 18)
To compute the range of optimality for c1, the profit
contribution per unit of the Deskpro. Using c1 (instead of 50)
as the objective function coefficient of x1, the final simplex
tableau is as follows:
9
1. The Range of Optimality For Objective Function
Coefficients (7 of 18)
To compute the range of optimality for c1, the profit
contribution per unit of the Deskpro. Using c1 (instead of 50)
as the objective function coefficient of x1, the final simplex
tableau is as follows:
10
1. The Range of Optimality For Objective Function
Coefficients (8 of 18)
This tableau is the same as the previous except that c1 replaces
50. Thus, we have a c1 in the objective function coefficient row
and the cB column, and the zj and cj − zj rows have been
recomputed using c1 instead of 50. The current solution will
remain optimal as long as the value of c1 results in all cj − zj ≤ 0.
11
1. The Range of Optimality For Objective Function
Coefficients (9 of 18)
This tableau is the same as the previous except that c1 replaces
50. Thus, we have a c1 in the objective function coefficient row
and the cB column, and the zj and cj − zj rows have been
recomputed using c1 instead of 50. The current solution will
remain optimal as long as the value of c1 results in all cj − zj ≤ 0.
12
1. The Range of Optimality For Objective Function
Coefficients (10 of 18)
To see how management of HighTech can make use of this
sensitivity analysis information, suppose an increase in
material costs reduces the profit contribution per unit for the
Deskpro to $30. The range of optimality indicates that the
current solution (x1 = 30, x2 = 12, s1 = 0, s2 = 8, s3 = 0) is still
optimal.
13
1. The Range of Optimality For Objective Function
Coefficients (11 of 18)
To verify this solution, let us recompute the final simplex
tableau after reducing the value of c1 to 30.
14
1. The Range of Optimality For Objective Function
Coefficients (12 of 18)
To verify this solution, let us recompute the final simplex
tableau after reducing the value of c1 to 30.
Because cj − zj ≤ 0 for all variables, the solution with x1 = 30, x2 = 12, s1 = 0, s2 = 8, and s3 = 0
is still optimal. That is, the optimal solution with c1 = 30 is the same as the optimal solution
with c1 = 50. Note, however, that the decrease in profit contribution per unit of the Deskpro
has caused a reduction in total profit from $1980 to $1380.
15
1. The Range of Optimality For Objective Function
Coefficients (13 of 18)
What if the profit contribution per unit were reduced even further—say, to $20?
Note that c1 = 20 is outside the range of optimality; thus, we know that a change
this large will cause a new basis to be optimal. To verify this new basis, we
have modified the final simplex tableau by replacing c1 by 20.
16
1. The Range of Optimality For Objective Function
Coefficients (14 of 18)
What if the profit contribution per unit were reduced even further—say, to $20?
Note that c1 = 20 is outside the range of optimality; thus, we know that a change
this large will cause a new basis to be optimal. To verify this new basis, we
have modified the final simplex tableau by replacing c1 by 20.
17
1. The Range of Optimality For Objective Function
Coefficients (15 of 18)
The procedure we used to compute the range of optimality for c1
can be used for any basic variable.
18
1. The Range of Optimality For Objective Function
Coefficients (16 of 18)
To illustrate the approach, we show the following final simplex
tableau for the original HighTech problem after replacing 0, the
objective function coefficient for s1, with the coefficient cs1:
19
1. The Range of Optimality For Objective Function
Coefficients (17 of 18)
Note that the only changes in the tableau are in the s1
column. Computing the range of optimality, we get cs1 ≤ 14/5.
As long as the objective function coefficient for s1 is less than
or equal to 14/5, the current solution will be optimal.
The same approach works for all nonbasic variables.
In a maximization problem, the range of optimality has no
lower limit, and the upper limit is given by zj. Thus, the range
of optimality for the objective function coefficient of any
nonbasic variable is given by
cj ≤ zj
20
1. The Range of Optimality For Objective Function
Coefficients (18 of 18)
Steps to Compute the Range of Optimality
Step 1. Replace the numerical value of the objective function coefficient for xk
with ck everywhere it appears in the final simplex tableau.
Step 2. Recompute cj − zj for each nonbasic variable (if xk is a nonbasic
variable, it is only necessary to recompute ck − zk).
Step 3. Requiring that cj − zj ≤ 0, solve each inequality for any upper or lower
bounds on ck. If two or more upper bounds are found for ck, the
smallest of these is the upper bound on the range of optimality. If two
or more lower bounds are found, the largest of these is the lower
bound on the range of optimality.
Step 4. If the original problem is a minimization problem that was converted
to a maximization problem in order to apply the simplex method,
multiply the inequalities obtained in step 3 by −1, and change the
direction of the inequalities to obtain the ranges of optimality for the
original minimization problem.
21
2. Right-hand-side Values
In many linear programming problems, we can interpret the right-hand-
side values (the bi’s) as the resources available.
For example, in the HighTech Industries problem, the right-hand side of
constraint 1 represents the available assembly time, the right-hand side of
constraint 2 represents the available Portable displays, and the right-hand
side of constraint 3 represents the available warehouse space.
Max 50𝑥1 + 40𝑥2
s.t.
3𝑥1 + 5𝑥2 ≤ 150 Assembly time
1𝑥2 ≤ 20 Portable display
8𝑥1 + 5𝑥2 ≤ 300 Warehouse capacity
𝑥1 , x2 , ≥ 0
22
2.1 Dual Prices (1 of 7)
23
2.1 Dual Prices (2 of 7)
The zj values for the three slack variables are 14/5, 0, and 26/5,
respectively. The dual prices for the assembly time constraint, Portable
display constraint, and warehouse capacity constraint are, respectively,
14/5 = $2.80, 0.00, and 26/5 = $5.20. The dual price of $5.20 shows that
more warehouse space will have the biggest positive impact on
HighTech’s profit.
24
2.1 Dual Prices (3 of 7)
• To see why the zj values for the slack variables in the final simplex tableau are
the dual prices, let us first consider the case for slack variables that are part of
the optimal basic feasible solution.
• Each of these slack variables will have a zj value of zero, implying a dual price
of zero for the corresponding constraint.
• For example, consider slack variable s2, a basic variable in the HighTech
problem. Because s2 = 8 in the optimal solution, HighTech will have eight
Portable display units unused.
• Consequently, how much would management of HighTech Industries be
willing to pay to obtain additional Portable display units?
• Clearly the answer is nothing because at the optimal solution HighTech has
an excess of this particular component.
• Additional amounts of this resource are of no value to the company, and,
consequently, the dual price for this constraint is zero.
• In general, if a slack variable is a basic variable in the optimal solution,
the value of zj—and hence, the dual price of the corresponding
resource—is zero.
25
2.1 Dual Prices (4 of 7)
Consider the nonbasic slack variables—for example, s1.
We determined that the current solution will remain optimal as long
as the objective function coefficient for s1 (denoted cs1) stays in the
following range: cs1 ≤ 14/5.
It implies that the variable s1 should not be increased from its current
value of zero unless it is worth more than 14/5 = $2.80 to do so.
We can conclude then that $2.80 is the marginal value to HighTech
of 1 hour of assembly time used in the production of Deskpro and
Portable computers.
Thus, if additional time can be obtained, HighTech should be willing
to pay up to $2.80 per hour for it. A similar interpretation can be given
to the zj value for each of the nonbasic slack variables.
26
2.1 Dual Prices (5 of 7)
27
2.1 Dual Prices (6 of 7)
28
2.1 Dual Prices (7 of 7)
29
2.2. Range of Feasibility (1 of 8)
30
2.2. Range of Feasibility (2 of 8)
31
2.2. Range of Feasibility (3 of 8)
The same basis, consisting of the basic variables x2, s2, and
x1, is feasible because all the basic variables are
nonnegative. Note also that, just as we predicted using the
dual price, the value of the optimal solution has increased by
10($2.80) = $28, from $1980 to $2008.
You may wonder whether we had to re-solve the problem
completely to find this new solution. The answer is no!
The only changes in the final simplex tableau (as compared
with the final simplex tableau with b1 = 150) are the
differences in the values of the basic variables and the value
of the objective function. That is, only the last column of the
simplex tableau changed.
32
2.2. Range of Feasibility (4 of 8)
33
2.2. Range of Feasibility (4 of 8)
34
2.2. Range of Feasibility (5 of 8)
35
2.2. Range of Feasibility (6 of 8)
36
2.2. Range of Feasibility (7 of 8)
39
2.2. Range of Feasibility (8 of 8)
The procedure for determining the range of feasibility for the right-
hand-side value of a ≥ constraint.
Changes that force bi outside its range of feasibility will force us to re-solve the problem to
find the new optimal solution consisting of a different set of basic variables.
40
DUALITY ثنائية-( ازدواجية1 of 5)
41
DUALITY ثنائية-( ازدواجية2 of 5)
42
DUALITY ثنائية-( ازدواجية3 of 5)
Primal Problem Dual Problem
43
DUALITY ثنائية-( ازدواجية4 of 5)
The HighTech dual problem
With three variables in the dual, we will use the
simplex method. After subtracting surplus
variables s1 and s2 to obtain the standard form,
adding artificial variables a1 and a2 to obtain
the tableau form, and multiplying the objective
function by -1 to convert the dual problem to
an equivalent maximization problem, we arrive
at the following initial simplex tableau.
44
DUALITY ثنائية-( ازدواجية5 of 5)
The final simplex tableau for the The final simplex tableau for the
dual HighTech Industries problem original (primal) HighTech
is: Industries problem is
45
Economic Interpretation of the Dual Variables (1 of 4)
The meaning or interpretation of the dual variables u1, u2, and u3:
u1 is associated with the assembly time constraint, u2 with the
Portable display constraint, and u3 with the warehouse space
constraint.
At the optimal solution, the primal objective function results in
50x1+ 40x2 = 1980
With x1 and x2 as the number of units of the Deskpro and the
Portable that are assembled respectively, we have
46
Economic Interpretation of the Dual Variables (2 of 4)
47
Economic Interpretation of the Dual Variables (3 of 4)
For the HighTech dual problem, The values of the dual variables at
the optimal solution are u1= ¹⁴⁄₅ =2.80, u2= 0, and u3= ²⁶⁄₅ = 5.20.
For this maximization problem, the values of the dual variables
and the dual prices are the same.
For a minimization problem, the dual prices and the dual
variables are the same in absolute value but have opposite signs.
Thus, the optimal values of the dual variables identify the dual
prices of each additional resource or input unit at the optimal
solution.
48
Economic Interpretation of the Dual Variables (4 of 4)
49
Using the Dual to Identify the Primal Solution (1 of 2)
Property 2
Given the simplex tableau corresponding to the optimal dual
solution,
• the optimal values of the primal decision variables (x1, x2, …, xn)
are given by the z entries for the surplus variables;
j
• the optimal values of the primal slack variables (s1, s2, …, sn) are
given by the negative of the c - z entries for the u variables.
j j j
50
Using the Dual to Identify the Primal Solution (2 of 2)
Example: Use the final simplex tableau for the dual of the
HighTech problem
The optimal primal solution of x1 =30 units of the Deskpro and x2 = 12 units of
the Portable. s1 = 0 , s2 = - (-8) = 8, and sn = 0
These optimal values of x1 and x2, as well as the values for all primal slack
variables, are given in the zj and cj - zj rows of the final simplex tableau of the
dual problem.
51
Finding the Dual of Any Primal Problem (1 of 3)
52
Finding the Dual of Any Primal Problem (2 of 3)
• Find the dual of the following minimization problem:
For this minimization problem, to obtain the canonical form convert all
constraints to ≥ form.
• Convert constraint 1 to ≥ form by multiplying both sides of the inequality by (-1).
• Constraint 3 is an equality constraint. For an equality constraint, we first create
two inequalities: one with ≥ form, the other with ≤ form.
53
Finding the Dual of Any Primal Problem (2 of 3)
• Find the dual of the following minimization problem:
For this minimization problem, to obtain the canonical form convert all
constraints to ≥ form.
• Convert constraint 1 to ≥ form by multiplying both sides of the inequality by (-1).
• Constraint 3 is an equality constraint. For an equality constraint, we first create
two inequalities: one with ≥ form, the other with ≤ form.
54
Finding the Dual of Any Primal Problem (3 of 3)
The original primal problem has been With the primal problem now in canonical
restated in the following equivalent form for a minimization problem, convert
form: it to the dual problem using the primal-
dual procedure. The dual becomes
The equality constraint required two constraints, the dual variables associated with
these constraints are 𝑢3′ and 𝑢3" . 𝑢3′ and 𝑢3" both refer to the third constraint in the
initial primal problem. The dual variable for the equality constraint 6x1 - 1x2 = 10 is
given by the value of (𝑢3′ - 𝑢3" ) in the optimal solution to the dual. Hence, the dual
variable for an equality constraint can be negative.
Note that the right-hand side of the second constraint is negative. Thus, we must multiply both sides of the constraint by -1 to
obtain a positive value for the right-hand side before attempting to solve the problem with the simplex method. 55
End of Presentation: Chapter 18
56