Approximation Algorithm: Iterative Rounding Lecture 15: March 9.

Slides:



Advertisements
Similar presentations
Iterative Rounding and Iterative Relaxation
Advertisements

The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
1 Matching Polytope x1 x2 x3 Lecture 12: Feb 22 x1 x2 x3.
Generalization and Specialization of Kernelization Daniel Lokshtanov.
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
C&O 355 Mathematical Programming Fall 2010 Lecture 22 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
C&O 355 Mathematical Programming Fall 2010 Lecture 21 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Combinatorial Algorithms
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22.
Algorithms & LPs for k-Edge Connected Spanning Subgraphs
Instructor Neelima Gupta Table of Contents Lp –rounding Dual Fitting LP-Duality.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Semidefinite Programming
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
1 Approximation Algorithms for Demand- Robust and Stochastic Min-Cut Problems Vineet Goyal Carnegie Mellon University Based on, [Golovin, G, Ravi] (STACS’06)
Introduction to Linear and Integer Programming Lecture 7: Feb 1.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
Primal Dual Method Lecture 20: March 28 primaldual restricted primal restricted dual y z found x, succeed! Construct a better dual.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Approximation Algorithms
An Approximation Algorithm for Requirement cut on graphs Viswanath Nagarajan Joint work with R. Ravi.
Augmenting Paths, Witnesses and Improved Approximations for Bounded Degree MSTs K. Chaudhuri, S. Rao, S. Riesenfeld, K. Talwar UC Berkeley.
Matching Polytope, Stable Matching Polytope Lecture 8: Feb 2 x1 x2 x3 x1 x2 x3.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
1 Introduction to Approximation Algorithms Lecture 15: Mar 5.
(work appeared in SODA 10’) Yuk Hei Chan (Tom)
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
1 Spanning Tree Polytope x1 x2 x3 Lecture 11: Feb 21.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
C&O 355 Mathematical Programming Fall 2010 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Topics in Algorithms 2005 Constructing Well-Connected Networks via Linear Programming and Primal Dual Algorithms Ramesh Hariharan.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Approximation Algorithms
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Unit 9: Coping with NP-Completeness
Algorithms & LPs for k-Edge Connected Spanning Subgraphs Dave Pritchard University of Waterloo CMU Theory Lunch, Dec 2 ‘09.
Lecture.6. Table of Contents Lp –rounding Dual Fitting LP-Duality.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Iterative Rounding in Graph Connectivity Problems Kamal Jain ex- Georgia Techie Microsoft Research Some slides borrowed from Lap Chi Lau.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Approximation Algorithms based on linear programming.
Multiroute Flows & Node-weighted Network Design Chandra Chekuri Univ of Illinois, Urbana-Champaign Joint work with Alina Ene and Ali Vakilian.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
Lap Chi Lau we will only use slides 4 to 19
Topics in Algorithms Lap Chi Lau.
Chapter 5. Optimal Matchings
Iterative Methods in Combinatorial Optimization
1.3 Modeling with exponentially many constr.
1.3 Modeling with exponentially many constr.
Flow Feasibility Problems
Presentation transcript:

Approximation Algorithm: Iterative Rounding Lecture 15: March 9

Lower bound and Approximation Algorithm The key of designing a polytime approximation algorithm is to obtain a good (lower or upper) bound on the optimal solution. For NP-complete problem, we can’t compute an optimal solution in polytime. The general strategy (for a minimization problem) is: lowerbound OPT SOL SOL ≤ c · lowerbound  SOL ≤ c · OPT

lowerbound OPT SOL To design good approximation algorithm, we need a good lowerbound. For example, if 100 · lowerbound ≤ OPT for some instance, then if we compare SOL to lowerbound to analyze the performance, we could not achieve anything better than an 100-approximation algorithm. Lower bound and Approximation Algorithm

lowerbound OPT SOL Goal: to find a lowerbound as close to OPT as possible. Lower bound and Approximation Algorithm In metric TSP and the minimum Steiner tree problem, we use minimum spanning tree as a lowerbound. In general, it is often difficult to come up with a good lowerbound.

