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 ...
-
Upload
adam-briggs -
Category
Documents
-
view
214 -
download
0
Transcript of 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 ...
![Page 1: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/1.jpg)
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
![Page 2: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/2.jpg)
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
![Page 3: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/3.jpg)
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
![Page 4: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/4.jpg)
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.
![Page 5: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/5.jpg)
Primal-dual algorithm for Steiner tree in action
F = , yS = 0 for all SS
cuv
u
v
terminalnon-terminal
t=0
![Page 6: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/6.jpg)
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
![Page 7: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/7.jpg)
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.
![Page 8: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/8.jpg)
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.
![Page 9: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/9.jpg)
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.
![Page 10: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/10.jpg)
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.
![Page 11: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/11.jpg)
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.
![Page 12: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/12.jpg)
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.
![Page 13: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/13.jpg)
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
![Page 14: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/14.jpg)
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
![Page 15: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/15.jpg)
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
![Page 16: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/16.jpg)
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
![Page 17: 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](https://reader036.fdocuments.us/reader036/viewer/2022082713/5697bfa81a28abf838c998b1/html5/thumbnails/17.jpg)
Primal-dual algorithm for Steiner tree in action
Final Steiner Tree
cuv
u
v
terminalnon-terminal
t=5
edge in F