Presentation is loading. Please wait.

Presentation is loading. Please wait.

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 

Similar presentations


Presentation on theme: "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 "— Presentation transcript:

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  {0, 1}(1) x e ≥ 0 Relax (1) to x e ≥ 0 to get an LP. terminal S

2 The Steiner tree dual: a combinatorial motivation Let S := {S  V: S  T≠ , T\S≠   } Think of each set S in S as a region around which a “moat” has to be built. y S = width of this moat {y S }  moat packing around terminals. Width of a feasible moat packing is a lower bound on OPT – Weak Duality. Max.  S  S y S c uv u v  S  S :e  (S) y S ≤ c e  e y S ≥ 0 terminal non-terminal

3 The Steiner tree dual: an economic motivation Let S := {S  V: S  T≠ , T\S≠   } Each set S in S represents a coalition of terminals. y S = payment that coalition S is willing to make to get itselfconnected Any payment scheme yields a lower bound on OPT – Weak Duality. Max.  S  S y S c uv u v  S  S :e  (S) y S ≤ c e  e y S ≥ 0 terminal non-terminal

4 Primal-dual algorithm for Steiner tree Let S := {S  V: S  T≠ , T\S≠   } Max.  S  S y S (dual)  S  S :e  (S) y S ≤ c e  e y S ≥ 0 Min.  e c e x e (primal)  e  (S) x e ≥ 1  S  S x e ≥ 0 Build an integer feasible primal solution x and a dual feasible solution y 1.Initialize F = , y S = 0 for all S  S. V = minimal violated sets = {S  S : S is minimal s.t.  (S)  F=  } 2.While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V. 3.(Reverse delete) Consider edges of F in reverse order, drop e if F\{e} is feasible.

5 Primal-dual algorithm for Steiner tree in action F = , y S = 0 for all S  S c uv u v terminal non-terminal t=0

6 Primal-dual algorithm for Steiner tree in action V := {S  S : S minimal s.t. F  (S)=  } While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V. c uv u v terminal non-terminal t=1 t=2 edge in F

7 Primal-dual algorithm for Steiner tree in action c uv u v terminal non-terminal t=3 edge in F V := {S  S : S minimal s.t. F  (S)=  } While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V.

8 Primal-dual algorithm for Steiner tree in action c uv u v terminal non-terminal t=3 edge in F V := {S  S : S minimal s.t. F  (S)=  } While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V.

9 Primal-dual algorithm for Steiner tree in action c uv u v terminal non-terminal t=3 edge in F V := {S  S : S minimal s.t. F  (S)=  } While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V.

10 Primal-dual algorithm for Steiner tree in action c uv u v terminal non-terminal t=4 edge in F V := {S  S : S minimal s.t. F  (S)=  } While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V.

11 Primal-dual algorithm for Steiner tree in action c uv u v terminal non-terminal t=4 edge in F V := {S  S : S minimal s.t. F  (S)=  } While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V.

12 Primal-dual algorithm for Steiner tree in action c uv u v terminal non-terminal t=5 edge in F V := {S  S : S minimal s.t. F  (S)=  } While V ≠  –Raise y S uniformly  S  V until some edge e  (S) for some S  V goes tight. –F  F   {e}. Update V.

13 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 c uv u v terminal non-terminal t=5 edge in F

14 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 c uv u v terminal non-terminal t=5 edge in F

15 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 c uv u v terminal non-terminal t=5 edge in F

16 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 c uv u v terminal non-terminal t=5 edge in F

17 Primal-dual algorithm for Steiner tree in action Final Steiner Tree c uv u v terminal non-terminal t=5 edge in F


Download ppt "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 "

Similar presentations


Ads by Google