Linear Programming and Approximation Algorithm lowerbound OPT SOL Linear programming: a general method to compute a lowerbound in polytime. LP To computer an approximate solution, we need to return an (integral) solution close to an optimal LP (fractional) solution.

An Example: Vertex Cover Vertex cover: find an minimum subset of vertices which cover all the edges. A linear programming relaxation of the vertex cover problem. Clearly, LP is a lowerbound on the optimal vertex cover, because every vertex cover corresponds to a feasible solution of this LP.

An Example: Vertex Cover How bad is this LP? LP = 2.5 OPT = 4 LP = n/2 OPT = n-1

An Example: Vertex Cover Integrality gap: = Optimal integer solution. Optimal fractional solution. Over all instances. In vertex cover, there are instances where this gap is almost 2.

Half-integrality Theorem: For the vertex cover problem, every vertex (or basic) solution of the LP is half-integral, i.e. x(v) = {0, ½, 1} There is a 2-approximation algorithm for the vertex cover problem. The integrality gap of the vertex cover LP is at most 2.

Survivable Network Design Input An undirected graph G = (V,E), A cost c(e) on each edge, A connectivity requirement r(u,v) for each pair u,v. Output A minimum cost subgraph H of G which has r(u,v) edge-disjoint paths between each pair u,v. (That is, H satisfies all the connectivity requirements.)

Survivable Network Design Minimum spanning tree: r(u,v) = 1 for all pairs. Minimum Steiner tree: r(u,v) = 1 for all pair of required vertices. Hamiltonian path: r(u,v) = 2 for all pairs and every edge has cost 1. k-edge-connected subgraph: r(u,v) = k for all pairs. Minimum cost k-flow: r(s,t) = k for the source s and the sink t. Survivable Network Design is NP-complete.

Linear Programming Relaxation S uv For each set S separating u and v, there should be at least r(u,v) edges “crossing” S. Let f(S) = max{ r(u,v) | S separates u and v}. At least r(u,v) edges crossing S for each subset S of V

Special Case: Minimum Spanning Tree for each subset S of V How bad is this LP? LP = 2.5 OPT = 4 LP = n/2 OPT = n-1 Cannot even solve minimum spanning tree!

Half-integrality Does the LP has half-integral optimal solution? Peterson Graph Consider the minimum spanning tree problem, i.e. f(S)=1 for all S. All 1/3 is a feasible solution and has cost 5. Any half-integral solution having cost 5 must be a Hamitonian cycle. But Peterson graph does not have an Hamitonian cycle! So, no half-integral optimal solution!

Separation Oracle for each subset S of V There are exponentially many constraints, but this LP can still be solved in polynomial time by the ellipsoid method. The reason is that we can design a polynomial time separation oracle to determine if x is a feasible solution of the LP.

Separation Oracle for each subset S of V Remember: f(S) = max{ r(u,v) | S separates u and v}. S uv At least r(u,v) edges crossing S Max-Flow Min-Cut Every (u,v)-cut has at least r(u,v) edges if and only if there are r(u,v) flows from u to v. Separation oracle: check if each pair u,v has a flow of r(u,v)!

Linear Programming Relaxation for each subset S of V What is the integrality gap of this LP?

Moment of Inspiration All 1/3 is a feasible solution. But this is not a vertex solution! Thick edges have value 1/2; Thin edges have value 1/4. This is a vertex solution.

Structural Result of the LP Kamal Jain Theorem. Every vertex solution has an edge with value at least 1/2 Corollary. There is a 2-approximation algorithm for survivable network design.

Iterative Rounding Initialization: H =, f’ = f. While f’ ≠ 0 do: oFind a vertex solution, x, of the LP with function f’. oAdd every edge with x(e) ≥ 1/2 into H. oUpdate f’: for every set S, set Output H. A new vertex solution is computed in each iteration Guaranteed to exist Update the connectivity requirements.

