Presentation is loading. Please wait.

Presentation is loading. Please wait.

ICALP'05Stochastic Steiner without a Root1 Stochastic Steiner Trees without a Root Martin Pál Joint work with Anupam Gupta.

Similar presentations


Presentation on theme: "ICALP'05Stochastic Steiner without a Root1 Stochastic Steiner Trees without a Root Martin Pál Joint work with Anupam Gupta."— Presentation transcript:

1 ICALP'05Stochastic Steiner without a Root1 Stochastic Steiner Trees without a Root Martin Pál Joint work with Anupam Gupta

2 ICALP'05Stochastic Steiner without a Root2 Stochastic Optimization Decision making under uncertainity Logistics/inventory management/supply chain Stock market Network design/capacity planning Uncertainity modeled by probability Making decisions to optimize overall expected cost (profit)

3 ICALP'05Stochastic Steiner without a Root3 Outline Two-stage stochastic model with recourse Stochastic problems are hard to solve: Stochastic path vs. Multicommodity Rent or Buy Learning the distribution vs. solving the problem: how many samples are needed? Solution Approach: Boosted Sampling

4 ICALP'05Stochastic Steiner without a Root4 Network Design Problem Input: graph G, weights c e on edges, set of terminals g = {t 1, t 2, …, t n } Solution: a network connecting all terminals. Goal: minimize cost of the network built. Note: optimal network will be a Steiner tree.

5 ICALP'05Stochastic Steiner without a Root5 Stochastic Network Design What if the terminals are not known beforehand? Waiting until demand points become known is costly – building links on short notice is expensive. Pre-install some links at a discount to reduce cost – must decide before knowing demands. ? ? ? ? ? ?

6 ICALP'05Stochastic Steiner without a Root6 Two-stage model w. recourse On Monday, edges are cheap, but we do not know the set of terminals. We can buy some edges at low price. On Tuesday, set g of terminals materializes. We must buy edges to connect up g. Edges are now more expensive. drawn from a known distribution π

7 ICALP'05Stochastic Steiner without a Root7 The model Two stage stochastic model with recourse: Find F 1  Edges and F 2 : 2 Users  2 Edges to minimizecost 1 (F 1 ) + E π(g) [cost 2 (F 2 (g))] subject to connected(g, F 1  F 2 (g)) for all sets g  Users Want compact representation of F 2 by an algorithm cost(F 1 ) + σ E π(g) [cost(F 2 (g))] Assumption: cost 2 (X) = σ cost 1 (X) inflation factor

8 ICALP'05Stochastic Steiner without a Root8 Representing π Explicit list of scenarios: (g 1, π(g 1 )), (g 2, π(g 2 )),…, (g k, π(g k )) Oracle model: sampling oracle generates independent samples from π Theorem [CCP05]: Any distribution can be approximated by an explicit list of size poly(|G|, σ, 1/  ) using sampling.

9 ICALP'05Stochastic Steiner without a Root9 The Rent or Buy problem Input: weighted graph G set of demand pairs D, a constant M≥1 Solution: a set of paths, one for each (s i,t i ) pair. Goal: minimize cost of the network built.

10 ICALP'05Stochastic Steiner without a Root10 The Rent or Buy problem Rent or buy: Must rent or buy each edge. rent: pay 1 per unit length buy: pay M per unit length Goal: minimize rental+buying costs. Steiner forest: pay 1 for every edge used

11 ICALP'05Stochastic Steiner without a Root11 Rent or Buy = Stochastic Path Let g i ={s i,t i } π(g i ) = 1/n σ = M/n install e in first stage  buy e install e in second stage  rent e Stochastic Steiner = generalized RoB Each group g i has tree T i (may have exponentially many groups)

12 ICALP'05Stochastic Steiner without a Root12 First stage not connected subgraph Pr[ ] = Pr[ ] = ½ σ > 2 Two distant groups Two nearby groups

13 ICALP'05Stochastic Steiner without a Root13 The Algorithm 1. Boosted Sampling: Draw σ groups of clients g 1,g 2,…,g σ indep. from the distribution π. 2.Build a Steiner forest F 1 on {g 1,g 2,…,g σ } using an  -approx algorithm. 3. When actual group g of terminals appears, build a tree spanning g in G/F 1.

14 ICALP'05Stochastic Steiner without a Root14 Bounding the cost Expected first stage cost is small: Using  -approx, can get    OPT Theorem: Expected cost of bought edges is    OPT. Lemma: There is a forest F on sampled groups with E[cost(F)]  OPT. e installed in first stage OPT: Pr[e is in F] = 1 e not in first stage OPT: Pr[e is in F] ≤ σ Pr[e is in some T i ]

15 ICALP'05Stochastic Steiner without a Root15 Bounding the second stage cost Unselected groups pay their second stage cost Selected groups share first stage costs pays 1.st. pays 2.st pays 1.st Plan: Bound second stage cost by the first stage cost: Expected second stage( )   Expected share( ) pays 2.st pays 1.st

16 ICALP'05Stochastic Steiner without a Root16 Need a cost sharing algorithm Input: Set of demand groups S Output: Steiner forest F S on S cost share ξ(S,g) of each group g  S ξ({ }, ) = 4 ξ({ }, ) = 5 Set of demandsdemand group

17 ICALP'05Stochastic Steiner without a Root17 Cost Sharing for Steiner Forest (P1) Good approximation: cost(F S )   St * (S) (P2) Cost shares do not overpay:  g  S ξ(S,g)  St * (S) (P3) Strictness: let S’ = S  {g} MST(g) in G/ F S   ξ(S’,g) Example: S = { } g = Rental of if F S bought     of share if added to S

