Presentation on theme: "Chapter 5 Sensitivity Analysis: An Applied Approach to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright."— Presentation transcript:
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 = 3x 1 + 2x 2 2 x 1 + x 2 ≤ 100 (finishing constraint) x 1 + x 2 ≤ 80 (carpentry constraint) x 1 ≤ 40 (demand constraint) x 1,x 2 ≥ 0 (sign restriction)
3 The optimal solution for this LP was z = 180, x 1 =20, x 2 = 60 (point B) and it has x 1, x 2, and s 3 (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?
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 b 1 = number of available finishing hours. The current optimal solution (point B) is where the carpentry and finishing constraints are binding. If the value of b 1 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 b 1 > 120, x 1 will be greater than 40 and will violate the demand constraint. Also, if b 1 < 80, x 1 will be less than 0 and the nonnegativity constraint for x 1 will be violated. Therefore: 80 ≤b 1 ≤ 120 The current basis remains optimal for 80 ≤b 1 ≤ 120, but the decision variable values and z-value will change.
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 x 1 = 20 + and x 2 = 60 – with z = 3x 1 + 2x 2 = 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 1Product 2Product 3Product 4 Raw material2347 Hours of labor3456 Sales price$4$6$7$8
11 Example 1: Solution Let x i = number of units of product i produced by Winco. The Winco LP formulation: max z = 4x 1 + 6x 2 +7x 3 + 8x 4 s.t. x 1 + x 2 + x 3 + x 4 = 950 x 4 ≥ 400 2x 1 + 3x 2 + 4x 3 + 7x 4 ≤ 4600 3x 1 + 4x 2 + 5x 3 + 6x 4 ≤ 5000 x 1,x 2,x 3,x 4 ≥ 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 (c 2 ) is: 5.50 £ c2 £ 6.667 Allowable range (w/o changing basis) for the rhs (b 1 ) 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 ConstraintAllowable Increase for rhsAllowable 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 RANGES VARIABLE 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
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.
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 OBJ OUT 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
29 LINDO Parametric Feature Graphical Output (z- value vs. Raw Material rhs from 3900 to 10000)
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 x 1 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.