CH18 Simplex-Based Sensitivity Analysis and Duality

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

Anderson Sweeney Williams Camm Cochran Fry Ohlmann

An Introduction to
Management Science, 15e
Quantitative Approaches to Decision Making
Chapter 18: Simplex-Based Sensitivity Analysis and Duality

18.1 – Sensitivity Analysis with the Simplex Tableau


18.2 – Duality

2
Sensitivity Analysis with the Simplex Tableau

Sensitivity analysis can be defined as the study of how


the changes in the coefficients of a linear program affect
the optimal solution.
In this chapter we discuss how sensitivity analysis
information such as:
• the ranges for the objective function coefficients,
• dual prices ‫ أسعار مزدوجة‬for each constraint, and
• the ranges for the right-hand-side values
can be obtained from the final simplex tableau.
The topic of duality is also introduced. We will see that
associated with every linear programming problem is a dual
problem that has an interesting economic interpretation.

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.

Therefore the range of optimality is

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.

Therefore the range of optimality is 24 ≤ c1 ≤ 64.

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.

the range of optimality is 24 ≤ c1 ≤ 64

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.

As expected, the current solution (x1 = 30, x2 = 12, s1 = 0, s2 = 8, and s3 = 0) is no longer


optimal because the entry in the s3 column of the net evaluation row is > zero. This result
implies that at least one more simplex iteration must be performed to reach the optimal solution.

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.

The procedure for computing the range of optimality for nonbasic


variables is even easier because a change in the objective
function coefficient for a nonbasic variable causes only the
corresponding cj − zj entry to change in the final simplex tableau.

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

Dual prices provide information on the value of additional resources in


these cases; the ranges over which these dual prices are valid are given
by the ranges for the right-hand-side values.

22
2.1 Dual Prices (1 of 7)

The improvement in the value of the optimal solution per unit


increase in a constraint’s right-hand-side value is called a dual
price.

When the simplex method is used to solve a linear


programming problem, the values of the dual prices are easy
to obtain. They are found in the zj row of the final simplex
tableau.

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)

To summarize, when the simplex method is used to solve a


linear programming problem, the dual prices for the
constraints are contained in the final simplex tableau.

For determining the dual prices for the various constraint


types in a maximization problem solved by the simplex
method.

27
2.1 Dual Prices (6 of 7)

To illustrate the approach for computing dual prices for a


minimization problem, recall the M&D Chemicals problem
that we solved as an equivalent maximization problem by
multiplying the objective function by −1. The linear
programming model for this problem and the final simplex
tableau are restated as follows, with x1 and x2 representing
manufacturing quantities of products A and B, respectively.

28
2.1 Dual Prices (7 of 7)

Constraint 1 is not binding, and its dual price is zero.


The dual price for constraint 2 shows that the marginal cost
of increasing the total production requirement is $4 per unit.
Finally, the dual price of one for constraint 3 shows that the
per-unit value of additional processing time is $1.

29
2.2. Range of Feasibility (1 of 8)

The zj row in the final simplex tableau can be used to


determine the dual price and, as a result, predict the change
in the value of the objective function corresponding to a unit
change in a bi.
This interpretation is only valid, however, as long as the
change in bi is not large enough to make the current basic
solution infeasible. Thus, we will be interested in calculating a
range of values over which a particular bi can vary without
any of the current basic variables becoming infeasible
(i.e., ≤ zero). This range of values will be referred to as the
range of feasibility.

30
2.2. Range of Feasibility (2 of 8)

To demonstrate the effect of changing a bi, consider increasing the amount


of assembly time available in the HighTech problem from 150 to 160
hours. Will the current basis still yield a feasible solution? If so, given the
dual price of $2.80 for the assembly time constraint, we can expect an
increase in the value of the solution of 10(2.80) = 28.

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

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)

The entries in this new last column of the simplex tableau


were obtained by adding 10 times the first four entries in the
s1 column to the last column in the previous tableau:

33
2.2. Range of Feasibility (4 of 8)

The entries in this new last column of the simplex tableau


were obtained by adding 10 times the first four entries in the
s1 column to the last column in the previous tableau:

34
2.2. Range of Feasibility (5 of 8)

