The Mixed Integer Linear Programming Solver

Overview

The OPTMODEL procedure provides a framework for specifying and solving mixed integer linear programs (MILPs). A standard mixed integer linear program has the following formulation:

\displaystyle\mathop{\min} & \mathbf{c}^t \mathbf{x} & \    {subject to} & \mathb...   ...f{x} \le \mathbf{u} & \    & \mathbf{x}_i \in \mathbb{z} \forall i \in \cal{s} &
where

\mathbf{x}\in\mathbb{r}^nis the vector of structural variables
\mathbf{a}\in\mathbb{q}^{m x n}is the matrix of technological coefficients
\mathbf{c}\in\mathbb{q}^n is the vector of objective function coefficients
\mathbf{b}\in\mathbb{q}^mis the vector of constraints right-hand sides (RHS)
\mathbf{l}\in\mathbb{q}^n is the vector of lower bounds on variables
\mathbf{u}\in\mathbb{q}^n is the vector of upper bounds on variables
{\cal s}  is a nonempty subset of the set \{1     ... ,n\} of indices

The MILP solver, available in the OPTMODEL procedure, implements an LP-based branch-and-bound algorithm. This divide-and-conquer approach attempts to solve the original problem by solving linear programming relaxations of a sequence of smaller subproblems. The MILP solver also implements advanced techniques such as presolving, generating cutting planes, and applying primal heuristics to improve the efficiency of the overall algorithm.

The MILP solver provides various control options and solution strategies. In particular, you can enable, disable, or set levels for the advanced techniques previously mentioned. It is also possible to input an incumbent solution; see the section "Warm Start Option" for details.

Previous Page | Next Page | Top of Page