
\documentclass[10pt]{article}

\input{psfig}
\usepackage{graphics}
%\pagestyle{empty}
\textheight 9in
\oddsidemargin 0pt
\textwidth 6in

\topmargin -.5in
\newenvironment{remark}[1]{\begin{trivlist}\item[\hskip \labelsep {\em
#1}]}{\end{trivlist}} 


\begin{document}


\begin{section}{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 {\em optimal basis}.

\begin{remark}{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:
\end{remark}

\begin{center} 
\begin{tabular}{l}
12 spools of nylon thread \\
7 hours of labor \\
10 square feet of leather 
\end{tabular} 
\end{center}

(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:

\begin{center}
\begin{tabular}{|l|ccc|}
\hline
Resource & Basketball shoes (pairs)  & Cross-trainers (pairs) & Quantity  available \\ \hline
Nylon thread (spools) & 1 & 2 & 12 \\
Labor (hours) & 1 & 1 & 7 \\
Leather (square feet) & 2 & 1 & 10  \\
\hline 
Profit per item (dollars) & 21 & 23 &    \\ \hline
\end{tabular} 
\end{center}

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.

\includegraphics{example1.eps}


\subsection{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) $.

\includegraphics{example2.eps}

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.

 \begin{remark}{Definition.} The {\em shadow price} or {\em 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
{\em allowable changes}, we have
$$
\mbox{Dual price} = \frac {\mbox{ Increase in objective
function}}{\mbox{Increase 
in right-hand side}}.
$$
 \end{remark}



\begin{remark}{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.
\end{remark}


\begin{remark}{Remark 2.}
  A constraint's dual price is also a measure
of the decrease in the optimal solution value for each {\em 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.
\end{remark}



 
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.



\subsection{ 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.

\includegraphics{example3.eps}


Our first problem is:

\begin{enumerate}
\item  Show that $ \{ y , s_1 , s_3 \} $ is
the optimal basis for this new problem.
\end{enumerate}



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 \} $).

\includegraphics{example4.eps}



This leads us to the italicized word `allowable' in the definition
of dual price.  The table {\tt 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 $ \leq 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.



\begin{remark}{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?
\end{remark}
\begin{remark}{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
\begin{eqnarray*}
\mbox{Increase in objective function}& = &\mbox{ Increase in RHS for
constraint 1} \\
   & & \times\  \mbox{Dual price for constraint in row 2} \\
& = & 1.5 \  \mbox{spools} \times \$2\  \mbox{per spool}.  \\
& = & \$3.
\end{eqnarray*}
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.
\end{remark}


\begin{remark}{Example 2.} Another company wishes to compensate us \$8 for the use of 1/2
hours of labor. Is this agreeable?
\end{remark}

\begin{remark}{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.
\end{remark}


\begin{remark}{Example 3.}  A third shoe company offers 1/2 hour of labor for \$8.  
Do we purchase?
\end{remark}


\begin{remark}{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.)
\end{remark}


 
\subsection{ 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  {\tt 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.

\smallskip

\noindent\it Example. \rm   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?

\noindent\it Solution. \rm  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?

\noindent\it Solution. \rm  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\times 2 + \$23\times 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\times 2 =\$149$.

\smallskip


\begin{enumerate} \setcounter{enumi}{1}
\item   % number 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.)

\begin{enumerate}
\item   What are the values of the decision variables and the 
objective function in the optimal solution to the given problem?

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

\item   If there are 9 {\em fewer} of the resource for the constraint
in row 3 available, 
what is the value of the new optimal solution?

\item  Would it be beneficial to {\em sell} 3 units
of the resource of the constraint in row 3 for \$5?
\end{enumerate}

\begin{verbatim}


  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
 
\end{verbatim}



\item % number 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.


\input{exer3}



\begin{enumerate}
\item  If the RHS for constraint in row 3 is increased to 280, 
what is the optimal solution value of the resulting problem?

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

\item   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.

\end{enumerate}

\item %number 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. 

\begin{enumerate}
\item If the RHS for constraint in row 3 is increased to 40, what is
the optimal solution value of the resulting problem? 

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

\item  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.

\item  For how many objective function units would you be willing
to {\em sell} 4 units of the resource for constraint in row 3?
Justify your answer.
\end{enumerate}

\input{exer4_2}



\item  % number 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.)


\input{exer5}


\begin{enumerate}
\item  What are the values of the decision variables
and the objective function in the optimal solution to the given
problem?

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

\item For how many dollars would you be willing to 
{\em sell} 280 units of the resource for constraint  in row 3?

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

\item  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?
\end{enumerate}


\item  % number 6
Answer the following questions using the LINDO printout:

\input{exer6}

\begin{enumerate}
\item   Provide the optimal solution for the given problem,
including decision variable and objective function values.

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

\item  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?
\end{enumerate}



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


\begin{enumerate}
\item that the optimal solution value of 110 is attained at (10,30), 
\item  that 1 is the dual price of constraint 2, and 
\item  that the given maximum allowable decrease for each constraint
is correct. \end{enumerate}

\end{enumerate}

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

\input{example1.tex}

\end{section}

\end{document}







