Mathematical programming is concerned with the optimization of functions in many variables subject to side constraints. Combinatorial optimization addresses the same problem with the additional complication brought about by the incorporation of indivisible activities, i.e. by variables that are required to assume integer values only.
Read more at http://ebookee.org/Combinatorial-Optimization-Mathematical-programming-study-by-M-W-Padberg_1325834.html#2gOUe3eaFdAy1Zhy.99