Analysis Corollary. There is a 2-approximation algorithm for survivable network design. Intuitive reason: we only pick an edge when the LP picks at least half. Proof: Let say we pick an edge e. Key: LP-c(e)x(e) is a feasible solution for the next iteration. cost(H) = c(e) + cost(H’) ≤ 2·c(e)x(e) + cost(H’) ≤ 2·c(e)x(e) + 2(LP-c(e)x(e)) ≤ 2LP ≤ 2OPT.

Some Remarks 1.The iterative rounding algorithm performs very well in practice. 2.No combinatorial algorithm has an performance ratio better than O(log n).

Spanning Tree with Degree Constraints Input An undirected graph G = (V,E), A degree upper bound k. Output A spanning tree with degree at most k. NP-complete (Hamiltonian path when k=2).

Spanning Tree with Degree Constraints Motivation: to find a spanning tree in which there is no “overloaded” vertices. [Furer and Raghavachari ’92] Given k, there is a polynomial time algorithm which does the following: Either the algorithm (i)Show that there is no spanning tree with maximum degree at most k. (ii)Find a spanning tree with maximum degree at most k+1. In other words, there is an +1 algorithm for this problem!

Minimum Spanning Tree with Degree Constraints Input An undirected graph G = (V,E), A cost c(e) on each edge e, A degree upper bound k. Output A minimum spanning tree with degree at most k. Question: Is there a +1 algorithm for this problem as well? That is, a polytime algorithm which returns a minimum spanning tree with maximum degree at most k+1.

Conjecture Let OPT be the minimum cost of a spanning tree with maximum degree k. [Goemans] Conjecture: Given k, there is a polynomial time algorithm which returns a spanning tree with cost at most OPT and maximum degree at most k+1. Note that we do not restrict ourselves to MST.

Previous Work ReferenceCost GuaranteeDegree Furer and Raghavachari ‘ 92Unweighted Casek+1 ∞k Konemann, Ravi ’ 01 ’ 02O(1)O(k+log n) CRRT ’ 05 ’ 06O(1)O(k) Ravi, S. 06MSTk+p (p=#distinct costs) Goemans ’ 061k+2

Our Result Theorem: Given k, there is a polynomial time algorithm which returns a spanning tree with cost at most OPT and maximum degree at most k+1. [Singh Lau 07] Mohit Singh Technique: Adaptation of iterative rounding, but we do not round.

Spanning Tree Polytope Formulate a linear programming relaxation. min  e 2 E c e x e s.t.  e 2 E(V) x e = |V|-1  e 2 E(S) x e ≤ |S|-1 x e ≥ 0 E(S): set of edges with both endpoints in S. Separation oracle [Cunningham ’ 84] ) Optimization in poly time for each subset S of V Any tree has n-1 edges Cycle elimination constraints

min  e 2 E c e x e s.t.  e 2 E(V) x e = |V|-1  e 2 E(S) x e ≤ |S|-1 x e ≥ 0 Spanning Tree Polytope Recall: A vertex solution is the unique solution of m linearly independent tight inequalities, where m denotes the number of variables.

min  e 2 E c e x e s.t.  e 2 E(V) x e = |V|-1  e 2 E(S) x e ≤ |S|-1 x e ≥ 0 Spanning Tree Polytope If there is an edge of 0, delete it. If there exists a leaf vertex v, then include the edge incident at v in and remove v from G.

min  e 2 E c e x e s.t.  e 2 E(V) x e = |V|-1  e 2 E(S) x e ≤ |S|-1 x e ≥ 0 Spanning Tree Polytope Claim: A vertex solution of the LP must have a leaf vertex. Theorem: There are at most n-1 linearly independent tight inequalities of this type, where n denotes the number of vertices. If there is no leaf vertex, then every vertex has degree 2, and hence there are at least 2n/2=n edges, a contradiction to the above theorem.

