Robust Network Design with Exponential Scenarios By: Rohit Khandekar Guy Kortsarz Vahab Mirrokni Mohammad Salavatipour
Outline Robust vs. Stochastic Optimization Robust vs. Stochastic Optimization Robust Two-stage Network Design Problems Robust Two-stage Network Design Problems Related Work: Stochastic vs. Robust Related Work: Stochastic vs. Robust Our Results Our Results Algorithm for Robust Steiner Tree Algorithm for Robust Steiner Tree Conclusion Conclusion
Optimization Against Uncertainty Stochastic Optimization. Stochastic Optimization. Optimize the expected cost given the probability distribution on the scenarios Optimize the expected cost given the probability distribution on the scenarios Playing against a randomized uncertainty. Playing against a randomized uncertainty. Robust Optimization. Robust Optimization. Optimize for the worst case scenarios. Optimize for the worst case scenarios. Playing against an adversary. Playing against an adversary.
Two-stage Optimization Construct a partial solution in stage one. Construct a partial solution in stage one. Wait for a real scenario to show up. Wait for a real scenario to show up. Complete the solution and pay more if you buy things in the second step. Complete the solution and pay more if you buy things in the second step. Goal: Decide what to buy in advance and what to do in step two for each scenario. Goal: Decide what to buy in advance and what to do in step two for each scenario.
Exponential vs. Polynomial Scenarios. Polynomial Scenarios: explicit Scenarios. Polynomial Scenarios: explicit Scenarios. Stochastic Optimization: The probability of each scenario is explicitly given. Stochastic Optimization: The probability of each scenario is explicitly given. Robust Optimization: All scenarios are specified. Robust Optimization: All scenarios are specified. Exponential Scenarios: implicit Scenarios Exponential Scenarios: implicit Scenarios Stochastic Optimization: Implicit probability distribution is given, e.g., each client t will show up with probability p t. Stochastic Optimization: Implicit probability distribution is given, e.g., each client t will show up with probability p t. Robust Optimization: Family of scenarios are defined implicitly, e.g., an upper bound on the number of clients is given, i.e., at most k clients will show up. Robust Optimization: Family of scenarios are defined implicitly, e.g., an upper bound on the number of clients is given, i.e., at most k clients will show up.
2-stage Robust Steiner Tree Given: Given: Edge-weighted graph G(V, E) each edge e with cost c e. Edge-weighted graph G(V, E) each edge e with cost c e. Nodes of G correspond to clients. Nodes of G correspond to clients. Scenarios T 1, T 2, …, T p which are the subsets of nodes one of which we will need to connect at the end. Scenarios T 1, T 2, …, T p which are the subsets of nodes one of which we will need to connect at the end. An inflation factor q for the increased cost in the second step. An inflation factor q for the increased cost in the second step. Output: Buy a subset E 1 of edges of G in advance. Output: Buy a subset E 1 of edges of G in advance. Adversary will choose (the worst) scenario T i and we need to buy another subset of edges E’ at a larger cost qc e for each edge e such that E 1 U E’ connects all nodes in T i Adversary will choose (the worst) scenario T i and we need to buy another subset of edges E’ at a larger cost qc e for each edge e such that E 1 U E’ connects all nodes in T i Goal: minimize total cost = c(E 1 ) + q c(E’) Goal: minimize total cost = c(E 1 ) + q c(E’)
2-stage Robust Steiner Tree (Exponential Scenarios) Given: Given: edge-weighted graph G(V, E); a set of terminals T edge-weighted graph G(V, E); a set of terminals T A parameter k: k terminals (clients) will show up. A parameter k: k terminals (clients) will show up. Inflation factor q: edge costs increase in second step. Inflation factor q: edge costs increase in second step. Output: Buy a subset E 1 in stage one; k terminals are given in stage 2 and we need to buy another subset of edges E’ at cost qc e for each edge e s.t. E 1 U E’ connects all the k terminals. Output: Buy a subset E 1 in stage one; k terminals are given in stage 2 and we need to buy another subset of edges E’ at cost qc e for each edge e s.t. E 1 U E’ connects all the k terminals. Goal: minimize total cost = c(E 1 ) + q c(E’) Goal: minimize total cost = c(E 1 ) + q c(E’)
Other Robust 2-stage Problems Robust Network Design: Robust Network Design: Robust Steiner Forest: at most k pairs show up. Robust Steiner Forest: at most k pairs show up. Robust Facility Location. Robust Facility Location. At most k clients will show up. We buy a set of facilities in advance. At most k clients will show up. We buy a set of facilities in advance. Adversary chooses the worst k clients for us to cover. Adversary chooses the worst k clients for us to cover. We should open new facilities at larger cost & minimize the total opening cost + connection costs. We should open new facilities at larger cost & minimize the total opening cost + connection costs. Other Robust Covering Problems: Other Robust Covering Problems: Robust Set Cover. Robust Set Cover. Robust Vertex Cover. Robust Vertex Cover. Robust two-stage Min-cut. Robust two-stage Min-cut.
Robust Min Cut Problem Robust 2-stage Min-cut: Robust 2-stage Min-cut: Given: Given: An edge-weighted graph G(V, E) each edge e with cost c_e. An edge-weighted graph G(V, E) each edge e with cost c_e. Pairs of nodes of G correspond to clients. Pairs of nodes of G correspond to clients. An inflation factor q for the increased cost in the second step. An inflation factor q for the increased cost in the second step. Output: Buy a subset E_1 of edges of G in advance. Output: Buy a subset E_1 of edges of G in advance. Adversary will choose (the worst) pair (s_i, t_i) and we need to buy another subset of edges E’ at a larger cost qc_e for each edge e such that E_1 U E’ disconnects s_i and t_i. Adversary will choose (the worst) pair (s_i, t_i) and we need to buy another subset of edges E’ at a larger cost qc_e for each edge e such that E_1 U E’ disconnects s_i and t_i. Goal: Choose a subset E_1 with the minimum total cost (Total Cost = cost of E_1 + q times cost of E’). Goal: Choose a subset E_1 with the minimum total cost (Total Cost = cost of E_1 + q times cost of E’).
Outline Robust vs. Stochastic Optimization Robust vs. Stochastic Optimization Robust Two-stage Network Design Problems Robust Two-stage Network Design Problems Related Work: Stochastic vs. Robust Related Work: Stochastic vs. Robust Our Results Our Results Algorithm for Robust Steiner Tree Algorithm for Robust Steiner Tree Conclusion Conclusion
Related Work Stochastic Two-stage Optimization: Stochastic Two-stage Optimization: Dye, Stougie, and Tomasgard: Two-stage matching problems Dye, Stougie, and Tomasgard: Two-stage matching problems Considered by Immorlica, Karger, Minkoff, and Mirrokni [IKMM] (SODA03) and Ravi and Sinha (IPCO03) (Two-stage covering problems). Considered by Immorlica, Karger, Minkoff, and Mirrokni [IKMM] (SODA03) and Ravi and Sinha (IPCO03) (Two-stage covering problems). IKMM considered the exponential scenarios: each client shows up with probability p. IKMM considered the exponential scenarios: each client shows up with probability p. Improved by Gupta, Pal, Ravi, and Sinha (STOC03) using Boosted Sampling: constant-factor approximation for Steiner tree. Also later considered the black box model. Improved by Gupta, Pal, Ravi, and Sinha (STOC03) using Boosted Sampling: constant-factor approximation for Steiner tree. Also later considered the black box model. Swamy and Shmoys (FOCS04): O(log n)-approximation algorithm for two-stage stochastic set cover via solving an exponential linear program. Swamy and Shmoys (FOCS04): O(log n)-approximation algorithm for two-stage stochastic set cover via solving an exponential linear program. Multi-stage Optimization: Multi-stage Optimization: Swamy and Shmoys (FOCS05): sample average approximation. Swamy and Shmoys (FOCS05): sample average approximation.
Related Work Robust Two-stage Optimization: Initiated by Ben-Tal, Gorashko, Guslitzer, and Nemirovski. Initiated by Ben-Tal, Gorashko, Guslitzer, and Nemirovski. Polynomial Number of Scenarios: Polynomial Number of Scenarios: Introduced by Dhamhere, Goyal, Ravi, and Singh (FOCS05): Facility Location & Steiner Tree Introduced by Dhamhere, Goyal, Ravi, and Singh (FOCS05): Facility Location & Steiner Tree Constant-factor approximation algorithms Constant-factor approximation algorithms Improved by Golovin, Goyal, and Ravi (STACS06): Min Cut. Improved by Golovin, Goyal, and Ravi (STACS06): Min Cut. Constant-factor approximation algorithm for Min-cut (Is it NP-Hard?) Constant-factor approximation algorithm for Min-cut (Is it NP-Hard?)
Exponential Scenarios: Known Results Feige, Jain, Mahdian, Mirrokni (IPCO 07) Feige, Jain, Mahdian, Mirrokni (IPCO 07) LP-based Approximation Algorithms for Robust Covering: Exponential Size LP. LP-based Approximation Algorithms for Robust Covering: Exponential Size LP. General Framework for covering problems: Online Competitive Algorithms Two-stage Robust Approximation Algorithms. General Framework for covering problems: Online Competitive Algorithms Two-stage Robust Approximation Algorithms. constant-factor approximation for robust vertex. constant-factor approximation for robust vertex. O(log m log n)-approximation for robust set cover O(log m log n)-approximation for robust set cover O(log m)-approximation for robust metric facility location: Constant-factor approximation for facility location? O(log m)-approximation for robust metric facility location: Constant-factor approximation for facility location? LP-based algorithm does not work for Robust Network Design: Robust Steiner Tree?, or Robust Steiner Forest? LP-based algorithm does not work for Robust Network Design: Robust Steiner Tree?, or Robust Steiner Forest?
Our Results Constant-factor for robust Steiner tree and robust Facility Location. Constant-factor for robust Steiner tree and robust Facility Location. Thm. 5.5-approx for two-stage robust Steiner Tree Thm. 5.5-approx for two-stage robust Steiner Tree Combinatorial Algorithm Combinatorial Algorithm Thm. 10-approx for robust facility location. Thm. 10-approx for robust facility location. Combinatorial Algorithm Combinatorial Algorithm Thm. 3-approx for robust Steiner Forest on Trees. Thm. 3-approx for robust Steiner Forest on Trees. At most k pairs of nodes show up to be connected. At most k pairs of nodes show up to be connected. LP-based Algorithm LP-based Algorithm
Our Results Hardness Results Hardness Results Thm. Better than O(log 1/2- n)-approximation factor for two-stage robust Steiner Forest with two inflation factors is hard, even if only each scenario is only one pair. Thm. Better than O(log 1/2- n)-approximation factor for two-stage robust Steiner Forest with two inflation factors is hard, even if only each scenario is only one pair. implies quasi-polynomial-time algorithms for NP. implies quasi-polynomial-time algorithms for NP. Thm. Robust two-stage Min-cut is APX-hard. Thm. Robust two-stage Min-cut is APX-hard. Even with uniform inflation factor. Even with uniform inflation factor. Even with one source and three sinks. Even with one source and three sinks. NP-hardness was posed as an open problem (by Golovin, Goyal, Ravi). NP-hardness was posed as an open problem (by Golovin, Goyal, Ravi).
Robust Steiner Tree Algorithm Let OPT = OPT 1 + q OPT 2. Let OPT = OPT 1 + q OPT 2. OPT 1 : Optimum in the first Stage. OPT 1 : Optimum in the first Stage. OPT 2 : Optimum in the second Stage. OPT 2 : Optimum in the second Stage. Algorithm A: Algorithm A: A: first stage: A: first stage: 1) Guess OPT 2 [Binary search to find it]. 1) Guess OPT 2 [Binary search to find it]. 2) Find-Centers: Find centers c 1, c 2, …, c k and assign nodes to these centers s.t. 2) Find-Centers: Find centers c 1, c 2, …, c k and assign nodes to these centers s.t. Distance of each two centers is at least r OPT 2 / k. Distance of each two centers is at least r OPT 2 / k. Each node is close to its assigned center is at most r OPT 2 / k. Each node is close to its assigned center is at most r OPT 2 / k. 3) Buy an approx optimal Steiner tree on c 1, c 2, …, c k. 3) Buy an approx optimal Steiner tree on c 1, c 2, …, c k. B) Second Stage: Buy the shortest path from each client to the closest terminal. B) Second Stage: Buy the shortest path from each client to the closest terminal.
Algorithm (Cont’) Find-Centers: Find centers c 1, c 2, …, c k and assign nodes to these centers s.t. Find-Centers: Find centers c 1, c 2, …, c k and assign nodes to these centers s.t. Distance of each two centers is at least r OPT 2 / k. Distance of each two centers is at least r OPT 2 / k. Each node is close to its center, dist is at most r OPT 2 / k. Each node is close to its center, dist is at most r OPT 2 / k. Find-Centers Algorithm: Find-Centers Algorithm: 1) Set of centers U= V(G) and C=empty ; and i = 0. 1) Set of centers U= V(G) and C=empty ; and i = 0. 2) i = i+1. 2) i = i+1. 3) Select an arbitrary node c 1 in U and add it to C. 3) Select an arbitrary node c 1 in U and add it to C. 4) Remove all nodes in distance · rOPT 2 / k from U. 4) Remove all nodes in distance · rOPT 2 / k from U. 5) If U is nonempty, go back to step 2, 5) If U is nonempty, go back to step 2, otherwise terminate. otherwise terminate.
Analysis Second Stage: k clients, each with cost q(r OPT 2 / k), thus q OPT 2 Second Stage: k clients, each with cost q(r OPT 2 / k), thus q OPT 2 First Stage: First Stage: Lemma: The cost is at most (r/r-4)OPT 1 + OPT 2. Lemma: The cost is at most (r/r-4)OPT 1 + OPT 2. Proof: By contradiction Otherwise the optimum solution pays more than q OPT 2 in the second stage. Proof: By contradiction Otherwise the optimum solution pays more than q OPT 2 in the second stage. Prove this by constructing the right mapping between the optimum and our solution (Details in the paper). Prove this by constructing the right mapping between the optimum and our solution (Details in the paper). Final Algorithm: Final Algorithm: If q<3.51, Run a trivial algorithm (not buy anything in the first stage), If q<3.51, Run a trivial algorithm (not buy anything in the first stage), otherwise, Run Algorithm A. otherwise, Run Algorithm A.
Conclusion Constant-factor Approximation Algorithms for Constant-factor Approximation Algorithms for 2-stage robust Steiner tree 2-stage robust Steiner tree 2-stage robust facility location 2-stage robust facility location 2-stage robust Steiner forest (on trees) 2-stage robust Steiner forest (on trees) Hardness Result Hardness Result 2-stage robust min-cut is APX-hard. 2-stage robust min-cut is APX-hard. 2-stage robust Steiner forest (with 2 inflation factors) in not approximable better than O(log 1/2- n). 2-stage robust Steiner forest (with 2 inflation factors) in not approximable better than O(log 1/2- n). Open Problems: Robust Multiway-Cut, Robust Steiner Forest, Robust Buy-at-Bulk Network Design. Open Problems: Robust Multiway-Cut, Robust Steiner Forest, Robust Buy-at-Bulk Network Design. Please find a revised version of the paper at: Please find a revised version of the paper at: