Close
A integer linear programming problem (ILP or simply IP) is
a problem expressible as a linear program
with the additional constraint that all variables must be
integer. If only some of the variables are required to be
integer, the problem is a mixed integer linear programming
problem (MILP or simply MIP).
Such problems are much harder to solve than LPs. In some special
cases, they can be solved by simply ignoring the integrality
constraints. This happens when the constraint matrix A is
totally unimodular. But in general, they are NP-Hard.
Typically, these problems (and this holds for almost any optimization problem) are solved by relaxing (i.e. ignoring) some of the constraints and thus creating a much easier to solve problem. Once a solution to this relaxed problem is obtained, it is gradually adjusted to accomodate the ignored constraints.
The most common technique used for solving integer programs is
branch and bound. More recent methods have been
developed as variations/improvements of branch and bound, using
cutting planes. Depending on when and how often
the planes are generated, they are found in literature under
such names as branch and cut,
cut and branch,
branch and price,
etc.