1 Post-optimal analysis

Notes written by Carl Brezovec.

This set of notes discusses post-optimal analysis or how to draw conclusions after one has found the optimal solution of a linear program. The exercises concentrate on the interpretation of information that is available from software such as LINDO, rather than on procedures that are used to compute this information.

To simplify our discussion, we refer to the set of basic variables corresponding to the optimal solution as the optimal basis.

Example. We manage Small-time Shoe Company, which produces basketball and cross-training shoes. Each pair of basketball shoes requires one spool of nylon thread (either as stitching or woven material), 1 hour of labor, and 2 square feet of leather. Also, two spools of the nylon, 1 hour of labor, and 1 square foot of leather are required for every pair of cross-trainers. We have available the following amounts of these resources each day:

12 spools of nylon thread 7 hours of labor 10 square feet of leather

(Presumably, the availability of other items necessary for production offers no further restrictions.) We seek to maximize total daily profit: each pair of basketball shoes returns $21 profit, and each pair of cross-trainers returns $23.

The table for this problem, including units, follows:

Resource  Basketball shoes (pairs) Cross-trainers (pairs) Quantity available
Nylon thread (spools)  1  2  12
Labor (hours)  1  1  7
Leather (square feet)  2  1  10
Profit per item (dollars)  21  23

If we let x represent the number of pairs of basketball shoes produced each day and y represent the number of pairs of cross trainer shoes produced daily, then the linear program formulation of this problem and its solution by LINDO are given on the last page of this handout. The printout indicates that the optimal solution value of 157 occurs when (x, y, s_{1}, s_{2}, s_{3}) = (2, 5, 0, 0, 1). Hence, we achieve maximum daily profits of $157 when we produce 2 pairs of basketball and 5 pairs of cross trainer shoes; following this production schedule, s_{3} = 1 indicates an excess of 1 square foot of leather each day. However, LINDO also lists values for so-called “reduced costs” and “dual prices.” Additionally, requesting range (sensitivity) analysis provides two extra tables of numbers; one associated with the objective function coefficients and one for the right-hand side (henceforth, RHS) values of the constraints. In order to get a feel for what these terms mean and how their values are found, consider the following sketch of the feasible region for this problem.

1.1 Dual Prices

In this section, we learn how to use dual prices (also called shadow prices) to compute the change in the optimal solution when there is a change in the right-hand side of a constraint.

Suppose we have an additional unit of the resource for Constraint 1 (an extra spool of nylon thread in this case). This adjustment to the RHS of the first constraint results in the following feasible region, with new optimal value of 159 at (x, y) = (1, 6).

Increasing this value by a second unit moves the optimal solution out to (0,7) with value 161. For each additional unit (each extra spool of thread) we have realized two units or $2 of additional profit.

Definition. The shadow price or dual price for a constraint is the rate of change of the objective function with respect to the right-hand side for that constraint. Thus, for allowable changes, we have

Dual price = \frac{Increase in objective function}{Increase in right-hand side}.

Remark 1 Note that the word ‘allowable’ is italicized in the above definition; this will be discussed in the next subsection on right-hand side ranging.

Remark 2. A constraint’s dual price is also a measure of the decrease in the optimal solution value for each allowable unit of decrease in the RHS value of that constraint. Decreasing the RHS of Constraint 1 in our example by one unit results in an optimal value of 155, occurring at (x, y) = (3, 4), a drop of two units. This is usually handled by using a negative increase to represent a decrease.

Consider the third constraint. (We will discuss the dual price for Constraint 2 in the next subsection.) Even if an additional unit of leather is available, the optimal solution will again be (2,5); hence, the optimal value remains 157, and the dual price of this constraint is 0. This is certainly consistent with our intuition: an additional square foot of leather is worth nothing to us since we do not use all that is presently available anyway.

1.2 Right-Hand Side Ranging

Note that in each of the above RHS adjustments the optimal solution occurred at the intersection of the first and second constraints. Equivalently, for each of the given adjustments {x, y, s_{3}} is the resulting optimal basis. On the other hand, suppose the RHS for Constraint 1 is increased by 3 units to 15. As the following sketch indicates, the optimal solution occurs at (0,7), no longer at the intersection of Constraints 1 and 2.

Our first problem is:

1. Show that {y, s_{1}, s_{3}} is the optimal basis for this new problem.

In particular, note that this 3 unit increase has yielded only a 4 unit increase in the optimal solution value (from 157 to 161); hence, the dual price of 2 for Constraint 1 is no longer valid. Any increase of more than 2 units will yield the same conclusion (and the same optimal of (0,7), for that matter). Similarly, decreasing the RHS of Constraint 1 by slightly more than one unit will result in the optimal solution no longer being at the intersection of Constraints 1 and 2 (rather, Constraints 1 and 3); the optimal basis has also changed (from {x, y, s_{3}} to {x, y, s_{2}}).

