Procedures in Online Documentation
The OPTMILP procedure is a solver for general mixed-integer linear problem (MILPs). A standard mixed-integer linear problem has the formulation
![]() |
where
|
|
|
is the vector of structural variables |
|
|
|
is the matrix of technological coefficients |
|
|
|
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 |
|
is a nonempty subset of the set |
The OPTMILP procedure implements an LP-based branch-and-bound algorithm in addition to several advanced techniques such as presolving, cutting planes, and primal heuristics to improve the efficiency of the overall algorithm.
You specify a MILP problem in PROC OPTMILP by providing a SAS data set that has a mathematical programming sytem (MPS) format. The MPS format is a widely accepted format in the optimization community for specifying mixed-integer linear programs. It is also possible to input an incumbent solution in the MPS format.
The OPTMILP procedure outputs SAS data sets that contain an optimal solution or the best integer feasible solution found, if any. These data sets contain problem- and solution-related information. Information related to the problem includes objective function identification, names of constraints and variables and their types, lower and upper bounds, and so on. Solution-related information in the primal data set includes the current value of each decision variable. In the dual output data set, solution-related information includes the current value of each constraint.