The design of approximation algorithms /
Saved in:
Author / Creator: | Williamson, David P. |
---|---|
Imprint: | New York : Cambridge University Press, 2011. |
Description: | xi, 504 p. : ill. ; 26 cm. |
Language: | English |
Subject: | |
Format: | Print Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/8391831 |
Table of Contents:
- Preface
- I. An Introduction to the Techniques
- 1. An Introduction to Approximation Algorithms
- 1.1. The Whats and Whys of Approximation Algorithms
- 1.2. An Introduction to the Techniques and to Linear Programming: The Set Cover Problem
- 1.3. A Deterministic Rounding Algorithm
- 1.4. Rounding a Dual Solution
- 1.5. Constructing a Dual Solution: The Primal-Dual Method
- 1.7. A Randomized Rounding Algorithm
- Exercises
- Chapter Notes
- 2. Greedy Algorithms and Local Search
- 2.1. Scheduling Jobs with Deadlines on a Single Machine
- 2.2. The k-Center Problem
- 2.3. Scheduling Jobs on Identical Parallel Machines
- 2.4. The Traveling Salesman Problem
- 2.5. Maximizing Float in Bank Accounts
- 2.6. Finding Minimum-Degree Spanning Trees
- 2.7. Edge Coloring
- Exercises
- Chapter Notes
- 3. Rounding Data and Dynamic Programming
- 3.1. The Knapsack Problem
- 3.2. Scheduling Jobs on Identical Parallel Machines
- 3.3. The Bin-Packing Problem
- Exercises
- Chapter Notes
- 4. Deterministic Rounding of Linear Programs
- 4.1. Minimizing the Sum of Completion Times on a Single Machine
- 4.2. Minimizing the Weighted Sum of Completion Times on a Single Machine
- 4.3. Solving Large Linear Programs in Polynomial Time via the Ellipsoid Method
- 4.4. The Prize-Collecting Steiner Tree Problem
- 4.5. The Uncapacitated Facility Location Problem
- 4.6. The Bin-Packing Problem
- Exercises
- Chapter Notes
- 5. Random Sampling and Randomized Rounding of Linear Programs
- 5.1. Simple Algorithms for MAX SAT and MAX CUT
- 5.2. Derandomization
- 5.3. Flipping Biased Coins
- 5.4. Randomized Rounding
- 5.5. Choosing the Better of Two Solutions
- 5.6. Nonlinear Randomized Rounding
- 5.7. The Prize-Collecting Steiner Tree Problem
- 5.8. The Uncapacitated Facility Location Problem
- 5.9. Scheduling a Single Machine with Release Dates
- 5.10. Chernoff Bounds
- 5.11. Integer Multicommodity Flows
- 5.12. Random Sampling and Coloring Dense 3-Colorable Graphs
- Exercises
- Chapter Notes
- 6. Randomized Rounding of Semidefinite Programs
- 6.1. A Brief Introduction to Semidefinite Programming
- 6.2. Finding Large Cuts
- 6.3. Approximating Quadratic Programs
- 6.4. Finding a Correlation Clustering
- 6.5. Coloring 3-Colorable Graphs
- Exercises
- Chapter Notes
- 7. The Primal-Dual Method
- 7.1. The Set Cover Problem: A Review
- 7.2. Choosing Variables to Increase: The Feedback Vertex Set Problem in Undirected Graphs
- 7.3. Cleaning Up the Primal Solution: The Shortest s-t Path Problem
- 7.4. Increasing Multiple Variables at Once: The Generalized Steiner Tree Problem
- 7.5. Strengthening Inequalities: The Minimum Knapsack Problem
- 7.6. The Uncapacitated Facility Location Problem
- 7.7. Lagrangean Relaxation and the k-Median Problem
- Exercises
- Chapter Notes
- 8. Cuts and Metrics
- 8.1. The Multiway Cut Problem and a Minimum-Cut-Based Algorithm
- 8.2. The Multiway Cut Problem and an LP Rounding Algorithm
- 8.3. The Multicut Problem
- 8.4. Balanced Cuts
- 8.5. Probabilistic Approximation of Metrics by Tree Metrics
- 8.6. An Application of Tree Metrics: Buy-at-Bulk Network Design
- 8.7. Spreading Metrics, Tree Metrics, and Linear Arrangement
- Exercises
- Chapter Notes
- II. Further Uses of the Techniques
- 9. Further Uses of Greedy and Local Search Algorithms
- 9.1. A Local Search Algorithm for the Uncapacitated Facility Location Problem
- 9.2. A Local Search Algorithm for the k-Median Problem
- 9.3. Minimum-Degree Spanning Trees
- 9.4. A Greedy Algorithm for the Uncapacitated Facility Location Problem
- Exercises
- Chapter Notes
- 10. Further Uses of Rounding Data and Dynamic Programming
- 10.1. The Euclidean Traveling Salesman Problem
- 10.2. The Maximum Independent Set Problem in Planar Graphs
- Exercises
- Chapter Notes
- 11. Further Uses of Deterministic Rounding of Linear Programs
- 11.1. The Generalized Assignment Problem
- 11.2. Minimum-Cost Bounded-Degree Spanning Trees
- 11.3. Survivable Network Design and Iterated Rounding
- Exercises
- Chapter Notes
- 12. Further Uses of Random Sampling and Randomized Rounding of Linear Programs
- 12.1. The Uncapacitated Facility Location Problem
- 12.2. The Single-Source Rent-or-Buy Problem
- 12.3. The Steiner Tree Problem
- 12.4. Everything at Once: Finding a Large Cut in a Dense Graph
- Exercises
- Chapter Notes
- 13. Further Uses of Randomized Rounding of Semidefinite Programs
- 13.1. Approximating Quadratic Programs
- 13.2. Coloring 3-Colorable Graphs
- 13.3. Unique Games
- Exercises
- Chapter Notes
- 14. Further Uses of the Primal-Dual Method
- 14.1. The Prize-Collecting Steiner Tree Problem
- 14.2. The Feedback Vertex Set Problem in Undirected Graphs
- Exercises
- Chapter Notes
- 15. Further Uses of Cuts and Metrics
- 15.1. Low-Distortion Embeddings and the Sparsest Cut Problem
- 15.2. Oblivious Routing and Cut-Tree Packings
- 15.3. Cut-Tree Packings and the Minimum Bisection Problem
- 15.4. The Uniform Sparsest Cut Problem
- Exercises
- Chapter Notes
- 16. Techniques in Proving the Hardness of Approximation
- 16.1. Reductions from NP-Complete Problems
- 16.2. Reductions that Preserve Approximation
- 16.3. Reductions from Probabilistically Checkable Proofs
- 16.4. Reductions from Label Cover
- 16.5. Reductions from Unique Games
- Chapter Notes
- 17. Open Problems
- Appendix A. Linear Programming
- Appendix B. NP-Completeness
- Bibliography
- Author Index
- Subject Index