Documents
User Generated
Resources
Learning Center

# Survivable Network Design with Degree or Order Constraints

VIEWS: 5 PAGES: 41

• pg 1
									   Iterative Rounding and
Iterative Relaxation

Some of the slides prepared by Lap Chi Lau
Steiner Network

undirected or directed

• 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.

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

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

Minimum cost Steiner network:
Given a cost c(e) on each edge,
find a Steiner network with minimum total cost.

NP-complete…
Linear Programming Relaxation

at least r(u,v)
edges crossing S
S

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

• 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 represented
as a convex sum of feasible solutions
Basic Solutions (2)

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

A basic solution is the unique solution of
m linearly independent “tight” constraints,
where m is the number of variables in the LP.

Tight inequalities all come from the connectivity requirements.
Petersen Graph: Non-Basic Feasible Solution

ce  1, ruv  1.

15 edges with 0 < x(e) < 1
10 tight constraints (at
use every edge to the
the vertices)                     extent of 1/3.
Basic Feasible Solution

black edge – ¼
red edge – ½
Tight sets
LP Solutions

All 1/3 is a feasible solution.

But not a basic feasible solution

This is a basic feasible solution.

Thick edges have value 1/2;
Thin edges have value 1/4.

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.           By Jain’s Theorem

o    Update f’: for every set S, set

Output H.
f’(S)=1
f’(S)=2
0.5             e
The residual problem is feasible.
0.5

Corollary. This is a 2-approximation algorithm
for the minimum cost survivable network problem.
0.5                        0.5
Typical Rounding:

Optimal
Linear                     Suitable     Integer
Problem                  Fractional
Programming                Rounding
Instance                 Solution     Procedure    Solution
Solver

Iterative Rounding:
Integer
Good
Optimal      Part         Part
Problem    Linear        Fractional
Programming
Instance   Solver        Solution
Residual
Too much
Fractional   Problem
Laminar Basis

tree representation

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

A weakly supermodular function f satisfies:

or

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

Important: when f is updated by setting x(e)=1 for
some edges e, it remains weakly supermodular

Weakly supermodular functions are very useful for
obtaining a laminar basis
Obtaining a Laminar Basis

Tight constraints:

Uncrossing technique: A basic solution is defined by
a laminar family of tight connectivity constraints.
A[B

A                              B
AÅB
Proof of Jain’s Theorem

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

•There are |L| constraints.

•There are |E| variables.

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

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

1/4
1/4
Inductive Step (1)

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

+2

+2          +2             +2   +2

+2        +2                        +2

Theorem [Jain]. Every basic solution has an edge with value at least 1/3
Inductive Step (2)

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

+2   +2

root has one child and 2 new edges –
child can pass up 2 tokens
root has 4 tokens
Inductive Step (3)

root has one child
root has no new edges
but \delta(child) = \delta(root)
linear dependence

root has one child and only one
new edge e (of the two in picture)   e
both root and child are tight
f(root) = f(child) + x(e)
or
f(root) = f(child) - x(e)             e
integrality of f
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

e.g. minimum spanning tree, minimum Steiner tree

Minimum cost Steiner network:
Given a cost c(e) on each edge,
find a Steiner network with minimum total cost.

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

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

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

This implies a c-approximation for minimum cost Steiner network,
and an f(B)-approximation for minimum degree Steiner network.
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.

(1,B+2)                     uncrossing!
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]             (2,2B+3)
(O(logn),O(logn)B)

Steiner forest         2 [AKR]               2B+3
?                  (2,2B+3)
?

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

Steiner network          2 [Jain]             2B+3
?                  (2,2B+3)
?

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.
Linear Programming Relaxation

At least r(u,v)
edges crossing S
S

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

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

Initialization: H =   , f’ = f.
Problem: A half edge
While f’ ≠ 0 do:                                may not exist!

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: set Bv:=Bv-0.5 if e is incident on v.

Output H.                                                      Bv=2
=1.5
0.5       e      0.5

The residual problem is feasible.
0.5
0.5
The Difference

fractional values

Uncrossing would just work fine.

0.25        0.25
But integrality is important in the counting argument.
Bv=0.5
New Idea

Idea: Relax the problem by removing the
0.25        0.25
degree constraint for v if v is of “low” degree.

Bv=0.5

Effect: Only violates the degree bound by

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.

Intuition: Removing a constraint decreases the number of linearly
independent tight constraints, and makes the counting argument work.
Counting

Induction Hypothesis: The root has 2 extra tokens.

+2

+2          +2              +2   +2

+2        +2                      +3
By linear independence

Theorem [LNSS]. Every basic solution has an edge with value at least 1/3
if every degree constraint has at least 5 edges.
Iterative Relaxation
Initialization: H =   , f’ = f.

While f’ ≠ 0 do:                                   A multiplicative factor 2

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’ An additive constant +3

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

Output H.

Theorem: There is a (2,2B+3)-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.

Theorem [Lau,Singh,STOC 08]: There is a (2,B+O(rmax))-approximation
algorithm for the minimum bounded degree Steiner network 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

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

•Spanning Tree

•Arborescence

•Matroid intersection

•Perfect matching in general graphs

•Rooted k-out-connected subgraphs

•Submodular flows

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?


To top