Iterative Rounding and Iterative Relaxation Some of the slides prepared by Lap Chi Lau.

Post on 28-Mar-2015

215 views 0 download

Tags:

transcript

Iterative Rounding and

Iterative Relaxation

Some of the slides prepared by Lap Chi

Lau

Steiner Network

• A graph G = (V,E);

• A connectivity requirement r(u,v) for each pair of vertices u,v.

Steiner Network

• A subgraph H of G which has r(u,v) disjoint paths between each pair u,v.

undirected or directed

edge or vertex

Examples of Steiner Network

• Spanning tree: r(u,v) = 1 for all pairs of vertices.

• Steiner tree: r(u,v) = 1 for all pair of required vertices.

• Steiner forest: r(si,ti) = 1 for all source sink pairs.

• k-edge-connected subgraph: r(u,v) = k for all pairs of vertices.

Survivable Network Design

Survivable network design: find a “good” Steiner network

Minimum cost Steiner network:

Given a cost c(e) on each edge,

find a Steiner network with minimum total cost.

e.g. minimum Steiner tree, k-edge-connected subgraph

NP-complete…

Linear Programming Relaxation

S

u v f(S) := max{ r(u,v) | S separates u

and v}.

at least r(u,v) edges crossing

S

• number of constraints is

exponential.

• can be handled by

Ellipsoid algorithm

• need a separation oracle

Approximating Survivable network Design

What does not seem to generalize … ?

• primal-dual algorithm for constrained Steiner forest

• only logarithmic approx. is known via this approach

• one shot rounding as in

• vertex cover - rounding up fractions ¸ ½

• set cover – randomized rounding

• combinatorial algorithms

• e.g., Steiner tree (reduction to spanning tree in the

metric completion graph)

New ideas are needed …

Basic Solutions (1)

A basic solution is the unique solution of

m linearly independent “tight” constraints,

where m is the number of variables in the LP.

A basic solution cannot be representedas a convex sum of feasible solutions

Basic Solutions (2)

An edge of 0, delete it.An edge of 1, pick it.

Tight inequalities all come from the connectivity requirements.

A basic solution is the unique solution of

m linearly independent “tight” constraints,

where m is the number of variables in the LP.

Petersen Graph: Non-Basic Feasible Solution

use every edge to the extent of 1/3.

e uvc 1 r, 1.

15 edges with 0 < x(e) < 110 tight constraints (at the vertices)

Basic Feasible Solution

black edge – ¼red edge – ½

Tight sets

LP Solutions

All 1/3 is a feasible solution.

But not a basic feasible solution

Thick edges have value 1/2;

Thin edges have value 1/4.

This is a basic feasible solution.

Theorem [Jain 98] Every basic feasible solution has an edge of 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:

o Find a basic optimal solution, x, of the LP with function f’.

o Add an edge with x(e) ≥ 1/2 into H.

o Update f’: for every set S, set

Output H.

By Jain’s Theorem

0.5

0.5 0.5

0.5

ef’(S)=2f’(S)=1

Corollary. This is a 2-approximation algorithm

for the minimum cost survivable network problem.

The residual problem is feasible.

LinearProgrammingSolver

SuitableRoundingProcedure

ProblemInstance

OptimalFractional

Solution

Integer

Solution

LinearProgrammingSolver

ProblemInstance

OptimalFractional

Solution

Part

IntegerGoodPart

Too muchFractional

Residual

Problem

Typical Rounding:

Iterative Rounding:

Laminar Basis

any pair of sets in the basis are either disjoint or contained

tree representation

Weak Supermodularity

A weakly supermodular function f satisfies:

Example: f(S) := max{ r(u,v) | S separates u

and v}.

or

Weakly supermodular functions are very useful

for obtaining a laminar basis

Important: when f is updated by setting x(e)=1

for some edges e, it remains weakly

supermodular

Obtaining a Laminar Basis

Uncrossing technique: A basic solution is defined by

a laminar family of tight connectivity constraints.

A B

