I would like to know which is a good theoretical book to study integer programming and mixed integer programming. Searching I found a large number of books, however each with different approaches.

The approach I want to take is theoretical, starting with the linear integer and mixed integer problems. And at the end of the theoretical framework see its applications (which can suddenly be found in another book).


1 Answer 1


I don't think you can start studying (mixed) integer programming without a solid understanding of Linear Programming. I would first read these 2 books:

  1. Linear Programming by Chvátal
  2. Introduction to Linear Optimization by Bertsimas and Tsitsiklis

The first book as by far the easiest to read book on Linear Programming. The 2nd book is a more rigorous introduction and bridges the gap to Integer Programming.

If you need even more information, consider reading:

  1. Optimization over Integers by Bertsimas
  2. Integer Programming by Conforti, Cornuéjols, Zambelli
  3. Integer and Combinatorial Optimization by Nemhauser and Wolsey

Those last 2 books are very good, but not exactly light-weight reading material.

  • $\begingroup$ I'd like to add the book Understanding and Using Linear Programming by Matoušek and Gärtner. I found the chapter 'Theory of Linear Programming: First Steps' to be quite insightful and easy to follow. $\endgroup$
    – Alphanerd
    Commented May 2, 2022 at 19:32
  • $\begingroup$ Additionally, "Applied Integer Programming: Modeling and Solution" and "Model Building in Mathematical Programming" are good for studying modelling. $\endgroup$
    – kur ag
    Commented May 3, 2022 at 13:53
  • $\begingroup$ Wolsey's "Integer Programming" 2nd edition, Wiley, 2020, sort of fits in between 1-2 and 3-4-5 here in terms of depth and difficulty. $\endgroup$
    – mjsaltzman
    Commented May 11, 2022 at 21:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.