Kamal Jain

Iterative Rounding in Graph
Connectivity Problems
Kamal Jain
ex- Georgia Techie
Microsoft Research
Some slides borrowed from Lap Chi Lau.
The Main Object
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 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
Three Kinds of Problems
Only the first objective: Minimize the cost of the edges.
Only the second objective: Minimize the maximum degree.
Both objectives: Minimize the cost of the edges as well as the maximum degree.
Minimum cost Steiner Network
Given
•A an undirected graph G = (V,E),
• Cost c(e) on edges, and
• A connectivity requirement r(u,v) for each pair of vertices u,v.
Feasibility
•A subgraph H of G which has r(u,v) edge disjoint paths between each pair u,v.
Objective
•Minimize the cost of H.
Result: Factor 2 approximation algorithm.
Linear Programming Relaxation
At least r(u,v)
edges crossing S
S
u
v
Write f(S) := max{ r(u,v) | S separates u and v}.
Typical Rounding:
Problem
Instance
Linear
Programming
Solver
Optimal
Fractional
Solution
Suitable
Rounding
Procedure
Integer
Solution
Iterative Rounding:
Problem
Instance
Linear
Programming
Solver
Optimal
Fractional
Solution
Good
Part
Too much
Fractional
Integer
Part
Residual
Problem
Linear Programming Relaxation
Theorem [J]. Every basic solution has an edge with value at least 1/2
A half edge
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
By previous Theorem
Output H.
0.5
The residual problem is feasible.
f’(S)=1
f’(S)=2
e
0.5
Corollary. This is a 2-approximation algorithm
for the minimum cost Steiner network problem.
0.5
0.5
A Proof Sketch
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.
A Proof Sketch
Each tight constraint corresponds to a set of vertices in the graph.
Uncrossing technique: uncross “intersecting” sets
A
B
AÅB
A[B
A Proof Sketch
In a basic solution,
number of linearly independent tight constraints = number of edges
If there are no half-edges, derive a contradiction by a counting argument.
no intersecting tight sets => number of
linearly independent tight constraints is small
Contradiction!
1/3
1/3
1/3
no half-edges =>
number of edges is large
Laminar family
Iterative Rounding
Theorem [J]. Iterative rounding gives factor 2 approximation algorithm.
≤ 2a
Cost
a
b
x e  0.5
x e  0.5
Theorem
≤b
x e is an integer.
≤2a
Re-Optimize Induction
≤2b
Integer
Integer
One shot rounding is hard
e.g., Petersen Graph
ce  1, ruv  1.
Use every edge to the
extent of 1/3.
Basic Feasible Solution
Tight sets
The Problem Statement with both objectives
Goal: to find a good Steiner network w.r.t. to both criterion
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+10
This implies a c-approximation for minimum cost Steiner network,
and a f(B)-approximation for minimum degree Steiner network.
Results without and with Iterative Rounding
Minimum cost
Minimum degree
Bicriteria
Spanning tree
1
B+1 [FR]
B+1)[G]
(1,(1,B+2)
Steiner tree
1.55 [RZ]
B+1 [FR]
(O(logn),O(logn)B)
(2,2B+3)
Steiner forest
2 [AKR]
2B+3
?
(2,2B+3)
?
k-ec subgraph
2 [KV]
O(log n)·B
2B+3 [FMZ]
?
(2,2B+3)
Steiner network
2 [J]
2B+3
?
(2,2B+3)
?
Main Theorem [LNSS]: There is a (2,2B+3)-approximation algorithm
for the minimum Steiner network problem with degree constraints.
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
Write f(S) := max{ r(u,v) | S separates u and v}.
Nonuniform degree bounds
Linear Programming Relaxation
Theorem [J]. Every basic solution has an edge with value at least 1/2
A half edge
Nonuniform degree bounds
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
By previous Theorem
Output H.
0.5
The residual problem is feasible.
f’(S)=1
f’(S)=2
e
0.5
Corollary. This is a 2-approximation algorithm
for the minimum cost Steiner network problem.
0.5
0.5
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: set Bv:=Bv-1 if e is incident on v.
Output H.
0.5
The residual problem may not be feasible!
0.5
Bv=2
=1
e
0.5
0.5
First Try
Observation: Half edges are good for degree bounds as well.
Initialization: H =
, f’ = f.
While f’ ≠ 0 do:
Problem: A half edge
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.
0.5
The residual problem is feasible.
0.5
Bv=2
=1.5
e
0.5
0.5
A Proof Sketch
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.
A Proof Sketch
Each tight constraint corresponds to a set of vertices in the graph.
Uncrossing technique: uncross “intersecting” sets
A
B
AÅB
A[B
A Proof Sketch
In a basic solution,
number of linearly independent tight constraints = number of edges
If there are no half-edges, derive a contradiction by a counting argument.
no intersecting tight sets => number of
linearly independent tight constraints is small
Contradiction!
1/3
1/3
1/3
no half-edges =>
number of edges is large
Laminar family
The Difference
Back to our current problem.
Why a half edge may not exist with fractional degree constraints?
fractional values
Uncrossing would just work fine.
But integrality is important in the counting argument.
0.25
0.25
Bv=0.5
New Idea
0.25
0.25
Idea: Relax the problem by removing the
degree constraint for v if v is of “low” degree.
Bv=0.5
Reason: Only violate the degree bound by
an additive constant.
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 constraint, and makes the counting argument work.
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 f’: for every set S, set
o
Update degree bounds: set Bv:=Bv-0.5 if e is incident at v.
An additive constant +3
Output H.
Main Theorem [LNSS]: There is a (2,2B+3)-approximation algorithm
for the minimum Steiner network problem with degree constraints.
Concluding Remarks
Main Theorem [LNSS]: There is a (2,2B+3)-approximation algorithm
for the minimum Steiner network problem with degree constraints.
Question: Is there an additive approximation for this problem?
[LS] There is a (1, B+1)-approximation algorithm for degree bounded
minimum spanning tree problem.
There is a (2, B+9)-approximation algorithm for the minimum Steiner
forest problem with degree constraints.
There is a (2, B + 6rmax+3)-approximation algorithm for the degree
bounded minimum Steiner network problem.
Concluding Remarks
The iterative relaxation method provides a unifying
algorithmic framework for many network design problems.
This method can be applied to other approximation algorithms.
e.g. prize collecting Steiner trees, multi-criteria spanning trees,
partial covering problem, degree-constrained graph orientations, etc.
And even for many polynomial time solvable problems.
e.g. matchings, matroid intersection, submodular flows, Frank-Tardos, etc.
A course is prepared by Mohit Singh on the topic.
A big thanks!