The range of feasibility can then


be established by the maximum
of the lower limits and the
minimum of the upper limits.

35
2.2. Range of Feasibility (6 of 8)

36
2.2. Range of Feasibility (7 of 8)

The procedure for calculating the range of feasibility for the


right-hand side of any ≤ constraint

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)

• Every linear programming problem has an associated linear


programming problem called the dual problem.
• The original formulation of the linear programming problem
is the primal problem
• First the primal problem can be converted into its
corresponding dual. Then we will solve the dual linear
programming problem and interpret the results.
• Property 1
If the dual problem has an optimal solution, the primal problem has
an optimal solution, and vice versa. Furthermore, the values of the
optimal solutions to the dual and primal problems are equal.
• In cases where the primal and the dual problems differ in
terms of computational difficulty, we can choose the easier
problem to solve.

41
DUALITY ‫ثنائية‬-‫( ازدواجية‬2 of 5)

In the HighTech Industries problem, the The HighTech dual problem is as


primal problem—is as follows: follows:

A maximization problem with all ≤ This canonical form for a minimization


constraints and nonnegativity problem is a minimization problem with all
requirements for the variables is said to be ≥ constraints and nonnegativity
in canonical, normal, or standard form. requirements for the variables.
For a maximization problem in The dual of a maximization problem in
canonical form, the conversion to the canonical form is a minimization problem
associated dual linear program is in canonical form. The variables u1, u2, and
relatively easy. u3 are referred to as dual variables.

42
DUALITY ‫ثنائية‬-‫( ازدواجية‬3 of 5)
Primal Problem Dual Problem

General statements about the dual of a maximization problem in canonical form.


1. The dual is a minimization problem in canonical form.
2. When the primal has n decision variables, the dual will have n constraints. The first constraint of the
dual is associated with variable x1 in the primal, the second constraint in the dual is associated with
variable x2 in the primal, and so on.
3. When the primal has m constraints, the dual will have m decision variables. Dual variable u1 is
associated with the first primal constraint, dual variable u2 is associated with the second primal
constraint, and so on.
4. The right-hand sides of the primal constraints become the objective function coefficients in the dual.
5. The objective function coefficients of the primal become the right-hand sides of the dual constraints.
6. The constraint coefficients of the ith primal variable become the coefficients in the ith constraint of
the dual.

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

The optimal solution to the dual The optimal solution to the


problem is u1 =¹⁴⁄₅, u2 =0, u3 = ²⁶⁄₅, primal problem is x1= 30, x2=12,
s1 = 0, and s2 = 0 s1 = 0, s2 = 8, and s3 = 0.
The optimal value of the objective The optimal value of the
function is be - (-1980) = 1980 objective function is 1980.

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)

while the dual objective function is


150u1 + 20u2 + 300u3 = 1980
the coefficients of the dual objective function (150, 20,and 300)
can be interpreted as the number of units of resources available.

the dual variables must carry the interpretations of being the


value per unit of resource.
For the HighTech problem,
u1= dollar value per hour of assembly time
u2= dollar value per unit of the Portable display
u3= dollar value per square foot of warehouse space

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)

The following interpretation of the primal and dual


problems can be made when the primal is a product-mix problem.
Primal Problem Given a per-unit value of each product,
determine how much of each should be produced to maximize the
value of the total production. Constraints require the amount of
each resource used to be less than or equal to the amount available.

Dual Problem Given the availability of each resource, determine


the per-unit value such that the total value of the resources used is
minimized. Constraints require the resource value per unit be
greater than or equal to the value of each unit of output.

49
Using the Dual to Identify the Primal Solution (1 of 2)

If we solve only the dual problem, can we identify the optimal


values for the primal variables?

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)

Consider the following (primal) The dual is the following


linear program in canonical form maximization problem in
for a minimization problem: canonical form:

1. First convert any primal problem into an equivalent problem in


canonical form.
2. Follow the procedures established for finding the dual of a
maximization or minimization problem in canonical form.

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.

Then, we multiply the ≤ constraint by (-1) to get two ≥ constraints.

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.

Then, we multiply the ≤ constraint by (-1) to get two ≥ constraints.

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

You might also like