# Chapter 5 Sensitivity Analysis: An Applied Approach

## Presentation on theme: "Chapter 5 Sensitivity Analysis: An Applied Approach"— 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.

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 ≤ (carpentry constraint) x ≤ 40 (demand constraint) x1,x2 ≥ (sign restriction)

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?

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.

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.

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.

For the finishing constraint, 100 +  finishing hours are available.
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,  finishing hours are available. The LP’s optimal solution is then x1 = 20 +  and x2 = 60 –  with z = 3x1 + 2x2 = 3(20 + ) + 2(60 - ) = . 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.

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.

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.

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 5 6 Sales price \$4 \$6 \$7 \$8

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 + x x3 + x4 = 950 x4 ≥ 400 2x1 + 3x2 + 4x3 + 7x4 ≤ 4600 3x1 + 4x2 + 5x3 + 6x4 ≤ 5000 x1,x2,x3,x4 ≥ 0

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 X1 + 6 X2 + 7 X3 + 8 X4 SUBJECT TO 2) X1 + X2 + X3 + X4 = 3) X4 >= 400 4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= END LP OPTIMUM FOUND AT STEP OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 5) NO. ITERATIONS=

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 X INFINITY X X X INFINITY RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE INFINITY

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 X1 + 6 X2 + 7 X3 + 8 X4 SUBJECT TO 2) X1 + X2 + X3 + X4 = 3) X4 >= 400 4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= END LP OPTIMUM FOUND AT STEP OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 5) NO. ITERATIONS=

Shadow price signs Constraints with ³ symbols will always have nonpositive shadow prices. Constraints with £ will always have nonnegative shadow prices. Equality constraints may have a positive, a negative, or a zero shadow price.

Allowable Increase for rhs Allowable Decrease for rhs
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

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 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 + X X4 <= 200 5) 3 X1 + X2 + X4 <= 250

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 OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 5)

RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X X X X INFINITY RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE INFINITY

LINDO TABLEAU command indicates the optimal basis is RV = {x1,x2,x3,s4}.
THE TABLEAU ROW (BASIS) X X X X SLK 2 1 ART X X 4 SLK X ROW SLK 3 SLK SLK 5 Author has error in 1st line of this slide. He says basis is x1,x3,s3,x1 (see page 298? of new text)

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.

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.

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?

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 X1 + 6 X2 + 7 X3 + 8 X4 SUBJECT TO 2) X1 + X2 + X3 + X4 = 3) X4 >= 400 4) 2 X1 + 3 X2 + 4 X3 + 7 X4 <= 5) 3 X1 + 4 X2 + 5 X3 + 6 X4 <= END LP OPTIMUM FOUND AT STEP OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 5) NO. ITERATIONS=

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. My temp version of LINDO would not solve the LP with material set to zero

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 This indicates at least 3900 units of raw material are required to make the problem feasible.

Raw Material rhs = 3900 optimal solution
RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X INFINITY X INFINITY X INFINITY X INFINITY RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE INFINITY OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 5) THE TABLEAU ROW (BASIS) X X X X SLK SLK 4 ART X X X SLK ART ART SLK 5

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 X X SLK 5 SLK X3 SLK E E

LINDO Parametric Feature Graphical Output (z-value vs
LINDO Parametric Feature Graphical Output (z-value vs. Raw Material rhs from 3900 to 10000)

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

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.

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.