1 / 17

Steiner tree LP

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

gabe
Télécharger la présentation

Steiner tree LP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Steiner tree LP xe = 1if edgeeis included in the Steiner tree. • Min.e cexe(primal) • s.t. • eÎ(S)xe≥ 1 • SÍV: SÇT≠Æ, T\S≠Æ • xe Î {0, 1} (1) • xe≥ 0 terminal terminal S Relax (1) to xe≥ 0 to get an LP.

  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. yS = width of this moat {yS }º moat packing around terminals. terminal non-terminal SÎS:eÎd(S) yS ≤ ce"e yS ≥ 0 v cuv Max. SÎS yS u Width of a feasible moat packing is a lower bound on OPT–Weak Duality.

  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. yS = payment that coalition S is willing to make to get itselfconnected terminal non-terminal SÎS:eÎd(S) yS ≤ ce"e yS ≥ 0 v cuv Max. SÎS yS u Any payment scheme yields a lower bound on OPT–Weak Duality.

  4. Primal-dual algorithm for Steiner tree Let S := {SÍV: SÇT≠Æ, T\S≠Æ} • Min.e cexe(primal) • eÎ(S)xe≥ 1 SÎS • xe≥ 0 Max. SÎS yS (dual) SÎS:eÎd(S) yS ≤ ce "e yS ≥ 0 Build an integer feasible primal solutionx and a dual feasible solutiony • Initialize F =Æ, yS = 0 for all SÎS. • V= minimal violated sets • = {SÎS: S is minimal s.t. d(S)ÇF=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. • (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 = Æ, yS = 0 for all SÎS t=0 terminal non-terminal v cuv u

  6. Primal-dual algorithm for Steiner tree in action • V:= {SÎS: S minimal s.t. FÇd(S)=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. t=2 t=1 terminal non-terminal edge in F v cuv u

  7. Primal-dual algorithm for Steiner tree in action • V:= {SÎS: S minimal s.t. FÇd(S)=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. t=3 terminal non-terminal edge in F v cuv u

  8. Primal-dual algorithm for Steiner tree in action • V:= {SÎS: S minimal s.t. FÇd(S)=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. t=3 terminal non-terminal edge in F v cuv u

  9. Primal-dual algorithm for Steiner tree in action • V:= {SÎS: S minimal s.t. FÇd(S)=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. t=3 terminal non-terminal edge in F v cuv u

  10. Primal-dual algorithm for Steiner tree in action • V:= {SÎS: S minimal s.t. FÇd(S)=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. t=4 terminal non-terminal edge in F v cuv u

  11. Primal-dual algorithm for Steiner tree in action • V:= {SÎS: S minimal s.t. FÇd(S)=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. t=4 terminal non-terminal edge in F v cuv u

  12. Primal-dual algorithm for Steiner tree in action • V:= {SÎS: S minimal s.t. FÇd(S)=Æ} • While V≠Æ • Raise yS uniformly "SÎV until some edge eÎd(S) for some SÎV goes tight. • F ¬ FÈ{e}. Update V. t=5 terminal non-terminal edge in F v cuv u

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

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

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

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

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

More Related