Review of design of approximation algorithms, by David P. Williamson and David B. Shmoys

Many optimization problems are NP-hard, and unless P = NP there do not exist polynomial time algorithms to solve them exactly. One way to cope with this hardness is to design approximation algorithms, which run in polynomial time and return solutions guaranteed to be within a certain factor of the actual optimum solution. For instance, c-approximation algorithm for the traveling salesman problem takes as input an instance, and finds a tour whose cost is provably within c times that of the optimal tour. The quality of the algorithm is governed by how small the factor c is. The study of approximation algorithm began about three and a half decades back, almost as soon as Karp’s famous paper on 21 NP-complete problems appeared. Since then the field has seen a tremendous growth in its set of results and techniques, and applicability. In this book, Williamson and Shmoys provide an in-depth coverage of the various techniques developed over the years, as well as expositing on state-of-the-art results.