David P. Williamson, David B. ShmoysCambridge University Press, 4/26/2011EAN 9780521195270, ISBN10: 0521195276Hardcover, 518 pages, 26.2 x 18.9 x 3.4 cmLanguage: EnglishDiscrete optimization problems are everywhere, from traditional operations research planning (scheduling, facility location and network design); to computer science databases; to advertising issues in viral marketing. Yet most such problems are NP-hard; unless P = NP, there are no efficient algorithms to find optimal solutions. This book shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions. The book is organized around central algorithmic techniques for designing approximation algorithms, including greedy and local search algorithms, dynamic programming, linear and semidefinite programming, and randomization. Each chapter in the first section is devoted to a single algorithmic technique applied to several different problems, with more sophisticated treatment in the second section. The book also covers methods for proving that optimization problems are hard to approximate. Designed as a textbook for graduate-level algorithm courses, it will also serve as a reference for researchers interested in the heuristic solution of discrete optimization problems.Part I. An Introduction to the Techniques1. An introduction to approximation algorithms2. Greedy algorithms and local search3. Rounding data and dynamic programming4. Deterministic rounding of linear programs5. Random sampling and randomized rounding of linear programs6. Randomized rounding of semidefinite programs7. The primal-dual method8. Cuts and metricsPart II. Further Uses of the Techniques9. Further uses of greedy and local search algorithms10. Further uses of rounding data and dynamic programming11. Further uses of deterministic rounding of linear programs12. Further uses of random sampling and randomized rounding of linear programs13. Further uses of randomized rounding of semidefinite programs14. Further uses of the primal-dual method15. Further uses of cuts and metrics16. Techniques in proving the hardness of approximation17. Open problemsAppendix A. Linear programmingAppendix B. NP-completeness.