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 6.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 times the change vector given in the SEN data set, where ranges from a minimum of -4.15891 to a maximum of 29.72973. At the minimum value of , the profit decreases to 1103.073. This value of corresponds to an increase in the cost of ARABIAN_HEAVY to 169.99 (namely, 175 + 1.2), ARABIAN_LIGHT to 179.16 (175 + 1), and BREGA to 211.24 (205 + 1.5), and corresponds to an increase in the price of JET_1 and JET_2 to 304.16 (= 300 + (-1)). These values can be found in the Price column under the section labeled Minimum Phi.
Output 6.4.1: The Price Sensitivity Analysis Summary for the Oil Blending Problem
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 |
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 of 29.72973, the current optimal production plan yields a profit of 4695.95. Any increase or decrease in beyond the limits given results in a change in the production plan. More precisely, the columns that constitute the basis change.