Survivable Network Design with Degree or Order Constraints

The Primal-Dual Method:
Steiner Forest
Network Design
•
•
Input:
•
undirected graph G=(V,E)
•
cost function: c:E ! R+
•
connectivity requirements
Output:
•
•
minimum cost subgraph satisfying connectivity requirements
Example:
•
minimum spanning tree: minimum cost subgraph connecting all
vertices
Steiner Tree
•
Input:
•
•
•
set of terminals T = {t1, …, tk} µ V
Output:
•
minimum cost subgraph connecting T
•
NP-complete
Algorithm:
•
define complete graph H on T
•
c(ti, tj) = shortest path in G from ti to tj
•
find a minimum spanning tree F in H
•
replace each edge in F by the corresponding path in G (delete
cycles)
Steiner Tree: Analysis
•
F* - optimal Steiner tree in G
•
duplicate each edge in F* - all degrees are even
•
open up F* into a (Euler) cycle Z
•
•
Z can be transformed into a spanning tree in H:
•
•
c(Z) =2c(F*)
for any t,t’ 2 T: cZ(t,t’) ¸ cH(t,t’)
Approximation factor = 2
Constrained Steiner Forest Problem
•
•
Input:
•
undirected graph G=(V,E)
•
cost function: c:E ! R+
•
disjoint sets T1, … ,Tk ½ V
Output:
•
minimum cost subgraph H such that each set Ti
belongs to a connected component of H
Requirement function f: S ! {0,1}
8S½V
f(S) =1 if there is a set Ti split between S and V-S
f(S) =0 otherwise
Note: f(S)=f(V-S), f is a function on cuts
S
Examples of Requirement Functions
•
Steiner tree: for any cut S separating
terminals, f(S)=1
•
shortest path between s and t: for any cut S
separating s and t, f(S)=1
•
minimum weight perfect matching:
f(S) =1 iff |S| is odd
(At least one vertex is matched outside S)
Linear Programming Formulation
X
minimize
X
maximize
ce x e
S½V
e2 E
subject t o:
X
x(e) ¸ f (S)
S ½V
subject t o:
X
yS · ce
ej e2 ±( S)
Sj e2 ±( S)
xe ¸ 0
yS ¸ 0
Covering LP
f (S)yS
e2 E
Packing LP
S
δ(S)
Integrality Gap Example
•
Minimum spanning tree: all cuts are covered
•
Graph: cycle on n vertices, unit cost edges
•
•
•
Optimal integral solution: cost is n-1
Optimal fractional solution:
•
for each edge e, x(e)=1/2
•
all cuts are covered
•
cost is n/2
Gap is 2-1/n
Primal-Dual Algorithm
•
yÃ0
•
A à ; (x à 0)
•
While A is not a feasible solution
•
C - set of connected components S 2 (V,A) such
that f(S)=1
•
increase yS for all S 2 C until dual constraint for
new e 2 E becomes tight
•
•
A Ã A [ {e}
Remove unnecessary edges from A
Primal-Dual Algorithm
•
yÃ0
•
A à ; (x à 0)
•
While A is not a feasible solution
•
C - set of connected components S 2 (V,A) such
that f(S)=1
•
increase yS for all S 2 C until dual constraint for
new e 2 E becomes tight
•
A Ã A [ {e}
6
7
15
10
•
Remove unnecessary edges from A
A’ – final solution
40
9
5
Demo of Primal-Dual Algorithm
Analysis (1)
Lemma: The primal solution generated by the algorithm
satisfies the requirement constraints
Proof: The `while’ loop continues till we get a feasible
solution
Lemma: The dual solution generated by the algorithm is
feasible
Proof: Whenever an edge becomes tight, no more cuts
are “packed” into it
Analysis (2)
Goal: charge the increase in primal cost in each
iteration to the increase in dual cost
X
)
X
ce · 2
e2 A 0
yS
S½V
Why is it important that we delete redundant
edges at the end?
Otherwise, we cannot charge tight primal edges to
a single dual variable (the ball) – too many such
edges!
Analysis (3):
X
X
ce · 2 ¢
e2 A 0
yS
S½V
Since every picked edge is t ight ,
0
X
X
ce =
e2 A 0
e2 A 0
Need t o show
S½V
@
e2 A 0
Changing order of summat ion,
0
X
X
@
ce =
1
X
yS A
Sj e2 ±( S)
1
X
X
yS A =
degA 0 (S) ¢yS
Sj e2 ±( S) \ A 0
S½V
X
X
degA 0 (S) ¢yS · 2 ¢
S½V
S½V
yS
X
Analysis (4):
X
degA 0 (S) ¢yS · 2 ¢
S½V
yS
S½V
consider an it erat ion in which act ive balls grew by ¢ . Need t o show:
Ã
!
X
¢ £
degA 0 (S)¢ · 2¢ £ (# of act ive set s)
S½V
t hat is,
Ã
!
X
degA 0 (S)
· 2 £ (# of act ive set s)
S½V
A 0 is a forest and each act ive set has non-zero degree.
in a t ree, average degree · 2 !!