steiner tree lp

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 SV: ST≠, T\S≠ x e {0, 1} (1) x e ≥ 0 Relax (1) to x e ≥ 0 to get an LP. termin al S termin al

Upload: gabe

Post on 06-Jan-2016

25 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: Steiner tree LP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Primal-dual algorithm for Steiner tree in action

Final Steiner Tree

cuv

u

v

terminalnon-terminal

t=5

edge in F