What is integer programming?

Integer programming is the class of problems defined as the optimization of a linear function subject to linear constraints over integer variables.

Integer programs are, in general, much harder to solve than linear programs and the size of integer programs that can be solved efficiently is much smaller than that of linear programs. This section reviews a number of typical integer programs.