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 the problem has integers or the preprocessing option is enabled.
As discussed in the section Right-Hand-Side Sensitivity Analysis, for each right-hand-side change vector , PROC LP finds an interval such that for
is optimal in for the fixed basis . Leaving variables that inhibit further changes in without a change in the basis are associated with the quantities and . By specifying RHSPHI= in either the PROC LP statement or 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 section Price Sensitivity Analysis, for each price change vector , PROC LP finds an interval such that for each ,
satisfies the conditions for optimality in for the fixed basis . Entering variables that inhibit further changes in without a change in the basis 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.