The Design of Approximation Algorithms

Similar documents
Approximation Algorithms

Approximation Algorithms

Vertex Cover Approximations

1 Unweighted Set Cover

6 Randomized rounding of semidefinite programs

APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS

Integer and Combinatorial Optimization

Metric Techniques and Approximation Algorithms. Anupam Gupta Carnegie Mellon University

Algorithm Design and Analysis

Contents. 1 Introduction. 2 Searching and Traversal Techniques. Preface... (vii) Acknowledgements... (ix)

The Online Connected Facility Location Problem

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec.

15-854: Approximations Algorithms Lecturer: Anupam Gupta Topic: Direct Rounding of LP Relaxations Date: 10/31/2005 Scribe: Varun Gupta

Notes for Lecture 24

Integer Programming and Network Modeis

DETERMINISTIC OPERATIONS RESEARCH

The Algorithm Design Manual

Primal-Dual Algorithms for Connected Facility Location Problems

Recitation 13. Minimum Spanning Trees Announcements. SegmentLab has been released, and is due Friday, November 17. It s worth 135 points.

Combinatorial Optimization

Theorem 2.9: nearest addition algorithm

Local Search Approximation Algorithms for the Complement of the Min-k-Cut Problems

Iterative Methods in Combinatorial Optimization. R. Ravi Carnegie Bosch Professor Tepper School of Business Carnegie Mellon University

Chapter 9 Graph Algorithms

Network Design Foundations Fall 2011 Lecture 10

Chapter 9 Graph Algorithms

Steiner Trees and Forests

8 NP-complete problem Hard problems: demo

Questions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)

THEORY OF LINEAR AND INTEGER PROGRAMMING

Introduction to Approximation Algorithms

COMP Analysis of Algorithms & Data Structures

Approximation Algorithms

Algorithms for Euclidean TSP

Chapter 1 Introduction

Primal-Dual Methods for Approximation Algorithms

CMPSCI611: The SUBSET-SUM Problem Lecture 18

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two.

Fundamentals of Integer Programming

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Advanced Algorithms. On-line Algorithms

Introduction to Algorithms Third Edition

Approximation Algorithms

Lecture 14: Linear Programming II

Graph Theory and Optimization Approximation Algorithms

Chapter 9 Graph Algorithms

Algorithm Design Methods. Some Methods Not Covered

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

D.K.M.COLLEGE FOR WOMEN (AUTONOMOUS), VELLORE-1.

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Welcome to the course Algorithm Design

Practice Final Exam 2: Solutions

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

Module 6 NP-Complete Problems and Heuristics

CMPSCI611: Approximating SET-COVER Lecture 21

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

Subject Index. Journal of Discrete Algorithms 5 (2007)

Analysis of Algorithms

Graph Algorithms for Planning and Partitioning

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

Lecture Overview. 2 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013

11. APPROXIMATION ALGORITHMS

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

11. APPROXIMATION ALGORITHMS

Computational Discrete Mathematics

APPROXIMATION ALGORITHMS FOR A GRAPH-CUT PROBLEM WITH APPLICATIONS TO A CLUSTERING PROBLEM IN BIOINFORMATICS

NP-Complete Problems

A 4-Approximation Algorithm for k-prize Collecting Steiner Tree Problems

11. APPROXIMATION ALGORITHMS

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

L.J. Institute of Engineering & Technology Semester: VIII (2016)

CS 125 Section #10 Midterm 2 Review 11/5/14

Online Algorithms for Mul2-commodity Network Design

A Constant Factor Approximation Algorithm for the Multicommodity Rent-or-Buy Problem

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.

Optimization Under Uncertainty

Introduction to Algorithms

Pseudorandomness and Cryptographic Applications

Approximating Buy-at-Bulk and Shallow-light k-steiner trees

Some Hardness Proofs

Design and Analysis of Algorithms

Algorithms for Decision Support. Integer linear programming models

Introduction to Optimization

Computability Theory

CS521 \ Notes for the Final Exam

1 The Traveling Salesperson Problem (TSP)

Algorithms for Provisioning Virtual Private Networks in the Hose Model

Contents. CS 124 Final Exam Practice Problem 5/6/17. 1 Format and Logistics 2

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

CSC Linear Programming and Combinatorial Optimization Lecture 12: Semidefinite Programming(SDP) Relaxation

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

An Experimental Evaluation of the Best-of-Many Christofides Algorithm for the Traveling Salesman Problem

Transcription:

The Design of Approximation Algorithms David P. Williamson Cornell University David B. Shmoys Cornell University m Щ0 CAMBRIDGE UNIVERSITY PRESS

Contents Preface page ix I An Introduction to the Techniques 1 An Introduction to Approximation Algorithms 3 1.1 The Whats and Whys of Approximation Algorithms 3 1.2 An Introduction to the Techniques and to Linear Programming: The Set Cover Problem 6 1.3 A Deterministic Rounding Algorithm 9 1.4 Rounding a Dual Solution 10 1.5 Constructing a Dual Solution: The Primal-Dual Method 14 1.6 A Greedy Algorithm 15 1.7 A Randomized Rounding Algorithm 19 Exercises 22 Chapter Notes 24 2 Greedy Algorithms and Local Search 27 2.1 Scheduling Jobs with Deadlines on a Single Machine 28 2.2 Thefc-Center Problem 30 2.3 Scheduling Jobs on Identical Parallel Machines 32 2.4 The Traveling Salesman Problem 35 2.5 Maximizing Float in Bank Accounts 40 2.6 Finding Minimum-Degree Spanning Trees 43 2.7 Edge Coloring 47 Exercises 51 Chapter Notes 54 3 Rounding Data and Dynamic Programming 57 3.1 The Knapsack Problem 57 3.2 Scheduling Jobs on Identical Parallel Machines 61 v