18 ICALP'05Stochastic Steiner without a Root18 Bounding second stage cost S’ = {g 1,g 2,…,g σ } and S = S’– { }. Imagine Pr[  S’ | S] = σ  π( ). E[rent( ) | S]  π( )  σ  MST( ) in G/F S E[buy( ) | S] = π( )  σ  ξ(S+, )      E[rent( )]    E[buy( )]  j  D E[rent(j)]    j  D E[buy(j)]   OPT

19 ICALP'05Stochastic Steiner without a Root19 Computing shares using the AKR-GW algorithm ξ( ): Active terminals share cost of growth evenly.

20 ICALP'05Stochastic Steiner without a Root20 AKR-GW is not enough 1+ε11 cost share( ) = 1/n +  rental( ) = 1 +  Solution: Force the algorithm to buy the middle edge - need to be careful not to pay too much Problem: cost shares do not pay enough!

21 ICALP'05Stochastic Steiner without a Root21 Forcing AKR-GW buy more 1+ε11 Idea: Inflate the balls! Roughly speaking, multiply each radius by  > 1

22 ICALP'05Stochastic Steiner without a Root22 The inflated AKR-GW 1.Run the standard AKR-GW algorithm on S 2.Note the time T j when each demand j frozen 3.Run the algorithm again, with new freezing rule: every demand j deactivated at time  T j for some  > 1 Freezing times

23 ICALP'05Stochastic Steiner without a Root23 The inflated AKR-GW (2) Freezing times Original AKR-GW Inflated AKR-GW Freezing times

24 ICALP'05Stochastic Steiner without a Root24 Why should inflating work? layer: only is contributing layer: terminals other than contributing ξ( ) large ξ( ) small, can take shortcuts

25 ICALP'05Stochastic Steiner without a Root25 The End Boosted sampling algorithm suggests that σ samples carry enough information about the distribution π. How general is this phenomenon? With non-uniform cost inflation, even Stochastic Path hard to approximate better than log 2 n [HK03]. Stochastic spanning tree O(log n) approximable [DRS05]. Expanding toolbox: Chance constraints, different objectives.. Stochastic processes with many decision stages Connections to machine learning, online algorithms

26 ICALP'05Stochastic Steiner without a Root26 Easy facts Fact: Any time t: u and v in the same cluster in Original  u and v in the same cluster in Inflated  Inflated has at most as many clusters as Original Theorem: Forest constructed by Inflated AKR-GW has cost at most (  +1)  OPT. Pf: adapted from [GW].

27 ICALP'05Stochastic Steiner without a Root27 Proving strictness Compare: Original(S+ )(cost shares) Inflated(S)(the forest we buy) Need to prove: MST( ) in G/ F S   ξ(S+, ) Lower bound on ξ(S+, ) : alone( ) Original(S+ ) must have connected terminals. Hence it contains a tree P spanning. Use it to bound MST( ).

28 ICALP'05Stochastic Steiner without a Root28 Simplifying.. Let  be time when Original(S+ ) connects terminals. Terminate Original(S+ ) at time . In Inflated(S), freeze each term. j at time  min(T j,  ). Simpler graph H: Contract all edges that Inflated(S) bought. Call the new graph H. Run both Original(S+ ) and Inflated(S) on H. Note that Inflated(S) on H does not buy any edges!

29 ICALP'05Stochastic Steiner without a Root29 Comparing Original(S+ ) & Inflated(S) Freezing times Original(S+ ) Inflated(S)

30 ICALP'05Stochastic Steiner without a Root30 Proof idea Correspondence of other (i.e. non-red) layers: Layer l in Original(S+ )  Layer l’ in Inflated(S) |Tree| = |Alone| + |Other|   |Other| ≤ |Tree| (  -1)  |Tree| ≤   |Alone| +  |Waste| + |Duplicates| If we can prove: we are done. |Waste| ≤ |Alone| |Duplicates| ≤ |Alone| + |Other|

31 ICALP'05Stochastic Steiner without a Root31 Bounding the Waste Claim: If a layer l contains t, then its corresponding inflated layer l’ also contains some t. Original(S+ ) Inflated(S) Pf: By picture. The only way of wasting a layer l is when the whole group lies inside l’.

32 ICALP'05Stochastic Steiner without a Root32 Bounding the Waste (2) l l’

33 ICALP'05Stochastic Steiner without a Root33 Bounding the Waste (3) l l’

34 ICALP'05Stochastic Steiner without a Root34 Bounding the Duplicates # edges cut = #clusters –1 # intersections = 2 # edges # cuts < 2 #clusters |Alone| + |Other|+|Duplicates| < 2(|Alone| + |Other|)

35 ICALP'05Stochastic Steiner without a Root35 Summing up |Tree| ≤ 4  /(  -2)  |Alone| Hence we have  +1 approximation algorithm with 4  /(  -2)-strict cost sharing. Setting  =4 we obtain a 5+8=13 approximation.

36 ICALP'05Stochastic Steiner without a Root36 Theorem: Inflated AKR-GW is a  +1 approximation. Pf: adopted from [GW]. ≤≥≠∫∏∑√∂∆≈∙  *** Useful Garbage ***


Download ppt "ICALP'05Stochastic Steiner without a Root1 Stochastic Steiner Trees without a Root Martin Pál Joint work with Anupam Gupta."

Similar presentations


Ads by Google