Chapter 4 Sensitivity Analysis: An Applied Approach Yit Yi tbar ek Take Takele le ( PhD, PhD , MB M B A & M A E con) Ass A sso oci ate Pr ofess fesso or of M anage nagem ment Ad A ddi s A baba Univ Uni ver sity sity
4.1 – A Graphical Introduction to Sensitivity Analysis
Sensitivity analysis is concerned with how changes in an LP’s parameters affect the optimal solution.
Consider the Giapetto problem from Chapter 3. max z = 3x1 + 2x2 2 x1 + x2 ≤ 100 (finishing constraint) x1 + x2 ≤ 80 (carpentry constraint) x1
≤ 40 (demand constraint)
x1, x2 ≥ 0
(sign restriction)
Where:
x1 = number of soldiers produced each week
x2 = number of trains produced each week. 2
The optimal solution for this LP was z = 180, x 1=20, x2= 60 (point B) and it has x 1, x 2, 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?
X2 1 0 0
finishing constraint Slope = -2 8 0
Feasible Region
A
demand constraint 6 0
Isoprofit line z = 120 Slope = -3/2
B
D
4 0
carpentry constraint Slope = -1
2 0
C
10
20
40
50
60
80 X1
3
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. 4
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. 5
In the Giapetto problem to the right, we see that if b1 > 120, x 1 will be greater than 40 and will violate the demand constraint. Also, if b1 < 80, x 1 will be less than 0 and the nonnegativity constraint for x 1 will be violated.
X2
finishing constraint, b1 = 120
1 0 0
finishing constraint, b1 = 100
8 0
Isoprofit line z = 120
A
demand constraint 6 0
finishing constraint, b1 = 80
B
D
4 0
carpentry constraint
Therefore: 80 ≤b1≤ 120 The current basis remains optimal for 80 ≤b1≤ 120, but the decision variable values and z -value will change.
Feasible Region 2 0
C
20
40
50
60
80
X1
6
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 i th constraint of an LP is the amount by which the optimal z -value is improved if the rhs of the i th 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 + available.
finishing
hours are
The LP’s optimal solution is then x 1 = 20 + and x 2 = 60 – with z = 3 x 1 + 2 x 2 = 3(20 + ) + 2(60 - ) = 180 + .
Thus, as long as the current basis remains optimal, a oneunit 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. 7
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.
8
4.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.
9
Example 1: Winco Products 1
Winco sells four types of products. The resources needed to produce one unit of each and the sales prices are given in Table 2. Currently, 4,600 units of raw material and 5,000 labor hours are available. The resources needed to produce one unit of each are known. Product 1
Product 2
Product 3
Product 4
Raw material
2
3
4
7
Hours of labor
3
4
5
6
$4
$6
$7
$8
Sales price
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.
10
Example 1: Solution
Let x i = 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 11
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 X1 X2 X3 X4
VALUE 0.000000 400.000000 150.000000 400.000000
ROW 2) 3) 4) 5) NO. ITERATIONS=
SLACK OR SURPLUS 0.000000 0.000000 0.000000 250.000000
REDUCED COST 1.000000 0.000000 0.000000 0.000000 DUAL PRICES 3.000000 -2.000000 1.000000 0.000000
4
12
Ex. 1 – Solution continued
LINDO sensitivity analysis output
RANGES IN WHICH THE BASIS IS UNCHANGED:
Allowable range (w/o changing basis) for the x2 coefficient (c 2) is: 5.50 < c2 < 6.667
VARIABLE
Allowable range (w/o changing basis) for the rhs (b1) of the first constraint is: 850 < b1 < 1000
OBJ COEFFICIENT RANGES 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
13
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 X1 X2 X3 X4
VALUE 0.000000 400.000000 150.000000 400.000000
ROW 2) 3) 4) 5) NO. ITERATIONS=
SLACK OR SURPLUS 0.000000 0.000000 0.000000 250.000000
REDUCED COST 1.000000 0.000000 0.000000 0.000000 DUAL PRICES 3.000000 -2.000000 1.000000 0.000000
4
14
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.
15
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
∞
16
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
17
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 X1 X2 X3 X4 ROW 2) 3) 4) 5)
VALUE 50.000000 100.000000 0.000000 0.000000
REDUCED COST 0.000000 0.000000 0.000000 1.500000
SLACK OR SURPLUS 0.000000 0.000000 0.000000 0.000000
DUAL PRICES 0.500000 1.250000 0.000000 1.250000
18
RANGES IN WHICH THE BASIS IS UNCHANGED:
VARIABLE X1 X2 X3 X4
ROW 2 3 4 5
OBJ COEFFICIENT RANGES CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE 6.000000 3.000000 3.000000 4.000000 5.000000 1.000000 3.000000 3.000000 2.142857 2.000000 1.500000 INFINITY RIGHTHAND SIDE RANGES CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 400.000000 0.000000 200.000000 150.000000 0.000000 0.000000 200.000000 INFINITY 0.000000 250.000000 0.000000 120.000000 19
LINDO TABLEAU command indicates the optimal basis is RV = {x1,x2,x3,s4}. THE TABLEAU ROW (BASIS) 1 ART 2 X2 3 X3 4 SLK 4 5 X1 ROW 1 2 3 4 5
X1 0.000 0.000 0.000 0.000 1.000
X2 0.000 1.000 0.000 0.000 0.000
SLK 3 1.250 -0.250 0.583 -0.500 0.083
X3 0.000 0.000 1.000 0.000 0.000
SLK 4 0.000 0.000 0.000 1.000 0.000
X4 SLK 2 1.500 0.500 0.500 0.500 0.167 -0.167 -0.500 0.000 0.167 -0.167
SLK 5 1.250 700.000 -0.250 100.000 -0.083 0.000 -0.500 0.000 0.417 50.000 20
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. 21
4.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.
22
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?
23
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.
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 X1 X2 X3 X4 ROW 2) 3) 4) 5)
VALUE 0.000000 400.000000 150.000000 400.000000 SLACK OR SURPLUS 0.000000 0.000000 0.000000 250.000000
NO. ITERATIONS=
REDUCED COST 1.000000 0.000000 0.000000 0.000000 DUAL PRICES 3.000000 -2.000000 1.000000 0.000000
4
So, Winco should not be willing to pay anything for an extra hour of labor. 24
4.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.
25
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 zvalue 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.
26
Raw Material rhs = 3900 optimal solution
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJECTIVE FUNCTION VALUE 1)
5400.000
VARIABLE X1 X2 X3 X4
VARIABLE
VALUE 550.000000 0.000000 0.000000 400.000000
ROW SLACK OR SURPLUS 2) 0.000000 3) 0.000000 4) 0.000000 5) 950.000000
REDUCED COST 0.000000 0.000000 1.000000 0.000000 DUAL PRICES 0.000000 -6.000000 2.000000 0.000000
THE TABLEAU
ROW 1 2 3 4 5 ART
(BASIS) ART X1 X4 X2 SLK 5 ART
X1 0.000 1.000 0.000 0.000 0.000 0.000
X2 X3 0.000 1.000 0.000 -1.000 0.000 0.000 1.000 2.000 0.000 0.000 0.000 1.000
X1 X2 X3 X4
ROW 2 3 4 5
OBJ COEFFICIENT RANGES CURRENT ALLOWABLE COEF INCREASE 4.000000 1.000000 6.000000 INFINITY 7.000000 1.000000 8.000000 6.000000 RIGHTHAND SIDE RANGES CURRENT ALLOWABLE RHS INCREASE 950.000000 0.000000 400.000000 0.000000 3900.000000 550.000000 5000.000000 INFINITY
X4 SLK 3 0.000 6.000 0.000 -4.000 1.000 -1.000 0.000 5.000 0.000 -2.000 0.000 6.000
SLK 4 2.000 -1.000 0.000 1.000 -1.000 2.000
SLK 5 0.000 0.000 0.000 0.000 1.000 0.000
ALLOWABLE DECREASE INFINITY 0.500000 INFINITY INFINITY
ALLOWABLE DECREASE 183.333328 137.500000 0.000000 950.000000
5400.000 550.000 400.000 0.000 950.000 0.000
27
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 OUT X1 SLK X3
VAR IN X3 5 SLK SLK
PIVOT ROW
3 4
2 5 2
RHS VAL 3900.00 4450.00 4850.00 5250.00 10000.0
DUAL PRICE BEFORE PIVOT 2.00000 2.00000 1.00000 -0.333067E-15 -0.555112E-16
OBJ VAL 5400.00 6500.00 6900.00 6900.00 6900.00 28
LINDO Parametric Feature Graphical Output (zvalue vs. Raw Material rhs from 3900 to 10000)
29
For any LP, the graph of the optimal objective function value as a function of 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
30
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 x i in the optimal solution.
31
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.
Optimal z-Value vs c1
440 500
400
e u l 300 a V z z c 1 l a m i t p O 200
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.
100
0 0
2
0
4
6 c1 C1
8
10 10
z-value
32
Discussion
Session 33