vi CONTENTS 3.3 The Bin-Packing Problem 66 Exercises 70 Chapter Notes 71 4 Deterministic Rounding of Linear Programs 73 4.1 Minimizing the Sum of Completion Times on a Single Machine 74 4.2 Minimizing the Weighted Sum of Completion Times on a Single Machine 76 4.3 Solving Large Linear Programs in Polynomial Time via the Ellipsoid Method 79 4.4 The Prize-Collecting Steiner Tree Problem 80 4.5 The Uncapacitated Facility Location Problem 83 4.6 The Bin-Packing Problem 88 Exercises 93 Chapter Notes 96 5 Random Sampling and Randomized Rounding of Linear Programs 99 5.1 Simple Algorithms for MAX SAT and MAX CUT 100 5.2 Derandomization 103 5.3 Flipping Biased Coins 104 5.4 Randomized Rounding 106 5.5 Choosing the Better of Two Solutions 109 5.6 Nonlinear Randomized Rounding 111 5.7 The Prize-Collecting Steiner Tree Problem 113 5.8 The Uncapacitated Facility Location Problem 116 5.9 Scheduling a Single Machine with Release Dates 119 5.10 Chernoff Bounds 124 5.11 Integer Multicommodity Flows 128 5.12 Random Sampling and Coloring Dense 3-Colorable Graphs 130 Exercises 132 Chapter Notes 135 6 Randomized Rounding of Semideflnite Programs 137 6.1 A Brief Introduction to Semideflnite Programming 137 6.2 Finding Large Cuts 139 6.3 Approximating Quadratic Programs 143 6.4 Finding a Correlation Clustering 146 6.5 Coloring 3-Colorable Graphs 149 Exercises 152 Chapter Notes 155 7 The Primal-Dual Method 157 7.1 The Set Cover Problem: A Review 157 7.2 Choosing Variables to Increase: The Feedback Vertex Set Problem in Undirected Graphs 160 7.3 Cleaning Up the Primal Solution: The Shortest s-t Path Problem 164 7.4 Increasing Multiple Variables at Once: The Generalized Steiner Tree Problem 167

CONTENTS vii 7.5 Strengthening Inequalities: The Minimum Knapsack Problem 174 7.6 The Uncapacitated Facility Location Problem 177 7.7 Lagrangean Relaxation and thefc-medianproblem 182 Exercises 188 Chapter Notes 191 8 Cuts and Metrics 193 8.1 The Multiway Cut Problem and a Minimum-Cut-Based Algorithm 194 8.2 The Multiway Cut Problem and an LP Rounding Algorithm 195 8.3 The Multicut Problem 201 8.4 Balanced Cuts 206 8.5 Probabilistic Approximation of Metrics by Tree Metrics 210 8.6 An Application of Tree Metrics: Buy-at-Bulk Network Design 215 8.7 Spreading Metrics, Tree Metrics, and Linear Arrangement 218 Exercises 224 Chapter Notes 227 II Further Uses of the Techniques 9 Further Uses of Greedy and Local Search Algorithms 231 9.1 A Local Search Algorithm for the Uncapacitated Facility Location Problem 232 9.2 A Local Search Algorithm for the ^-Median Problem 238 9.3 Minimum-Degree Spanning Trees 242 9.4 A Greedy Algorithm for the Uncapacitated Facility Location Problem 246 Exercises 251 Chapter Notes 253 10 Further Uses of Rounding Data and Dynamic Programming 255 10.1 The Euclidean Traveling Salesman Problem 256 10.2 The Maximum Independent Set Problem in Planar Graphs 267 Exercises 275 Chapter Notes 277 11 Further Uses of Deterministic Rounding of Linear Programs 279 11.1 The Generalized Assignment Problem 280 11.2 Minimum-Cost Bounded-Degree Spanning Trees 284 11.3 Survivable Network Design and Iterated Rounding 296 Exercises 303 Chapter Notes 307 12 Further Uses of Random Sampling and Randomized Rounding of Linear Programs 309 12.1 The Uncapacitated Facility Location Problem 310 12.2 The Single-Source Rent-or-Buy Problem 314 12.3 The Steiner Tree Problem 316

viii CONTENTS 12.4 Everything at Once: Finding a Large Cut in a Dense Graph 324 Exercises 329 Chapter Notes 331 13 Further Uses of Randomized Rounding of Semideflnite Programs 333 13.1 Approximating Quadratic Programs 334 13.2 Coloring 3-Colorable Graphs 341 13.3 Unique Games 345 Exercises 352 Chapter Notes 354 14 Further Uses of the Primal-Dual Method 355 14.1 The Prize-Collecting Steiner Tree Problem 355 14.2 The Feedback Vertex Set Problem in Undirected Graphs 360 Exercises 366 Chapter Notes 368 15 Further Uses of Cuts and Metrics 369 15.1 Low-Distortion Embeddings and the Sparsest Cut Problem 370 15.2 Oblivious Routing and Cut-Tree Packings 377 15.3 Cut-Tree Packings and the Minimum Bisection Problem 383 15.4 The Uniform Sparsest Cut Problem 387 Exercises 406 Chapter Notes 408 16 Techniques in Proving the Hardness of Approximation 409 16.1 Reductions from NP-Complete Problems 410 16.2 Reductions that Preserve Approximation 414 16.3 Reductions from Probabilistically Checkable Proofs 424 16.4 Reductions from Label Cover 429 16.5 Reductions from Unique Games 442 Chapter Notes 450 17 Open Problems 453 Appendix A: Linear Programming 459 Appendix B: NP-Completeness 465 Bibliography 469 Author Index 485 Subject Index 491