FOCUS AREAS

The OPTLP Procedure


Procedures in Online Documentation


The OPTLP procedure can be used to solve linear programming (LP) problems. A linear program has the formulation

     

where

is the vector of decision variables

is the matrix of constraints

is the vector of objective function coefficients

is the vector of constraints right-hand sides (RHS)

is the vector of lower bounds on variables

is the vector of upper bounds on variables


You specify a linear program in PROC OPTLP by using a SAS data set that adheres to the mathematical programming system (MPS) format. The MPS format is a widely accepted format in the optimization community for specifying linear programs. See the chapter MPS-Format SAS Data Set in SAS/OR® User's Guide: Mathematical Programming for details about the MPS format.

The OPTLP procedure provides you with a choice of three solvers: primal simplex, dual simplex, and interior point. The simplex solvers implement the two-phase simplex method. In phase I, the solver tries to find a feasible solution. If no feasible solution is found, the LP is infeasible; otherwise, the solver enters phase II to solve the original LP. The interior point solver implements a primal-dual predictor-corrector interior point algorithm.

PROC OPTLP also provides a presolver. The presolver uses a variety of techniques to reduce the problem size, improve numerical stability, and detect infeasibility or unboundedness. During presolve, redundant constraints and variables are identified and removed. Presolve can further reduce the problem size by substituting variables. In most cases, using the presolver is very helpful in reducing solution times.

After an LP model is solved using the simplex solvers, PROC OPTLP enables you to perform sensitivity analysis. You can modify the objective function, change the right-hand sides of the constraints, add or delete constraints (or both), add or delete decision variables (or both), and use combinations of these cases. A faster solution to such a modified LP model can be obtained by starting with the basis in the optimal solution to the original LP model.


Examples

OPTLP rocedure examples