L(inear) P(rogramming) Relaxation
The Linear Programming (LP) relaxation is the same as the integer programme, except we "relax" the integer variables to allow them to take fractional values. The integer programme's feasible region lies within the feasible region of the LP relaxation (at points where the integer variables have integer values). Therefore the integer restrictions cause the optimal objective function value to be worse in the integer programme as compared to the LP relaxation. However, if a solution $x$ of the LP relaxation has integer values for the integer variables, then $x$ also solves the integer programme. In some cases, if the solution values for the integer variables are large, then rounding the LP relaxation solution may give a good solution to the integer programme. However, you need to make sure that the rounded solution is not infeasible!
For some classes of problem the LP relaxation gives naturally integer solutions:
- An $m \times m$ matrix $M$ is unimodular if and only if its determinant $|M|$ is equal to 1 or –1;
- An $m \times n$ matrix $M$ is totally unimodular if and only if every $m \times m$ non-singular submatrix of $M$ is unimodular;
- If the constraint matrix $A$ and the right-hand side vector $b$ of a mixed-integer programme are totally unimodular and integer respectively, then the mixed-integer programme is naturally integer and the LP relaxation solution is the optimal solution
- The transportation problem is an example of one such problem;
- Most network flow problems are also naturally integer;
- Some scheduling problems are naturally integer.
In AMPL, the LP relaxation may be solved simply by turning on the {\tt relax_integrality} option:
\begin{verbatim}
option relax_integrality 1;
\end{verbatim}
To turn {\tt relax_integrality} off, simply set it to 0.
--
MichaelOSullivan - 23 Apr 2008