Integer programming
Defines integer programming.
Integer programming is a natural extension of linear programming where variables are required to take integer values.

Unfortunately, these integrality constraints make the problem NP-complete. Integer programming has been investigated extensively in the past decades and good solvers are now available for various classes of integer programs. However, many integer programs remain challenging from a computational standpoint.