Definition
Integer Programming
In the broad sense used here, integer programming is the optimisation problem of maximising a possibly non-linear function over integer assignments satisfying possibly non-linear constraints. Given functions
its feasible solutions and objective are
Products such as
and higher-degree polynomial terms are permitted. Restricting every and to be linear yields integer linear programming. Decision Version
Given a target
, the decision version asks Allowing polynomial equations over integer variables already makes general feasibility an undecidable decision problem.