Chapter 5 Sensitivity Analysis: An Applied Approach to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole, a division of Thomson Learning, Inc.
Dec 14, 2015
Chapter 5
Sensitivity Analysis: An Applied Approach
to accompany
Operations Research: Applications and Algorithms
4th edition
by Wayne L. Winston
Copyright (c) 2004 Brooks/Cole, a division of Thomson Learning, Inc.
2
5.1 – A Graphical Introduction to Sensitivity Analysis
Sensitivity analysis is concerned with how changes in an LP’s parameters affect the optimal solution.
Reconsider the Giapetto problem from Chapter 3.
Where: x1 = number of soldiers produced each week
x2 = number of trains produced each week.
max z = 3x1 + 2x2
2 x1 + x2 ≤ 100 (finishing constraint)
x1 + x2 ≤ 80 (carpentry constraint)
x1 ≤ 40 (demand constraint)
x1,x2 ≥ 0 (sign restriction)
3
The optimal solution for this LP was z = 180, x1=20, x2= 60 (point B) and it has x1, x2, and s3 (the slack variable for the demand constraint) as basic variables.
How would changes in the problem’s objective function coefficients or right-hand side values change this optimal solution? X1
X2
10 20 40 50 60 80
2 04 0
6 08 0
1 00
finishing constraintSlope = -2
carpentry constraintSlope = -1
demand constraint
Feasible RegionA
D
Isoprofit line z = 120 Slope = -3/2
C
B
4
Graphical analysis of the effect of a change in an objective function value for the Giapetto LP shows: By inspection, we can see that making the slope of
the isoprofit line more negative than the finishing constraint (slope = -2) will cause the optimal point to switch from point B to point C.
Likewise, making the slope of the isoprofit line less negative than the carpentry constraint (slope = -1) will cause the optimal point to switch from point B to point A.
Clearly, the slope of the isoprofit line must be between -2 and -1 for the current basis to remain optimal.
5
A graphical analysis can also be used to determine whether a change in the rhs of a constraint will make the current basis no longer optimal. For example, let b1 = number of available finishing hours.
The current optimal solution (point B) is where the carpentry and finishing constraints are binding.
If the value of b1 is changed, then as long as where the carpentry and finishing constraints are binding, the optimal solution will still occur where the carpentry and finishing constraints intersect.
6
In the Giapetto problem to
the right, we see that if b1 > 120, x1 will be greater than 40 and will violate the demand constraint. Also, if b1 < 80, x1 will be less than 0 and the nonnegativity constraint for x1 will be violated.
Therefore: 80 ≤b1≤ 120 The current basis remains
optimal for 80 ≤b1≤ 120, but the decision variable values and z-value will change.
X1
X2
20 40 50 60 80
20
40
60
80
100
finishing constraint, b1 = 100
carpentry constraint
demand constraint
Feasible Region
A
D
Isoprofit line z = 120
C
B
finishing constraint, b1 = 120
finishing constraint, b1 = 80
7
It is often important to determine how a change in a
constraint’s rhs changes the LP’s optimal z-value. The shadow price for the ith constraint of an LP is the
amount by which the optimal z-value is improved if the rhs of the ith constraint is increased by one. This definition applies only if the change in the rhs of
constraint i leaves the current basis optimal.
For the finishing constraint, 100 + finishing hours are available. The LP’s optimal solution is then
x1 = 20 + and x2 = 60 – with z = 3x1 + 2x2 = 3(20 + ) + 2(60 - ) = 180 + .
Thus, as long as the current basis remains optimal, a one-unit increase in the number of finishing hours will increase the optimal z-value by $1. So, the shadow price for the first (finishing hours) constraint is $1.
8
Sensitivity analysis is important for several
reasons: Values of LP parameters might change. If a parameter
changes, sensitivity analysis shows it is unnecessary to solve the problem again. For example in the Giapetto problem, if the profit
contribution of a soldier changes to $3.50, sensitivity analysis shows the current solution remains optimal.
Uncertainty about LP parameters. In the Giapetto problem for example, if the weekly
demand for soldiers is at least 20, the optimal solution remains 20 soldiers and 60 trains. Thus, even if demand for soldiers is uncertain, the company can be fairly confident that it is still optimal to produce 20 soldiers and 60 trains.
9
5.2 The Computer and Sensitivity Analysis
If an LP has more than two decision variables, the range of values for a rhs (or objective function coefficient) for which the basis remains optimal cannot be determined graphically.
These ranges can be computed by hand but this is often tedious, so they are usually determined by a packaged computer program.
LINDO will be used and the interpretation of its sensitivity analysis discussed.
10
Example 1: Winco Products 1
Winco sells four types of products. The resources needed to produce one unit of each are known.
To meet customer demand, exactly 950 total units must be produced.
Customers demand that at least 400 units of product 4 be produced.
Formulate an LP to maximize profit.
Product 1 Product 2 Product 3 Product 4
Raw material 2 3 4 7
Hours of labor 3 4 5 6
Sales price $4 $6 $7 $8
11
Example 1: Solution
Let xi = number of units of product i produced by Winco.
The Winco LP formulation:
max z = 4x1 + 6x2 +7x3 + 8x4
s.t. x1 + x2 + x3 + x4 = 950
x4 ≥ 400
2x1 + 3x2 + 4x3 + 7x4 ≤ 4600
3x1 + 4x2 + 5x3 + 6x4 ≤ 5000
x1,x2,x3,x4 ≥ 0
12
Ex. 1 – Solution continued
The LINDO output.
Reduced cost is the amount the objective function coefficient for variable i would have to be increased for there to be an alternative optimal solution.
MAX 4 X1 + 6 X2 + 7 X3 + 8 X4 SUBJECT TO 2) X1 + X2 + X3 + X4 = 950 3) X4 >= 400 4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 4600 5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= 5000 END
LP OPTIMUM FOUND AT STEP 4
OBJECTIVE FUNCTION VALUE 1) 6650.000
VARIABLE VALUE REDUCED COST X1 0.000000 1.000000 X2 400.000000 0.000000 X3 150.000000 0.000000 X4 400.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 3.000000 3) 0.000000 -2.000000 4) 0.000000 1.000000 5) 250.000000 0.000000
NO. ITERATIONS= 4
13
Ex. 1 – Solution continued
LINDO sensitivity analysis output
Allowable range (w/o changing basis) for the x2 coefficient (c2) is: 5.50 £ c2 £ 6.667
Allowable range (w/o changing basis) for the rhs (b1) of the first constraint is: 850 £ b1 £ 1000
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 4.000000 1.000000 INFINITY
X2 6.000000 0.666667 0.500000
X3 7.000000 1.000000 0.500000
X4 8.000000 2.000000 INFINITY
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 950.000000 50.000000 100.000000
3 400.000000 37.500000 125.000000
4 4600.000000 250.000000 150.000000
5 5000.000000 INFINITY 250.000000
14
Ex. 1 – Solution continued
Shadow prices are shown in the Dual Prices section of LINDO output.
Shadow prices are the amount the optimal z-value improves if the rhs of a constraint is increased by one unit (assuming no change in basis).
MAX 4 X1 + 6 X2 + 7 X3 + 8 X4 SUBJECT TO 2) X1 + X2 + X3 + X4 = 950 3) X4 >= 400 4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 4600 5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= 5000 END
LP OPTIMUM FOUND AT STEP 4
OBJECTIVE FUNCTION VALUE 1) 6650.000
VARIABLE VALUE REDUCED COST
X1 0.000000 1.000000 X2 400.000000 0.000000 X3 150.000000 0.000000 X4 400.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 3.000000 3) 0.000000 -2.000000 4) 0.000000 1.000000 5) 250.000000 0.000000
NO. ITERATIONS= 4
15
Shadow price signs
1. Constraints with symbols will always have nonpositive shadow prices.
2. Constraints with will always have nonnegative shadow prices.
3. Equality constraints may have a positive, a negative, or a zero shadow price.
16
For any inequality constraint, the product of the values of the constraint’s slack/excess variable and the constraint’s shadow price must equal zero. This implies that any constraint whose slack or
excess variable > 0 will have a zero shadow price.
Similarly, any constraint with a nonzero shadow price must be binding (have slack or excess equaling zero).
For constraints with nonzero slack or excess, relationships are detailed in the table below:
Type of Constraint Allowable Increase for rhs Allowable Decrease for rhs
≤ ∞ = value of slack
≥ = value of excess ∞
17
When the optimal solution is degenerate (a bfs is degenerate if at least one basic variable in the optimal solution equals 0), caution must be used when interpreting the LINDO output.
For an LP with m constraints, if the optimal LINDO output indicates less than m variables are positive, then the optimal solution is degenerate bfs.
MAX 6 X1 + 4 X2 + 3 X3 + 2 X4
SUBJECT TO
2) 2 X1 + 3 X2 + X3 + 2 X4 <= 400
3) X1 + X2 + 2 X3 + X4 <= 150
4) 2 X1 + X2 + X3 + 0.5 X4 <= 200
5) 3 X1 + X2 + X4 <= 250
18
Since the LP has four constraints and in the optimal solution only two variables are positive, the optimal solution is a degenerate bfs.
LP OPTIMUM FOUND AT STEP 3
OBJECTIVE FUNCTION VALUE
1) 700.0000
VARIABLE VALUE REDUCED COST X1 50.000000 0.000000 X2 100.000000 0.000000 X3 0.000000 0.000000 X4 0.000000 1.500000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 0.500000 3) 0.000000 1.250000 4) 0.000000 0.000000 5) 0.000000 1.250000
19
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGESVARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE
X1 6.000000 3.000000 3.000000 X2 4.000000 5.000000 1.000000 X3 3.000000 3.000000 2.142857 X4 2.000000 1.500000 INFINITY
RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 400.000000 0.000000 200.000000 3 150.000000 0.000000 0.000000 4 200.000000 INFINITY 0.000000 5 250.000000 0.000000 120.000000
20
LINDO TABLEAU command indicates the optimal basis is RV = {x1,x2,x3,s4}.
THE TABLEAU ROW (BASIS) X1 X2 X3 X4 SLK 2 1 ART 0.000 0.000 0.000 1.500 0.500 2 X2 0.000 1.000 0.000 0.500 0.500 3 X3 0.000 0.000 1.000 0.167 -0.167 4 SLK 4 0.000 0.000 0.000 -0.500 0.000 5 X1 1.000 0.000 0.000 0.167 -0.167 ROW SLK 3 SLK 4 SLK 5 1 1.250 0.000 1.250 700.000 2 -0.250 0.000 -0.250 100.000 3 0.583 0.000 -0.083 0.000 4 -0.500 1.000 -0.500 0.000 5 0.083 0.000 0.417 50.000
21
Oddities that may occur when the optimal solution found by LINDO is degenerate are: In the RANGE IN WHICH THE BASIS IS UNCHANGED at
least one constraint will have a 0 AI or AD. This means that for at least one constraint the DUAL PRICE can tell us about the new z-value for either an increase or decrease in the rhs, but not both.
For a nonbasic variable to become positive, a nonbasic variable’s objective function coefficient may have to be improved by more than its RECDUCED COST.
Increasing a variable’s objective function coefficient by more than its AI or decreasing it by more than its AD may leave the optimal solution the same.
22
5.3 Managerial Use of Shadow Prices
The managerial significance of shadow prices is that they can often be used to determine the maximum amount a manger should be willing to pay for an additional unit of a resource.
23
Example 5: Winco Products 2
Reconsider the Winco to the right.
What is the most Winco should be willing to pay for additional units of raw material or labor?
24
Example 5: Solution
The shadow price for raw material constraint (row 4) shows an extra unit of raw material would increase revenue $1. Winco could pay up to $1
for an extra unit of raw material and be as well off as it is now.
Labor constraint’s (row 5) shadow price is 0 meaning that an extra hour of labor will not increase revenue. So, Winco should not be
willing to pay anything for an extra hour of labor.
MAX 4 X1 + 6 X2 + 7 X3 + 8 X4 SUBJECT TO 2) X1 + X2 + X3 + X4 = 950 3) X4 >= 400 4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 4600 5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= 5000 END
LP OPTIMUM FOUND AT STEP 4
OBJECTIVE FUNCTION VALUE 1) 6650.000
VARIABLE VALUE REDUCED COST X1 0.000000 1.000000 X2 400.000000 0.000000 X3 150.000000 0.000000 X4 400.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 3.000000 3) 0.000000 -2.000000 4) 0.000000 1.000000 5) 250.000000 0.000000
NO. ITERATIONS= 4
25
5.4 What happens to the Optimal z-Value if the Current Basis Is No Longer Optimal?
Shadow prices were used to determine the new optimal z-value if the rhs of a constraint was changed but remained within the range where the current basis remains optimal. Changing the rhs of a constraint to values where the
current basis is no longer optimal can be addressed by the LINDO PARAMETRICS feature.
This feature can be used to determine how the shadow price of a constraint and optimal z-value change.
26
The use of the LINDO PARAMETICS feature is illustrated by varying the amount of raw material in the Winco example. Suppose we want to determine how the optimal z-
value and shadow price change as the amount of raw material varies between 0 and 10,000 units.
With 0 raw material, we then obtain from the RANGE and SENSITIVTY ANALYSIS results that show Row 4 has an ALLOWABLE INCREASE of -3900. This indicates at least 3900 units of raw material are required to make the problem feasible.
27
Raw Material rhs = 3900 optimal solution
OBJECTIVE FUNCTION VALUE
1) 5400.000
VARIABLE VALUE REDUCED COST X1 550.000000 0.000000 X2 0.000000 0.000000 X3 0.000000 1.000000 X4 400.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 0.000000 3) 0.000000 -6.000000 4) 0.000000 2.000000 5) 950.000000 0.000000
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 4.000000 1.000000 INFINITY X2 6.000000 INFINITY 0.500000 X3 7.000000 1.000000 INFINITY X4 8.000000 6.000000 INFINITY
RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 950.000000 0.000000 183.333328 3 400.000000 0.000000 137.500000 4 3900.000000 550.000000 0.000000 5 5000.000000 INFINITY 950.000000
THE TABLEAU
ROW (BASIS) X1 X2 X3 X4 SLK 3 SLK 4 1 ART 0.000 0.000 1.000 0.000 6.000 2.000 2 X1 1.000 0.000 -1.000 0.000 -4.000 -1.000 3 X4 0.000 0.000 0.000 1.000 -1.000 0.000 4 X2 0.000 1.000 2.000 0.000 5.000 1.000 5 SLK 5 0.000 0.000 0.000 0.000 -2.000 -1.000 ART ART 0.000 0.000 1.000 0.000 6.000 2.000
SLK 50.000 5400.0000.000 550.0000.000 400.0000.000 0.0001.000 950.0000.000 0.000
28
Changing Row 4’s rhs to 3900, resolving the LP, and selecting the REPORTS PARAMTERICS feature. In this feature we choose Row 4, setting the Value to
10000, and select text output.
RIGHTHANDSIDE PARAMETRICS REPORT FOR ROW: 4
VAR VAR PIVOT RHS DUAL PRICE OBJOUT IN ROW VAL BEFORE PIVOT VAL
3900.00 2.00000 5400.00 X1 X3 2 4450.00 2.00000 6500.00 SLK 5 SLK 3 5 4850.00 1.00000 6900.00 X3 SLK 4 2 5250.00 -0.333067E-15 6900.00 10000.0 -0.555112E-16 6900.00
30
For any LP, the graph of the optimal objective function value as a function a rhs will be a piecewise linear function. The slope of each straight line segment is just the constraint’s shadow price.
For < constraints in a maximization LP, the slope of each segment must be nonnegative and the slopes of successive line segments will be nonincreasing.
For a > constraint, in a maximization problem, the graph of the optimal function will again be piecewise linear function. The slope of each line segment will be nonpositive and the slopes of successive segments will be nonincreasing
31
A graph of the optimal objective function value as a function of a variable’s objective function coefficient can be created.
When the slope of the line is portrayed graphically, the graph is a piecewise linear function.
The slope of each line segment is equal to the value of x1 in the optimal solution.
32
In a maximization LP, the slope of the graph of the optimal z-value as a function of an objective function coefficient will be nondecreasing.
In a minimization LP, the slope of the graph of the optimal z-value as a function of an objective function coefficient will be nonincreasing.
0 2 4 6 8 10
100
200
300
400
500
z-value
Optimal z-Value vs c1
C1
Opt
imal
z-V
alue
440
0
z c 1
100 c 1