## Parametric Programming

Sensitivity analysis and range analysis examine how
the optimal solution behaves with respect to perturbations of model
parameter values.
These approaches assume that the basis at optimality
is not allowed to change.
When greater flexibility is desired and a change
of basis is acceptable, parametric programming can
be used.
As with the sensitivity analysis case, care must be used
in interpreting the results of parametric programming
when problem has integers or preprocessing option is enabled.

As discussed in the
Right-Hand-Side Sensitivity Analysis section,
for each right-hand-side change vector *r*, PROC LP finds an interval
such that
for is optimal in for the fixed basis *B*.
Leaving variables that inhibit further
changes in without a change
in the basis *B* are associated with
the quantities and .By specifying RHSPHI=
in either the PROC LP statement
or in the RESET statement, you can examine the solution
as increases or decreases from 0 to .When RHSPHI= is specified, the procedure first
finds the interval as described previously.
Then, if ,no further investigation is needed.
However, if or , then the procedure
attempts to solve the new problem .To accomplish this, it pivots the leaving variable out of the
basis while maintaining dual feasibility.
If this new solution is primal feasible in ,no further
investigation is needed; otherwise, the procedure identifies
the new leaving variable and pivots it out of the basis,
again maintaining dual feasibility.
Dual pivoting continues in this manner until a solution
that is primal feasible in is identified.
Because dual feasibility is maintained at each pivot, the
primal feasible solution is optimal.

At each pivot, the procedure reports on the
variables that enter and leave the basis, the current range
of , and the objective value.
When is found, it is displayed.
If you want the solution at each
pivot, then specify the PARAPRINT
option in either the PROC LP or
the RESET statement.

As discussed in the
Price Sensitivity Analysis section,
for each price change vector *r*, PROC LP finds an interval
such that for each satisfies the conditions for optimality in
for the fixed basis *B*.
Entering variables that inhibit further
changes in without a change
in the basis *B* are associated with
the quantities and .
By specifying PRICEPHI= in either the PROC LP statement
or the RESET statement, you can examine the solution
as increases or decreases
from 0 to .When PRICEPHI= is specified, the procedure first finds
the interval , as described previously.
Then, if , no further
investigation is needed. However, if or
, the procedure attempts to solve the new
problem .
To accomplish this, it pivots the
entering variable into the basis while maintaining primal
feasibility. If this new solution is dual feasible in
, no further investigation is needed;
otherwise, the procedure identifies the new entering variable
and pivots it into the basis, again maintaining primal feasibility.
Pivoting continues in this manner until a
solution that is dual feasible in is identified.
Because primal feasibility is maintained at
each pivot, the dual feasible solution is optimal.

At each pivot, the procedure reports on the
variables that enter and leave the basis, the current range
of , and the objective value. When is found, it is displayed.
If you want the solution
at each pivot, then specify the
PARAPRINT option in either the PROC LP or the
RESET statement.

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.