A[B

AÅB

Tight constraints:

Proof of Jain’s Theorem

•There are |L| constraints.

•There are |E| variables.

Theorem [Jain]. Every basic solution has an edge with value at least 1/3

Assume every edge has value 0 < x(e) < 1/3.

Prove that |E| > |L| by a counting argument.

• At the beginning we give 2 tokens to each edge, 1 to each endpoint.

• At the end we redistribute the tokens so that each member in the

laminar family has at least 2 tokens, and there are still some tokens left.

Then this would imply |E| > |L|

Induction Basis

Assume every edge has value 0 < x(e) < 1/3.

1/4

1/41/4

1/4each leaf set has degree ¸ 4 otherwise 9e, x(e) · 1/3each leaf has 4 tokens

Inductive Step (1)

+2 +2 +2

+2 +2+2 +2

+2

Theorem [Jain]. Every basic solution has an edge with value at least 1/3

Induction Hypothesis: the root has 2 extra tokens (total of 4)

Inductive Step (2)

+2 +2

root has two children –each child can pass up 2 tokensroot has 4 tokens

root has one child and 2 new edges –child can pass up 2 tokensroot has 4 tokens

+2

Inductive Step (3)

root has one childroot has no new edgesbut \delta(child) = \delta(root)linear dependence

root has one child and only one new edge e (of the two in picture)both root and child are tight f(root) = f(child) + x(e) or f(root) = f(child) - x(e)but 0<x(e)<1 contradictingintegrality of f

e

e

Summary of Jain’s Algorithm

Theorem [Jain]. Every basic solution has an edge with value at least 1/3

Theorem [Jain]. Every basic solution has an edge with value at least ½

Proof is more involved …

Open Question: Combinatorial proof ?

Survivable Network Design

Survivable network design: find a “good” Steiner network

Minimum cost Steiner network:

Given a cost c(e) on each edge,

find a Steiner network with minimum total cost.

e.g. minimum spanning tree, minimum Steiner tree

Minimum degree Steiner network:

Find a Steiner network with minimum maximum

degree.

e.g. Hamiltonian path, Hamiltonian cycle

The Problem Statement

Goal: to find a good Steiner network w.r.t. to both criteria

Minimum cost Steiner network with degree constraints:

Given a cost c(e) on each edge,

find a Steiner network with minimum total cost,

so that every vertex has degree at most B.

Without degree bounds, this is the minimum cost Steiner network problem.

Without cost on edges, this is the minimum degree Steiner network problem.

Ideal Approximation

Minimum cost Steiner network with degree constraints:

Given a cost c(e) on each edge,

find a Steiner network with minimum total cost,

so that every vertex has degree at most B.

Let OPT(B) be the value of an optimal solution to this problem.

Ideally, we would like to return a solution so that:

SOL(B) ≤ c·OPT(B)

However, it cannot be done for any polynomial factor, even for B=2,

since this generalizes the minimum cost Hamiltonian path problem.

Bicriteria Approximation Algorithms

This implies a c-approximation for minimum cost Steiner network,

and an f(B)-approximation for minimum degree Steiner network.

Minimum cost Steiner network with degree constraints:

Given a cost c(e) on each edge,

find a Steiner network with minimum total cost,

so that every vertex has degree at most B.

Let OPT(B) be the value of an optimal solution to this problem.

A (c,f(B))-approximation algorithm if it returns a solution with

SOL(f(B)) ≤ c·OPT(B)maximum degree f(B) e.g. f(B)=2B+1

Minimum Bounded Degree Spanning Trees

Theorem [Furer and Raghavachari ’92]

Given k, there is a polynomial time algorithm which does the

following:

either the algorithm

(i) finds a spanning tree with maximum degree at most k+1.

(ii) shows that there is no spanning tree with maximum degree at

most k.Theorem [Goemans 06]:

Given k, there is a polynomial time algorithm that computes a

spanning tree with cost at most OPT(k) and maximum degree at most k+2.

uncrossing!

(1,B+2)

Results on Minimum Degree Survivable Networks

Minimum cost Minimum degree Bicriteria

Spanning tree 1 B+1 [FR] (1,B+2) [G]

Steiner tree 1.55 [RZ] B+1 [FR] (O(logn),O(logn)B)

Steiner forest 2 [AKR] ? ?

k-ec subgraph 2 [KV] O(log n)·B [FMZ] ?

Steiner network 2 [Jain] ? ?

Theorem [Lau,Naor,Salavatipour,Singh, STOC 07]:

There is a (2,2B+3)-approximation algorithm for the

minimum bounded degree Steiner network problem.

Corollary: There is a constant factor approximation algorithm

for the Minimum Degree Steiner Network problem.

(2,2B+3)

(2,2B+3)

(2,2B+3)

(2,2B+3)

2B+3

2B+3

2B+3

Linear Programming Relaxation

S

u v f(S) := max{ r(u,v) | S separates u

and v}.

At least r(u,v) edges crossing

S

Nonuniform degree bounds

First Try

Observation: Half edges are good for degree bounds as well.

Initialization: H = , f’ = f.

While f’ ≠ 0 do:

o Find a basic optimal solution, x, of the LP with function f’.

o Add an edge with x(e) ≥ 1/2 into H.

o Update f’: for every set S, set

o Update degree bounds:

Output H.

set Bv:=Bv-0.5 if e is incident on v.

The residual problem is feasible.

0.5

0.50.5

0.5eBv=

2Bv=1.

5

Problem: A half edge may not

exist!

The Difference

But integrality is important in the counting argument.

Uncrossing would just work fine.

fractional values

Bv=0.5

0.25 0.25

New Idea

Idea: Relax the problem by removing the

degree constraint for v if v is of “low” degree.

Intuition: Removing a constraint decreases the number of linearly

independent tight constraints, and makes the counting argument work.

Effect: Only violates the degree bound by

an additive constant.

Bv=0.5

0.25 0.25

Lemma [LNSS]: If every vertex is of degree 5 when its degree

constraint is present, then there is a half edge in a basic solution.

Counting

+2 +2 +3

+2 +2

By linear independence

+2 +2

+2

Theorem [LNSS]. Every basic solution has an edge with value at least 1/3

if every degree constraint has at least 5 edges.

Induction Hypothesis: The root has 2 extra tokens.

Iterative Relaxation

Initialization: H = , f’ = f.

While f’ ≠ 0 do:

o Find a basic optimal solution, x, of the LP with function f’.

o (Rounding) Add an edge with x(e) ≥ 1/2 into H.

o (Relaxing) Remove the degree constraint of v if v has degree ≤ 4

o Update the connectivity requirement f’

o Update degree bounds: set Bv:=Bv-1/2 if e is incident at v.

Output H.

An additive constant +3

A multiplicative factor 2

Theorem: There is a (2,2B+3)-approximation algorithm for

the minimum bounded degree Steiner network problem.

Additive Approximation

Theorem [Lau,Singh,STOC 08]: There is a (2,B+O(rmax))-approximation algorithm for the minimum bounded degree Steiner network problem.

Theorem [Lau,Singh,STOC 08]: There is a (2,B+3)-approximation algorithm

for the minimum bounded degree Steiner forest problem.

Minimum Bounded Degree Spanning Trees

Theorem [Singh,Lau,STOC 07]

There is an (1,B+1)-approximation algorithm for the

minimum bounded degree spanning tree problem.

Improves on the (1,B+2)-approximation of Goemans 2006

Directed Connectivity

(const, const)-approximation for certain directed

Connectivity problems

[LNSS STOC 07] [Bansal,Khandekar,Nagarajan,STOC 08]

Exact Formulations

•Spanning Tree

•Arborescence

•Matroid intersection

•Perfect matching in general graphs

•Rooted k-out-connected subgraphs

•Submodular flows

This method can be applied to prove LP formulations are exact.

Limitation: not simple to prove the dual is integral.

Approximation Algorithms

Some NP-hard problems are variants of basic problems.

• General assignment (bipartite matching)

• Multicriteria spanning trees

• Partial vertex cover

• Prize collecting Steiner trees

• Degree bounded matroids [Király,L,Singh,08]

• Degree bounded submodular flows [Király,L,Singh,08]

Open Problems

• TSP, ATSP?

• Other applications?

• Combinatorial algorithms?

• Connection to existing approaches?