phase II. Use the feasible solution from Phase I as a starting basic feasible solution for the original problem
Step 1. Select a zero artificial variable to leave the basic solution and designate its row as the pivot row. The entering variable can be any nonbasic nonartificial vari-
2. By decreasing the unit cost of consumed resources
In most situations, the price per unit is dictated by market conditions and may be difficult to increase at will. On the other hand, reducing the consumption of resources is a more viable option because the manufacturer may be able to reduce cost by mak- ing the production process more efficient.
Determination of the optimality ranges. We now turn our attention to determin- ing the conditions that will keep a solution optimal. The development is based on the definition of reduced cost.
In the TOYCO model, let d
1, d
2, and d
3represent the change in unit revenues for toy trucks, trains, and cars, respectively. The objective function then becomes
Maximize z
= 13
+ d12x1 + 12
+ d22x2 + 15
+ d32x3We first consider the general situation in which all the objective coefficients are changed simultaneously.
With the simultaneous changes, the z-row in the starting tableau appears as:
Basic x1 x2 x3 x4 x5 x6 Solution
z -3 -d1 -2- d2 -5- d3 0 0 0 0
Basic x1 x2 x3 x4 x5 x6 Solution z 4 -14 d2 +32 d3- d1 0 0 1+ 12 d2 2 -14 d2 +12 d3 0 1350 +100d2 +23d3
x2 -14 1 0 12 -14 0 100
x3 32 0 1 0 12 0 230
x6 -14 0 0 -2 1 1 20
When we generate the simplex tableaus with the same sequence of entering and leaving variables used in the original model (before the changes d
jare made), the optimal iteration will appear as follows (convince yourself that this is indeed the case by carrying out the simplex row operations):
The new optimal tableau is the same as in the original optimal tableau, except for the reduced costs (z-equation coefficients). This means that changes in the
objective-function coefficients can affect the optimality of the problem only. (Com-pare with Section 3.6.2, where changes in the right-hand side affect feasibility only.)
You really do not need to carry out the simplex row operation to compute the new reduced costs. An examination of the new z-row shows that the coefficients of
djare taken directly from the constraint coefficients of the optimum tableau. A con- venient way for computing the new reduced cost is to add a new top row and a new leftmost column to the optimum tableau, as shown by the shaded areas in the following illustration.
d1 d2 d3 0 0 0
Basic x1 x2 x3 x4 x5 x6 Solution
1 z 4 0 0 1 2 0 1350
d2 x2 -14 1 0 12 -14 0 100
d3 x3 3
2 0 1 0 1
2 0 230
0 x6 2 0 0 -2 1 1 20
The entries in the top row are the change d
jassociated with variable x
j. For the leftmost column, the top element is 1 in the z-row followed by d
ibasic variable x
i. Keep in mind that d
i =0 for slack variable x
i.
To compute the new reduced cost for any variable (or the value of z), multiply
the elements of its column by the corresponding elements in the leftmost column,
3.6 Sensitivity Analysis 135
add them up, and subtract the top-row element from the sum. For example, for x
1, we have
Reduced cost for x
1 =[4
*1
+ 1-142 * d2 + 32 * d3 +2
*0]
- d1=
4
- 14d
2 + 32d
3 - d1The current solution remains optimal so long as the new reduced costs (z- equation coefficients) remain nonnegative (maximization case). We thus have the following simultaneous optimality conditions corresponding to nonbasic x
1, x
4, and x
5:
4
- 14d
2 + 32d
3 - d1 Ú0 1
+ 12d
2 Ú0 2
- 14d
2 + 12d
3 Ú0
Remember that the reduced cost for a basic variable is always zero, as the modified optimal tableau shows.
To illustrate the use of these conditions, suppose that the objective function of TOYCO is changed from z
=3x
1 +2x
2 +5x
3to z
=2x
1 + x2 +6x
3. Then,
d1 =2
-3
= -$1, d
2 =1
-2
= -$1, and d
3 =6
-5
=$1. Substitution in the given conditions yields
4
- 14d
2 + 32d
3 - d1 =4
- 141-1
2 + 3211
2 - 1-1
2 =6.75
70
1satisfied
21
+ 12d
2 =1
+ 121-1
2 =.5
70
1satisfied
22
- 14d
2 + 12d
3 =2
- 141-1
2 + 1211
2 =2.75
70
1satisfied
2The results show that the proposed changes will keep the current solution (x
1 =0,
x2 =100, x
3 =230) optimal (with a new value of z
=1350
+100d
2 +230d
3= 1350
+100
* -1 +230
*1
=$1480). If any condition is not satisfied, a new solu- tion must be determined (see Chapter 4).
The preceding discussion has dealt with the maximization case. The only differ- ence in the minimization case is that the reduced costs (z-equations coefficients) must be
…0 to maintain optimality.
The optimality ranges dealing with changing d
jone at a time can be developed from the simultaneous optimality conditions.
12For example, suppose that the objective coefficient of x
2only is changed to 2
+ d2—meaning that d
1 = d3 =0. The simultane- ous optimality conditions thus reduce to
4
- 14d
2 Ú0
1d2 …16 1
+ 12d
2 Ú0
1d2 Ú -22
- 14d
2 Ú0
1d2 …8
s 1 -2 … d2 …
8
12The individual ranges are standard outputs in all LP software. Simultaneous conditions usually are not part of the output, presumably because they are cumbersome for large problems.
In a similar manner, you can verify that the individual changes
13
+ d12and
15
+ d32for x
1and x
3yield the optimality ranges d
1 …4 and d
3 Ú -83, respectively.
The given individual conditions can be translated to total unit revenue ranges.
For example, for toy trucks (variable x
2), the total unit revenue is 2
+ d2, and its opti- mality range
-2
… d2 …8 translates to
$0
… 1Unit revenue of toy truck
2 …$10
It assumes that the unit revenues for toy trains and toy cars remain fixed at $3 and $5, respectively.
It is important to notice that the changes d
1, d
2, and d
3may be within their allow- able individual ranges without satisfying the simultaneous conditions and vice versa. For example, consider z
=6x
1 +8x
2 +3x
3. Here d
1 =6
-3
=$3, d
2 =8
-2
=$6, and d
3 =3
-5
= -$2, which are all within the permissible individual ranges (
-∞ 6 d1 …4,
-2
… d2 …8, and
-83 … d3 6 ∞). However, the corresponding simul-taneous conditions yield
4
- 14d
2 + 32d
3 - d1 =4
- 1416
2 + 321-2
2 -3
= -3.5
60
1not satisfied
21
+ 12d
2 =1
+ 1216
2 =4
70
1satisfied
22
- 14d
2 + 12d
3 =2
- 1416
2 + 121-2
2 = -.5
60
1not satisfied
2remarks. The feasibility ranges presented in Section 3.6.2 and the optimality ranges developed in Section 3.6.3 work fine so long as the sensitivity analysis situation calls for changing the parameters of the problem one at a time, a rare occurrence in prac- tice. The fact of the matter is that this limited usefulness is dictated by how far math- ematics allows us to go before the results become too unwieldy. So, what should one do
in practice to carry out meaningful sensitivity analyses that entail making simultaneous changes anywhere in the model? The good news is that advances in computing and inmathematical programming languages (e.g., AMPL) now make it possible to solve huge LPs rather quickly. Thus, a viable option is to solve complete LP scenarios completely, and then compare the answers. Of course, a great deal of thought must be given to constructing viable scenarios that will allow testing model changes in a systematic and logical manner.
3.6.4 sensitivity Analysis with tORA, solver, and AmPL
We now have all the tools to decipher the output provided by LP software, particularly with regard to sensitivity analysis. We will use the TOYCO example to demonstrate the TORA, Solver, and AMPL output.
TORA’s LP output report provides the sensitivity analysis data automatically as shown in Figure 3.11 (file toraTOYCO.txt). The output includes the reduced costs and the dual prices as well as their allowable optimality and feasibility ranges.
Figure 3.12 provides the Solver TOYCO model (file solverTOYCO.xls) and its
sensitivity analysis report. After you click Solve in the Solver parameters dialogue box,
you can request the sensitivity analysis report in the new dialogue box Solver results.
3.6 Sensitivity Analysis 137
You can then click Sensitivity report 1 to view the results. The report is similar to that of TORA’s, with three exceptions: (1) the reduced cost carries an opposite sign, (2) it uses the name shadow price instead of dual price, and (3) the optimality ranges are for the changes d
jand D
ionly, rather than for the original objective coefficients and constraint right-hand sides. The differences are minor, and the interpretation of the re- sults remains the same.
***Sensitivity Analysis***
Variable CurrObjCoeff MinObjCoeff MaxObjCoeff Reduced Cost
x1: 3.00 -infinity 7.00 4.00
x2: 2.00 0.00 10.00 0.00
x3: 5.00 2.33 infinity 0.00
Constraint Curr RHS Min RHS Max RHS Dual Price
1(<): 430.00 230.00 440.00 1.00
2(<): 460.00 440.00 860.00 2.00
3(<): 420.00 400.00 infinity 0.00
FiGure 3.11
TORA sensitivity analysis for the TOYCO model
FiGure 3.12
Excel Solver sensitivity analysis report for the TOYCO model
In AMPL, the sensitivity analysis report is readily available. File amplTOYCO.txt provides the code necessary to determine the sensitivity analysis output. It requires the following additional statements (the report is sent to file a.out):
option solver cplex;
option cplex_options ‘sensitivity’;
solve;
#---sensitivity analysis display oper.down,oper.current,oper.up,oper.dual>a.out;
display x.down,x.current,x.up,x.rc>a.out;
The CPLEX option statements are needed to obtain the standard sensitivity analysis report. In the TOYCO model, the indexed variables and constraints use the root names
x and oper, respectively. Using these names, the suggestive suffixes .down, .current, and .up in the display statements automatically generate the formattedsensitivity analysis report in Figure 3.13. The suffixes .dual and .rc provide the dual price and the reduced cost, respectively.
: oper.down oper.current oper.up oper.dual :=
1 230 430 440 1
2 440 460 860 2
3 400 420 1e+20p 0
: x.down x.current x.up x.rc :=
1 -1e+20 3 7 -4
2 0 2 10 0
3 2.33333 5 1e+20 0
FiGure 3.13
AMPL sensitivity analysis report for the TOYCO model