No 1-edge ) many fractional edges Vertex Solution with few constraints ) few fractional edges Derive contradiction Spanning Tree Polytope So a vertex solution must have an edge of 0 or a leaf vertex, in either case we can finish by induction. This proves that the linear program has integer optimal solution.

Extend spanning tree polyhedron OPT = min  e 2 E c e x e s.t.  e 2 E(V) x e = |V|-1  e 2 E(S) x e · |S|-1  e 2  (v) x e · B v 8 v 2 W x e ≥ 0 A Simple +2 Algorithm for each subset S of V The degree constraint of each vertex could be different Goal: Find a spanning tree with cost at most OPT and degree is violated by at most 2.

Initialize F=  While F is not a spanning tree 1.Solve LP to obtain vertex solution x*. 2. Remove all edges e s.t. x* e =0. 3.If there is a leaf vertex v with edge {u,v}, then include {u,v} in F. Decrease B u by 1. Delete v from G. If algorithm works then we solve the problem optimally! Cannot pick an edge with 1 > x e ¸ ½ : lose optimality of the cost. First Try

Initialize F=  While F is not a spanning tree 1.Solve LP to obtain extreme point x*. 2. Remove all edges e s.t. x* e =0. 3.If there is a leaf vertex v with edge {u,v}, then include {u,v} in F. Decrease B u by 1. Delete v from G. 4.If there is a vertex v 2 W such that deg E (v) ≤ B v +2, then remove the degree constraint of v. A Simple +2 Algorithm

Removing Degree Constraints If there is a vertex v 2 W such that deg E (v) ≤ B v +2, then remove the degree constraint of v. This is only done one, and the degree constraint is violated by at most +2! B v =1 1/3 B v =

Lemma: For any vertex solution x, one of the following is true: 1)Either there is a leaf vertex v. 2)Or there is a vertex with degree constraint such that deg E (v) · B v +2 Initialize F=  While F is not a spanning tree 1.Solve LP to obtain extreme point x*. 2. Remove all edges e s.t. x* e =0. 3.If there is a leaf vertex v with edge {u,v}, then include {u,v} in F. Decrease B u by 1. Delete v from G. 4.If there is a vertex v 2 W such that deg E (v) ≤ B v +2, then remove the degree constraint of v. A Simple +2 Algorithm

OPT = min  e 2 E c e x e s.t.  e 2 E(V) x e = |V|-1  e 2 E(S) x e · |S|-1  e 2  (v) x e · B v 8 v 2 W x e ≥ 0 Theorem: There are at most n-1 linearly independent tight inequalities of this type, where n denotes the number of vertices. Analysis Proof of the Lemma: Suppose not. Every vertex has degree at least 2. Every vertex in W has degree at least 4. |E| ≥ ½*(2(n-|W|)+4|W|)= n+|W| The set of tight constraints : |E| ≤ n-1+|W| A contradiction.

A Simple +2 Algorithm A quick summary:  Find a leaf vertex v, add the only edge at v and remove v. - Don’t lose the cost optimality and the degree bound.  Find a vertex with at most B v +2 neighbours and has a degree constraint, remove the degree constraint. - Violate the degree bound by at most +2. By the Lemma, one of the two possibilities must hold.

Obtaining +1 algorithm Initialize F=  Initialize F=  While F is not a spanning tree 1. Solve LP to obtain extreme point x*. 2. Remove all edges e s.t. x* e =0. 3. If there exists a leaf vertex v with edge {u,v}, then include {u,v} in F. Decrease B u by 1. Delete v from G. 4. If there exists a vertex v 2 W such that deg E (v) · B v +2, then remove the degree constraint of v. Replace by B v +1 v leaf ) x {u,v} =1 Why not pick any e s.t. x e =1 ?

Concluding Remarks 1.No combinatorial algorithm has a good performance ratio. 2.Similar techniques can be used for more general problems, e.g. minimum maximum degree k-ec subgraph 3.Can deal with lower and upper bounds. 4.A unifying framework for network design problems. 5.Proofs are based on uncrossing techniques in combinatorial optimiation.