This leads us to the italicized word ‘allowable’ in the definition of dual price. The table RIGHT HAND SIDE RANGES indicates the number of units by which each RHS can be changed (individually!, our discussion does not apply when we change two RHS values simultaneously) so that the dual prices are valid (equivalently, so that the optimal basis is unchanged).

We now consider the unusual case represented by Constraint 2: the dual price is given to be 19, but the maximum allowable increase is only 1/3 – not even a full unit. Hence, we will never achieve the full 19 units ($19) seemingly promised for an additional unit of the resource for Constraint 2 (one hour). On the other hand if we do increase that RHS by 1/4 (an increase ≤ 1/3), the optimal solution of (5/2, 19/4) has value 647/4, an increase of (1/4)(19) = 19/4 over the original value of 157.

To see the value of this information for decision making, consider the following three examples.

Example 1. Suppose our nylon supplier is willing to sell us an additional 1.5 spools (shipped as 3 spools every 2 days, say) for $2.20. Should we purchase this extra thread?

Solution. We refer to the printout at the end of the handout for the information needed to solve this problem. Since 1.5 is smaller than our allowable increase for row 2 of 2 spools, the dual price of 2 units is valid. Hence, this increase will result in (1.5)(2) = 3

Increase in objective function = Increase in RHS for constraint 1

× Dual price for constraint in row 2

= 1.5 spools × $2 per spool.
= $3.

Since the increase in profit ($3) is greater than the cost of the thread ($2.20), this transaction benefits us and we should purchase the thread.

Example 2. Another company wishes to compensate us $8 for the use of 1/2 hours of labor. Is this agreeable?

Solution. No, it is not. 1/2 unit of the RHS for Constraint 2 (within the allowable decrease of 1 unit) is worth (1/2)(19) = 9.5 units ($9.50) to us. So the $8 revenue will not cover our loss of $9.50.

Example 3. A third shoe company offers 1/2 hour of labor for $8. Do we purchase?

Solution. We can’t conclude from the printout; the increase of 1/2 unit exceeds our allowable increase. (Solving the new problem will yield an increase of $6.33, but the given computer data does not immediately indicate this conclusion.)

1.3 Objective Coefficient Ranges

Recall that the objective function plays no role in determining the feasible region – it only affects which corner point is optimal. Hence, if a change to the objective function does not change the optimal basis, the present optimal solution remains optimal.

Suppose we change our pricing so that every pair of shoes yields only $19 profit, a decrease in the objective function coefficient for x by 2 units. Corner point testing will indicate that (2,5) is still optimal. However, a decrease by 10 units (new objective function: max 11x + 23y) will yield (0,6) as optimal. Note that changing one objective function coefficient has affected the slope of its isoprofit lines. In the former case the change was not drastic enough, so that (2,5) remained optimal; however, the decrease of 10 units was large enough to change the optimal solution.

We conclude that the numbers given in the table OBJ COEFFICIENT RANGES indicate by how much the objective function coefficient of one decision variable can be changed (all other coefficients held constant) without changing the optimal solution. Do note that even though the optimal solution may not change, the value of the objective function at the optimal solution may change.

We note in closing that the final simplex tableau only registers a fraction of this information: the optimal variable and objective function values (as noted in Section 2.5), and the dual prices. The dual price for a constraint is given in the objective row of the tableau, at the top of the column corresponding to the slack variable for that constraint. Example. Use the printout for the Small-time Shoe Company to answer the following questions. This printout can be found at the end of this handout.

Suppose that we raise the price of basketball shoes so that each pair of shoes yields a profit of $26. What is the new optimal objective function value? Solution. The profit per pair of basketball shoes is the coefficient of X in the objective function. Since the increase from $21 to $26 is greater than the allowable increase of $2, we cannot answer this question using the information on the printout. This is because the change in the coefficient of the objective function causes the optimal basis to change.

Suppose that we lower the price of basketball shoes so that each pair yields a profit of $17. What is the new optimal objective function value? Solution. The decrease of $4 is less than the maximum allowable decrease $9.50. Thus we know that the optimal corner point has not changed. The new objective function is 17x + 23y. The new optimal objective function value is obtained by substituting the optimal corner point into the new objective function, which gives $17 × 2 + $23 × 5 = $149. An alternate solution is to note that decrease in profit is the number of pairs of basketball shoes multiplied by the decrease in profit per pair of basketball shoes. Thus the new profit is $157 − $4 × 2 = $149.

