This updated and revised 2nd edition of the three-volume Combinatorial Optimization series covers a very large set of topics in this area, dealing with fundamental notions and approaches as well as several classical applications of Combinatorial Optimization.

Combinatorial Optimization is a multidisciplinary field, lying at the interface of three major scientific domains: applied mathematics, theoretical computer science, and management studies. Its focus is on finding the least-cost solution to a mathematical problem in which each solution is associated with a numerical cost. In many such problems, exhaustive search is not feasible, so the approach taken is to operate within the domain of optimization problems, in which the set of feasible solutions is discrete or can be reduced to discrete, and in which the goal is to find the best solution. Some common problems involving combinatorial optimization are the traveling salesman problem and the minimum spanning tree problem.

Combinatorial Optimization is a subset of optimization that is related to operations research, algorithm theory, and computational complexity theory. It has important applications in several fields, including artificial intelligence, mathematics, and software engineering.

This first volume, covering major concepts in the field of Combinatorial Optimization, is divided into three parts:

- Complexity of Combinatorial Optimization Problems, which presents the basics of worst-case and randomized complexity.

- Classical Solution Methods, which presents the two most well-known methods for solving difficult combinatorial optimization problems; Branch and Bound and Dynamic Programming.

- Elements from Mathematical Programming, which presents the fundamentals from mathematical programming-based methods that have been at the heart of Operations Research since the origins of this field.

The three volumes of this series form a coherent whole. The set of books is intended to be a self-contained treatment requiring only basic understanding and knowledge of a few mathematical theories and concepts. It is intended for researchers, practitioners and MSc or PhD students.

Part 1. Complexity of Combinatorial Optimization Problems

1. Basic Concepts in Algorithms and Complexity Theory, Vangelis Th. Paschos.

2. Randomized Complexity, Jérémy Barbay.

Part 2. Classical Solution Methods

3. Branch-and-Bound Methods, Irène Charon and Olivier Hudry.

4. Dynamic Programming, Bruno Escoffier and Olivier Spanjaard.

Part 3. Elements From Mathematical Programming

5. Mixed Integer Linear Programming Models for Combinatorial Optimization Problems, Frédérico Della Croce.

6. Simplex Algorithms for Linear Programming, Frédérico Della Croce and Andrea Grosso.

7. A Survey of some Linear Programming Methods, Pierre Tolla.

8. Quadratic Optimization in 0–1 Variables, Alain Billionnet.

9. Column Generation in Integer Linear Programming, Irène Loiseau, Alberto Ceselli, Nelson Maculan and Matteo Salani.

10. Polyhedral Approaches, Ali Ridha Mahjoub.

11. Constraint Programming, Claude Le Pape.

Vangelis Th. Paschos is Exceptional Class Professor of Computer Science and Combinatorial Optimization at the Paris-Dauphine University and chairman of the LAMSADE (Laboratory for the Modeling and the Analysis of Decision Aiding Systems) in France.