Sensitivity Analysis A simplex tableau for a set of basic variables (BV) is optimal if and only if each constraint has a non negative RHS and each variable has a non negative coefficient in row 0 (for max problem). Sensitivity analysis deals with how the changes in the LP’s parameters affect the optimal tableau. For this, we rely on the formulae that were presented in the previous section. If BV is no longer optimal, we can find the new optimal solution by using these formulae. If, as a result of changes, a variable in row 0 has a negative coefficient, we can obtain the optimal solution by entering this variable into the basis. In the stage with –ve coefficient BV is a suboptimal basis. If the changes make RHS of any of the constraints –ve, BV will be infeasible basis. To carry out sensitivity analysis we’ll rely on the Dakota furniture example without the X2 ≤ 5 constraint. As given before, the problem is: Z = 60X1 + 30X2 + 20X3 + 0.S1 + 0.S2 + 0. S3 8X1 + 6X2 + X3 + S1 = 48 4X1 + 2X2 + 1.5X3 + S2 = 20 2X1 + 1.5X2 + 0.5X3 + S3 =8 and its optimal tableau is, Z + 5X2 - 2X2 - 2X2 + X1 + 1.25X2 + 10S2 + 10S3 + S1 + 2S2 - 8S3 X3 + 2S2 - 4S3 - 0.5S2 + 1.5S3 = 280 = 24 =8 =2 BV = (S1, X3, X1) with Z = 280, S1 = 24, X3 = 8, X1 = 2 NBV = (S2, S3, X2) all = 0 Changing the Objective Function Coefficient of a Non basic Variable The only non basic variable is X2. Currently, the objective function coefficient of X2 is c2 = 30. How would a change in c2 affect the optimal solution? Suppose now c2 = (30 + Δ) where Δ is the change. Note that changing c2 does not change B-1 and b. Hence, B-1b has not changed, BV still feasible. Also, since X2 is non basic, cBV does not change. From (10) we see that changing c2 changes only the row 0 coefficient of coefficient of X2. Thus, BV will remain optimal if c2 ≥ 0, and BV will be suboptimal if c2 ≤ 0. We have 6 a2 = 2 and c2 = 30 + Δ 1.5 Also, as determined before, cBVB-1 = [0 10 10] Now c2 = [0 10 10] 6 - (30 + Δ) = 5 - Δ 2 1.5 1 Thus, BV will remain optimal if 5–Δ≥0 or Δ ≤ 5. If Δ ≥ 5, then c2 < 0, and BV is no longer optimal. Then, if price of tables (X2) is increased by $5 or less (price of tables up to $35), BV remains optimal. Optimal value remains unchanged. If c2 = 40, BV is not optimal. X2 will have a coefficient of -5 (suboptimal). By entering X2 into basis, we can find the new optimal solution. Definition: Reduced Cost – The coefficient of a decision variable in row 0 is often referred to as the variable’s reduced cost. The reduced cost of a non basic variable is the amount by which the value of Z will decrease if we increase the value of non basic variable by 1 (while all other non basic variables = 0). Note: In line with the definition above, reduced cost for tables (X2) is -5, i.e. decreases Z by 5 for each increase in the number of tables. If we now increase the price of tables by more than $5, each table would increase Dakota’s revenue. For example, if c2 = 36 (instead of 30 we had) each table would increase revenues by 6 – 5 = $1 and, therefore, Dakota should manufacture tables. Thus, as before, we see that for Δ > 5, the current basis is no longer optimal. This then yields another interpretation of the reduced cost of a nonbasic variable: The reduced cost for a nonbasic variable is the amount by which the non basic variable’s objective function coefficient must be improved before that variable will become a basic variable in some optimal solution to the LP. Changing the Objective Function Coefficient of a Basic Variable In Dakota problem, the decision variables X1 (desks) and X3 (chairs) are basic variables. If we change coefficients of X1 or X3, we are not changing B (or B-1) or b. Equation (6) shows that RHS of each constraint remain unchanged and BV will remain feasible. We are changing cBV and hence, cBVB-1. Then, we must recompute row 0 for the BV tableau to determine whether BV remains optimal (equation 10) Suppose c1 is changed to 60 + Δ. cBV = [0 20 60+Δ] B-1 was determined before. cBV.B-1 = [0 We have a1 = 20 8 4 2 60+Δ] 1 0 0 a2 = 6 2 1.5 2 2 -0.5 2 -8 -4 1.5 = [0 a3 = 1 1.5 0.5 10-0.5Δ 10+1.5Δ] Because S1, X3, X1 are basic variables, their coefficients in row 0 are zero. Coefficients of non basic variables will be: Coeff. of X2: c2 = cBVB-1a2 – c2 = [0 10-0.5Δ 10+1.5Δ] 6 - 30 = 5 + 1.25Δ 2 1.5 Coeff. of S2 in row 0 = 2nd element of cBVB-1 = 10 – 0.5Δ Coeff. of S3 in row 0 = 3rd element of cBVB-1 = 10 + 1.5Δ Then, row 0 will be, Z + (5 + 1.25Δ).X2 + (10 – 0.5Δ)S2 + (10 + 1.5Δ)S3 = ? From this, we see that BV will remain optimal if 5 + 1.25Δ ≥ 0 true iff Δ ≥ -4 10 – 0.5Δ ≥ 0 true iff Δ ≤ 20 10 + 1.5Δ ≥ 0 true iff Δ ≥ -20/3 Therefore, current basis is optimal as long as - 4 ≤ Δ ≤ 20 (If c1 is decreased by $4 or increased by up to $20) Then, if c1 < 56 or c1 > 80 basis not optimal. If current basis optimal values of decision variables don’t change because of B-1b remains unchanged (X1 = 2, X3 = 8), Z changes however. If, for example, c1 is changed to 70, Z = 70.X1 + 30.X2 + 20.X3 = 70.(2) + 20.(8) = 300 When Current Basis is no Longer Optimal Suppose c1 = 100, then Δ = 100 – 60 = 40. This value of 100 > 80, so BV is no longer optimal. Now, new row 0 will be: c1 = 0 (X1 is BV); c2 = 5 + 1.25.Δ = 55 c3 = 0 (X3: BV) S1 coefficint = 0 since S1 is BV. S2 coeff. in row 0 = 10 – 0.5.Δ = - 10 S3 “ “ “ “ = 10 + 1.5.Δ = 70 RHS of row 0 = cBV.B-1.b = [0 48 = 360 20 8 From (6), changing c1 does not change the constraints in the BV tableau. Then, tableau is as below and BV = {S1 , X3, X1} is now suboptimal. Z + 55X2 - 2X2 - 2X2 + X1 + 1.25X2 -10 70] - 10S2 + 70S3 + S1 + 2S2 - 8S3 X3 + 2S2 - 4S3 - 0.5S2 + 1.5S3 3 = 360 = 24 =8 =2 If we enter S2 into the basis in row 2, we obtain the new optimal solution to Dakota problem with Z = 400 S1 = 16 S2 = 4 X1 = 4 X2 = X3 = 0 Changing the RHS of a Constraint Because b does not appear in equation (10), i.e. coefficient of variables in row 0, row 0 will remain unchanged. Changing the RHS of a constraint will not cause current basis to become suboptimal. Therefore, as long as the constraints’ RHS remain non-negative with the change, we’ll still have a feasible and optimal solution. If RHS becomes negative, then current basis is no longer feasible. In Dakota problem b2 = 20; suppose we change it to 20 + Δ. Then, from (6), -1 RHS of constraints = B .b = 1 0 0 2 2 -0.5 -8 -4 1.5 48 24 + 2Δ 20 + Δ = 8 + 2Δ 8 2 – 0.5Δ Note: New RHS = Original RHS + Δ.(column i of B-1) For constraints to remain non-negative, 24 + 2Δ ≥ 0 8 + 2Δ ≥ 0 2 – 0.5Δ ≥ 0 true iff Δ ≥ -12 “ “ Δ ≥ -4 “ “ Δ ≤ 4. Hence, for -4 ≤ Δ ≤ 4, the current basis remain feasible and therefore optimal. If the basis remains optimal (16 ≤ b2 ≤ 24) the values of the decision variables and Z need to be calculated since they change due to change in b. As an example, suppose 22 finishing hours are availabe, i.e. b2 = 22 (instead of 20), optimal solution is still feasible. Then, S1 X3 X1 -1 = B .b = 1 0 0 2 2 -0.5 -8 -4 1.5 48 22 8 = 28 12 1 we should manufacture 12 chairs (X3) and only 1 desk (X1). RHS of row 0, i.e. Z value = cBV.B-1(new b) = [0 10 10] 48 22 8 = 300 If the change in RHS of a constraint makes the current basis no longer optimal, getting the new optimal solution will be dealt with later with dual simplex algorithm. 4 Changing the Column of a Nonbasic Variable In Dakota problem we had 6 board ft lumber, 2 finishing hours and 1.5 carpentry hours to make a table that was sold for $30. Also, X2 (= number of tables) was a nonbasic variable in the optimal solution. Suppose price is increased to $43 and because of the technological changes, 5 ft of lumber, 2 finishing hours and 2 carpentry hours are required to make a table. Here, the changes leave B (B-1) and b unchanged. Thus, RHS of optimal tableau remains unchanged. Only change is in c2 (see equation 10). We use equation (10) to compute coefficient of X2 in row 0. The process is called pricing out X2. c2 = cBV.B-1.a2 – c2 cBV.B-1 still equals [0 10 a2 = 5 2 2 Then, 10], but now, and c2 = [0 c2 = 43 10 10] 5 - 43 = -3 2 2 Because c2 < 0, the current basis is no longer optimal. To find the new optimal solution, we need to recreate the tableau for BV = {S1, X3, X1} and apply the simplex algorithm. From (5), the column for X2 in the constraint portion of the BV tableau is, -1 B .a2 = 1 0 0 2 2 -0.5 -8 -4 1.5 5 2 2 = -7 -4 2 We now have the BV tableau as: Z + - 5X2 - 7X2 - 4X2 + X1 + 2X2 + 10S2 + 10S3 + S1 + 2S2 - 8S3 X3 + 2S2 - 4S3 - 0.5S2 + 1.5S3 = 280 = 24 =8 =2 Since X2 has negative coefficient in row 0, this is not an optimal solution. We, therefore, enter X2 into basis in row 3 to obtain the new optimal solution. ( Z = 283, S1 = 31, X3 = 12, and X2 = 1, i.e. 12 chairs and 1 table). Changing column of a basic variable does not allow easy assessment, will not be dealt with here. 5 Adding a New Activity Suppose that Dakota is considering making foot stools. A stool sells for $15 and requires 1 board foot of lumber, 1 finishing hour, and 1 carpentry hour. Should the Company manufacture stools? Let us define X4 to be the number of foot stools manufactured by Dakota Co. Then, Z - 60X1 - 30X2 - 20X3 -15X4 8X1 + 6X2 + X3 + X4 + 4X1 + 2X2 + 1.5X3 + X4 2X1 + 1.5X2 + 0.5X3 + X4 S1 + S2 + S3 =0 = 48 = 20 =8 (Here, addition of X4 indicates adding a new activity). How will it change the optimal BV = {S1, X3, X1} tableau? From (6), RHS is unchanged for all constraints. From (10), coefficients of variables in row 0 will remain unchanged. Only c4 needs to be computed (coeff. of X4 in row 0). RHS of each constraint in optimal tableau is unchanged, and the only variable in row 0 that can have a negative coefficient is X4. If c4 ≥ 0 tableau is still optimal. From above, c4 = 15 and a4 = 1 1 1 Using (10) to price out X4: c4 = [0 10 10] 1 1 1 - 15 = 5 Because c4 ≥ 0, the current basis is still optimal. 6