2. Below is the LINDO printout of the solution to the indicated LP. Use that information to answer the questions which follow. If the printout does not provide enough information to answer a particular question, indicate why it does not. (Assume that the objective function units are dollars and that the constraints represent the allocation of two resources.)

(a) What are the values of the decision variables and the objective function in the optimal solution to the given problem?

(b) Would it be beneficial to purchase 15 more units of the resource for the constraint in row 2 for $12?

(c) If there are 9 fewer of the resource for the constraint in row 3 available, what is the value of the new optimal solution?

(d) Would it be beneficial to sell 3 units of the resource of the constraint in row 3 for $5?

       MAX     3 X1 + 2 X2 + X3
       SUBJECT TO

 2)   4 X1 + 3 X2 + X3 <=   24
 3)   X1 + X2 + X3 <=   12
END

OBJECTIVE FUNCTION VALUE
1)      20.00000
VARIABLE        VALUE          REDUCED COST
X1         4.000000           .000000
X2          .000000           .333333
X3         8.000000           .000000

ROW   SLACK OR SURPLUS     DUAL PRICES
2)          .000000           .666667
3)          .000000           .333333

RANGES IN WHICH THE BASIS IS UNCHANGED:
                   OBJ COEFFICIENT RANGES
VARIABLE         CURRENT        ALLOWABLE        ALLOWABLE
           COEF          INCREASE         DECREASE
X1        3.000000         1.000000          .500000
X2        2.000000          .333333         INFINITY
X3        1.000000         2.000000          .250000
                   RIGHTHAND SIDE RANGES
ROW         CURRENT        ALLOWABLE        ALLOWABLE
            RHS          INCREASE         DECREASE
2       24.000000        24.000000        12.000000
3       12.000000        12.000000         6.000000

3. Answer the questions which follow the abbreviated LINDO printout. If the printout does not provide enough information to answer a question, indicate why it does not.

OBJECTIVE FUNCTION VALUE
1)      205.0000
VARIABLE        VALUE          REDUCED COST
X1        40.000000           .000000
X2        15.000000           .000000

ROW   SLACK OR SURPLUS     DUAL PRICES
2)        85.000000           .000000
3)          .000000           .750000
4)          .000000           .250000

RANGES IN WHICH THE BASIS IS UNCHANGED:
                   OBJ COEFFICIENT RANGES
                        -omitted-
                   RIGHTHAND SIDE RANGES
ROW         CURRENT        ALLOWABLE        ALLOWABLE
            RHS          INCREASE         DECREASE
2      240.000000         INFINITY        85.000000
3      260.000000        68.000000        60.000000
4       40.000000        12.000000        20.000000

(a) If the RHS for constraint in row 3 is increased to 280, what is the optimal solution value of the resulting problem?

(b) If the RHS for constraint in row 4 is increased to 60, what is the optimal solution value of the resulting problem?

(c) How many objective function units would you be will to pay for 5 additional units of the resource for the constraint in row 2? Justify your answer.

4. Answer the following using the LINDO printout below. If the above does not provide enough information to answer a question, indicate why it does not.

(a) If the RHS for constraint in row 3 is increased to 40, what is the optimal solution value of the resulting problem?

(b) If the RHS for constraint in row 4 is increased to 80, what is the optimal solution value of the resulting problem?

(c) How many objective function units would you be will to pay for 8 additional units of the resource for constraint in row 2? Justify your answer.

(d) For how many objective function units would you be willing to sell 4 units of the resource for constraint in row 3? Justify your answer.

OBJECTIVE FUNCTION VALUE
1)      200.0000
VARIABLE        VALUE          REDUCED COST
 X        30.000000           .000000
 Y        25.000000           .000000

ROW   SLACK OR SURPLUS     DUAL PRICES
2)          .000000          5.000000
3)          .000000          2.000000
4)        10.000000           .000000
NO. ITERATIONS=       2
RANGES IN WHICH THE BASIS IS UNCHANGED:

                   OBJ COEFFICIENT RANGES
                        -omitted-
                   RIGHTHAND SIDE RANGES
ROW         CURRENT        ALLOWABLE        ALLOWABLE
            RHS          INCREASE         DECREASE
2       30.000000        10.000000        30.000000
3       25.000000        10.000000        25.000000
4       65.000000         INFINITY        10.000000

5. Use the following LINDO printout to answer the questions below. If the printout does not provide enough information to answer a particular question, indicate why it does not. (Assume that the objective function units are dollars and that the constraints represent the allocation of two resources.)

MAX     20 X1 + 14 X2
SUBJECT TO
 2)   5 X1 + 7 X2 <=   700
 3)   5 X1 + 2 X2 <=   450
