Upload
gabe
View
25
Download
0
Embed Size (px)
DESCRIPTION
Steiner tree LP. x e = 1 if edge e is included in the Steiner tree. Min. e c e x e (primal) s.t. e Î (S) x e ≥ 1 S Í V: S Ç T ≠ Æ , T\S ≠ Æ x e Î {0, 1} (1) x e ≥ 0. terminal. terminal. S. Relax (1) to x e ≥ 0 to get an LP. - PowerPoint PPT Presentation
Citation preview
Steiner tree LP
xe = 1 if edge e is included in the Steiner tree.
Min. e cexe (primal)
s.t.
e(S) xe ≥ 1
SV: ST≠, T\S≠
xe {0, 1} (1)
xe ≥ 0
Relax (1) to xe ≥ 0 to get an LP.
terminal
S
terminal
The Steiner tree dual:a combinatorial
motivationLet S := {SV: ST≠, T\S≠}Think of each set S in S as a region around which a “moat” has to be built.
yS = width of this moat
{yS } moat packing around terminals.
Width of a feasible moat packing is a lower bound on OPT – Weak Duality.
Max. SS yS
cuv
u
v SS:e(S) yS ≤ ce
eyS ≥ 0
terminalnon-terminal
The Steiner tree dual:an economic motivation
Let S := {SV: ST≠, T\S≠}Each set S in S represents a coalition of terminals.
yS = payment that coalition S is willing to make to get itselfconnected
Any payment scheme yields a lower bound on OPT – Weak Duality.
Max. SS yS
cuv
u
v SS:e(S) yS ≤ ce
eyS ≥ 0
terminalnon-terminal
Primal-dual algorithm for Steiner tree
Let S := {SV: ST≠, T\S≠}
Max. SS yS (dual)
SS:e(S) yS ≤ ce e
yS ≥ 0
Min. e cexe (primal)
e(S) xe ≥ 1 SSxe ≥ 0
Build an integer feasible primal solution x and a dual feasible solution y
1. Initialize F =, yS = 0 for all SS.V = minimal violated sets
= {SS: S is minimal s.t. (S)F= }
2. While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
3. (Reverse delete) Consider edges of F in reverse order, drop e if F\{e} is feasible.
Primal-dual algorithm for Steiner tree in action
F = , yS = 0 for all SS
cuv
u
v
terminalnon-terminal
t=0
Primal-dual algorithm for Steiner tree in action
V:= {SS: S minimal s.t. F(S)=}While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
cuv
u
v
terminalnon-terminal
t=1t=2
edge in F
Primal-dual algorithm for Steiner tree in action
cuv
u
v
terminalnon-terminal
t=3
edge in F
V:= {SS: S minimal s.t. F(S)=}While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
Primal-dual algorithm for Steiner tree in action
cuv
u
v
terminalnon-terminal
t=3
edge in F
V:= {SS: S minimal s.t. F(S)=}While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
Primal-dual algorithm for Steiner tree in action
cuv
u
v
terminalnon-terminal
t=3
edge in F
V:= {SS: S minimal s.t. F(S)=}While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
Primal-dual algorithm for Steiner tree in action
cuv
u
v
terminalnon-terminal
t=4
edge in F
V:= {SS: S minimal s.t. F(S)=}While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
Primal-dual algorithm for Steiner tree in action
cuv
u
v
terminalnon-terminal
t=4
edge in F
V:= {SS: S minimal s.t. F(S)=}While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
Primal-dual algorithm for Steiner tree in action
cuv
u
v
terminalnon-terminal
t=5
edge in F
V:= {SS: S minimal s.t. F(S)=}While V≠ – Raise yS uniformly SV until some
edge e(S) for some SV goes tight.
– F F{e}. Update V.
Primal-dual algorithm for Steiner tree in action
Reverse delete: Consider edges of F in reverse insertion order and delete e if F\{e} is feasible
cuv
u
v
terminalnon-terminal
t=5
edge in F
Primal-dual algorithm for Steiner tree in action
Reverse delete: Consider edges of F in reverse insertion order and delete e if F\{e} is feasible
cuv
u
v
terminalnon-terminal
t=5
edge in F
Primal-dual algorithm for Steiner tree in action
Reverse delete: Consider edges of F in reverse insertion order and delete e if F\{e} is feasible
cuv
u
v
terminalnon-terminal
t=5
edge in F
Primal-dual algorithm for Steiner tree in action
Reverse delete: Consider edges of F in reverse insertion order and delete e if F\{e} is feasible
cuv
u
v
terminalnon-terminal
t=5
edge in F
Primal-dual algorithm for Steiner tree in action
Final Steiner Tree
cuv
u
v
terminalnon-terminal
t=5
edge in F