Many practical problems have variables that are inherently
discrete, and approximate solutions assuming continuous variables
are not acceptable. Integer programming is the branch
of mathematical programming that deals with the solution of
such problems. We consider for this topic the modeling
of practical problems with integer variables, the theory associated
with finding integer solutions, and the computational procedures
necessary to implement solution algorithms.