END
LP OPTIMUM FOUND AT STEP      2
OBJECTIVE FUNCTION VALUE
1)      2100.000
VARIABLE        VALUE          REDUCED COST
X1        70.000000           .000000
X2        50.000000           .000000

ROW   SLACK OR SURPLUS     DUAL PRICES
2)          .000000          1.200000
3)          .000000          2.800000

RANGES IN WHICH THE BASIS IS UNCHANGED:
                   OBJ COEFFICIENT RANGES
VARIABLE         CURRENT        ALLOWABLE        ALLOWABLE
           COEF          INCREASE         DECREASE
X1       20.000000        15.000001        10.000000
X2       14.000000        14.000000         6.000000
                   RIGHTHAND SIDE RANGES
ROW         CURRENT        ALLOWABLE        ALLOWABLE
            RHS          INCREASE         DECREASE
2      700.000000       875.000000       250.000000
3      450.000000       250.000000       250.000000

(a) What are the values of the decision variables and the objective function in the optimal solution to the given problem?

(b) Would it be beneficial to purchase 200 more units of the resource for constraint in row 3 for $2000? Justify your answer.

(c) For how many dollars would you be willing to sell 280 units of the resource for constraint in row 3?

(d) If the RHS for constraint in row 3 is increased to 550, what is the optimal solution value of the resulting problem?

(e) Holding the objective function coefficient for x_{1} at 20, what is the optimal solution value if the objective function coefficient for x_{2} is reduced (by 6) to 8? By 9 to 5?

6. Answer the following questions using the LINDO printout:

MAX     2 X1 + 3 X2
SUBJECT TO
 2)   X1 + 2 X2 <=   70
 3)   X1 + X2 <=   40
 4)   X1 <=   20
END
LP OPTIMUM FOUND AT STEP      2
OBJECTIVE FUNCTION VALUE
1)      110.0000
VARIABLE        VALUE          REDUCED COST
X1        10.000000           .000000
X2        30.000000           .000000

ROW   SLACK OR SURPLUS     DUAL PRICES
2)          .000000          1.000000
3)          .000000          1.000000
4)        10.000000           .000000
NO. ITERATIONS=       2
RANGES IN WHICH THE BASIS IS UNCHANGED:
                   OBJ COEFFICIENT RANGES
VARIABLE         CURRENT        ALLOWABLE        ALLOWABLE
           COEF          INCREASE         DECREASE
X1        2.000000         1.000000          .500000
X2        3.000000         1.000000         1.000000
                   RIGHTHAND SIDE RANGES
ROW         CURRENT        ALLOWABLE        ALLOWABLE
            RHS          INCREASE         DECREASE
2       70.000000        10.000000        10.000000
3       40.000000         5.000000         5.000000
4       20.000000         INFINITY        10.000000

(a) Provide the optimal solution for the given problem, including decision variable and objective function values.

(b) Suppose the constraint in row 2 represents the availability of lumber, measured in boardfeet. If 25 more board-feet were available for $15 (dollars being the objective function units), should you purchase them? Why or why not?

(c) Let the constraint in row 3 price a restriction on the number of labor hours available, and suppose that another company is willing to purchase labor for $ / hour. At that price how many additional hours would you be willing to sell, and why?

7. For the linear programming problem of exercise 6, verify graphically the following information provided by LINDO:

(a) that the optimal solution value of 110 is attained at (10,30),

(b) that 1 is the dual price of constraint 2, and

(c) that the given maximum allowable decrease for each constraint is correct.

Below is the printout for the example at the beginning of this handout.

MAX     21 X + 23 Y
SUBJECT TO
 2)   X + 2 Y <=   12
 3)   X + Y <=   7
 4)   2 X + Y <=   10
END
LP OPTIMUM FOUND AT STEP      2
OBJECTIVE FUNCTION VALUE
1)      157.0000
VARIABLE        VALUE          REDUCED COST
 X         2.000000           .000000
 Y         5.000000           .000000

ROW   SLACK OR SURPLUS     DUAL PRICES
2)          .000000          2.000000
3)          .000000         19.000000
4)         1.000000           .000000
NO. ITERATIONS=       2
RANGES IN WHICH THE BASIS IS UNCHANGED:
                   OBJ COEFFICIENT RANGES
VARIABLE         CURRENT        ALLOWABLE        ALLOWABLE
           COEF          INCREASE         DECREASE
X       21.000000         2.000000         9.500000
Y       23.000000        19.000000         2.000000
                   RIGHTHAND SIDE RANGES
ROW         CURRENT        ALLOWABLE        ALLOWABLE
            RHS          INCREASE         DECREASE

2       12.000000         2.000000         1.000000
3        7.000000          .333333         1.000000
4       10.000000         INFINITY         1.000000