The LP Procedure

Example 5.4 Additional Sensitivity Analysis

The objective coefficient ranging analysis, discussed in the last example, is useful for assessing the effects of changing costs and returns on the optimal solution if each objective function coefficient is modified in isolation. However, this is often not the case.

Suppose you anticipate that the cost of crude will be increasing and you want to examine how that will affect your optimal production plans. Furthermore, you estimate that if the price of ARABIAN_LIGHT goes up by 1 unit, then the price of ARABIAN_HEAVY will rise by 1.2 units and the price of BREGA will increase by 1.5 units. However, you plan on passing some of your increased overhead on to your jet fuel customers, and you decide to increase the price of jet fuel 1 unit for each unit of increased cost of ARABIAN_LIGHT.

An examination of the solution sensitivity to changes in the cost of crude is a two-step process. First, add the information on the proportional rates of change in the crude costs and the jet fuel price to the problem data set. Then, invoke the LP procedure. The following program accomplishes this. First, it adds a new row, named CHANGE, to the model. It gives this row a type of PRICESEN. That tells PROC LP to perform objective function coefficient sensitivity analysis using the given rates of change. The program then invokes PROC LP to perform the analysis. Notice that the PRIMALIN= SOLUTION option is used in the PROC LP statement. This tells the LP procedure to use the saved solution. Although it is not necessary to do this, it will eliminate the need for PROC LP to re-solve the problem and can save computing time.

data sen;
   format _type_ $8. _col_ $14. _row_ $6.;
   input _type_ $ _col_ $ _row_ $ _coef_;
   datalines;
pricesen .             change   .
.        arabian_light change   1
.        arabian_heavy change 1.2
.        brega         change 1.5
.        jet_1         change  -1
.        jet_2         change  -1
;

data;
   set oil sen;
run;
proc lp sparsedata primalin=solution;
run;

Output 5.4.1 shows the range over which the current basic solution remains optimal so that the current production plan need not change. The objective coefficients are modified by adding $\phi $ times the change vector given in the SEN data set, where $\phi $ ranges from a minimum of -4.15891 to a maximum of 29.72973. At the minimum value of $\phi $, the profit decreases to 1103.073. This value of $\phi $ corresponds to an increase in the cost of ARABIAN_HEAVY to 169.99 (namely, $-$175 + $\phi \,  \times $ 1.2), ARABIAN_LIGHT to 179.16 ($= -$175 + $\phi \,  \times $ 1), and BREGA to 211.24 ($= -$205 + $\phi \,  \times $ 1.5), and corresponds to an increase in the price of JET_1 and JET_2 to 304.16 (= 300 + $\phi \,  \times $ (-1)). These values can be found in the Price column under the section labeled Minimum Phi.

Output 5.4.1: The Price Sensitivity Analysis Summary for the Oil Blending Problem

The LP Procedure

Problem Summary
Objective Function Max profit
Rhs Variable _rhs_
Type Variable _type_
Problem Density (%) 45.00
   
Variables Number
   
Non-negative 5
Upper Bounded 3
   
Total 8
   
Constraints Number
   
EQ 5
Objective 1
   
Total 6

Solution Summary

Terminated Successfully
Objective Value 1544
   
Phase 1 Iterations 0
Phase 2 Iterations 0
Phase 3 Iterations 0
Integer Iterations 0
Integer Solutions 0
Initial Basic Feasible Variables 7
Time Used (seconds) 0
Number of Inversions 2
   
Epsilon 1E-8
Infinity 1.797693E308
Maximum Phase 1 Iterations 100
Maximum Phase 2 Iterations 100
Maximum Phase 3 Iterations 99999999
Maximum Integer Iterations 100
Time Limit (seconds) 120

Variable Summary
Col Variable Name Status Type Price Activity Reduced Cost
1 arabian_heavy   UPPERBD -165 0 -21.45
2 arabian_light UPPBD UPPERBD -175 110 11.6
3 brega UPPBD UPPERBD -205 80 3.35
4 heating_oil BASIC NON-NEG 0 77.3 0
5 jet_1 BASIC NON-NEG 300 60.65 0
6 jet_2 BASIC NON-NEG 300 63.33 0
7 naphtha_inter BASIC NON-NEG 0 21.8 0
8 naphtha_light BASIC NON-NEG 0 7.45 0

Constraint Summary
Row Constraint Name Type S/S Col Rhs Activity Dual Activity
1 profit OBJECTVE . 0 1544 .
2 napha_l_conv EQ . 0 0 -60
3 napha_i_conv EQ . 0 0 -90
4 heating_oil_conv EQ . 0 0 -450
5 recipe_1 EQ . 0 0 -300
6 recipe_2 EQ . 0 0 -300

The LP Procedure

Price Sensitivity Analysis Summary
Sensitivity Vector change
Minimum Phi -4.158907511
Entering Variable brega
Optimal Objective 1103.0726257
   
Maximum Phi 29.72972973
Entering Variable arabian_heavy
Optimal Objective 4695.9459459

Col Variable Name Status Activity Minimum Phi Maximum Phi
Price Reduced Cost Price Reduced Cost
1 arabian_heavy   0 -169.9907 -24.45065 -129.3243 0
2 arabian_light UPPBD 110 -179.1589 10.027933 -145.2703 22.837838
3 brega UPPBD 80 -211.2384 0 -160.4054 27.297297
4 heating_oil BASIC 77.3 0 0 0 0
5 jet_1 BASIC 60.65 304.15891 0 270.27027 0
6 jet_2 BASIC 63.33 304.15891 0 270.27027 0
7 naphtha_inter BASIC 21.8 0 0 0 0
8 naphtha_light BASIC 7.45 0 0 0 0



The Price Sensitivity Analysis Summary also shows the effects of lowering the cost of crude and lowering the price of jet fuel. In particular, at the maximum $\phi $ of 29.72973, the current optimal production plan yields a profit of 4695.95. Any increase or decrease in $\phi $ beyond the limits given results in a change in the production plan. More precisely, the columns that constitute the basis change.