Integer Linear Programming¶
Definition¶
An integer linear program (ILP) is a linear optimization model in which some or all decision variables must take integer values. The linear objective and functional constraints are retained, with restrictions such as added to the specified variables.
Interpretation¶
An integer linear program is an LP with the extra requirement that some variables take whole-number values. Integrality represents indivisible decisions, such as numbers of buses, and also allows yes-or-no choices and logical conditions to be modelled. It changes the feasible set and can make the problem substantially harder to solve.
The dashed polygon is the feasible region of the LP; once both variables must be integers, only the dots are feasible. The LP optimum with is not a dot, and the best dot is with . This point lies strictly inside the polygon, so the optimum of an integer program need not be a corner point of the LP region.
Change the objective and compare the LP optimum with the best feasible lattice point.
Dropping the integrality requirement gives a relaxation: it allows more points, so for maximization its optimum is an upper bound on the integer optimum, here, as in the optimization bounds. Rounding the LP optimum is no reliable shortcut: rounding to violates , and in other problems a rounded point can be feasible but not optimal.
The bus scheduling model and the project selection model are integer programs of this kind. An exact method for them, branch-and-bound, works with a sequence of such relaxations.
Key Results¶
- Pure integer programs require all decision variables to be integer.
- Mixed integer programs include both integer and continuous variables.
- Binary integer programs restrict every decision variable to 0 or 1.
- Rounding an LP solution need not preserve feasibility or optimality.
Examples¶
The figure uses the illustrative objective and restrictions , , . Its continuous optimum has value 13, whereas requiring both variables to be integers gives with value 11. Branch-and-bound on LP relaxations is an exact method; arbitrary rounding is not.
- A bus count must be a nonnegative integer.
- A warehouse-opening decision uses a binary variable.
Prerequisites¶
Related Concepts¶
Sources¶
- OR Modelling · Week 2
Aliases: ILP, integer programming, Integer program, IP, integer optimization, integer linear optimization, integer linear program Symbols: element of, integers
Last updated: 20 October 2026 03:02
Integer Linear ProgrammingBinary Integer ProgramGraphical Integer ProgrammingLP RelaxationMixed Integer ProgramPure Integer ProgramLinear Programming