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 , the decision version asks
Given a target
Allowing polynomial equations over integer variables already makes general feasibility an undecidable decision problem.