approximation algorithms for stochastic combinatorial optimization r. ravi carnegie mellon...
TRANSCRIPT
Approximation Algorithms for Approximation Algorithms for Stochastic Combinatorial Stochastic Combinatorial
OptimizationOptimizationR. RaviR. Ravi
Carnegie Mellon UniversityCarnegie Mellon University
Joint work with:Joint work with: Kedar Dhamdhere, CMUKedar Dhamdhere, CMU Anupam Gupta, CMUAnupam Gupta, CMU Martin Pal, DIMACSMartin Pal, DIMACS Mohit Singh, CMUMohit Singh, CMU Amitabh Sinha, U. MichiganAmitabh Sinha, U. Michigan
Sources: [RS IPCO 04, GPRS STOC 04, GRS FOCS 04, Sources: [RS IPCO 04, GPRS STOC 04, GRS FOCS 04, DRS IPCO 05]DRS IPCO 05]
22
OutlineOutline
Motivation: The cable company Motivation: The cable company problemproblem
Model and literature reviewModel and literature review Solution to the cable company Solution to the cable company
problemproblem General covering problemGeneral covering problem Scenario dependent cost modelScenario dependent cost model
33
The cable company problemThe cable company problem
Cable company Cable company plans to enter a plans to enter a new areanew area
Currently, low Currently, low populationpopulation
Wants to install Wants to install cable infrastructure cable infrastructure in anticipation of in anticipation of future demandfuture demand
44
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
Where should Where should cable company cable company install cables?install cables?
55
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
Where should Where should cable company cable company install cables?install cables?
66
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
Where should Where should cable company cable company install cables?install cables?
77
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
Where should Where should cable company cable company install cables?install cables?
88
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
ForecastsForecasts of possible of possible future demands future demands existexist
Where should cable Where should cable company install company install cables?cables?
99
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
ForecastsForecasts of possible of possible future demands future demands existexist
Where should cable Where should cable company install company install cables?cables?
1010
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
ForecastsForecasts of possible of possible future demands future demands existexist
Where should cable Where should cable company install company install cables?cables?
1111
The cable company problemThe cable company problem
Future demand Future demand unknown, yet cable unknown, yet cable company needs to company needs to build nowbuild now
Forecasts Forecasts of possible of possible future demands future demands existexist
Where should cable Where should cable company install company install cables?cables?
1212
The cable company problemThe cable company problem
cable company cable company wants to use wants to use demand forecasts, todemand forecasts, to
MinimizeMinimize
Today’s install. Today’s install. costscosts
+ Expected future + Expected future costscosts
1313
OutlineOutline
Motivation: The cable company Motivation: The cable company problemproblem
Model and literature reviewModel and literature review Solution to the cable company Solution to the cable company
problemproblem General covering problemGeneral covering problem Scenario dependent cost model Scenario dependent cost model
1414
Stochastic optimizationStochastic optimization
Classical optimization assumed Classical optimization assumed deterministic inputsdeterministic inputs
1515
Stochastic optimizationStochastic optimization
Classical optimization assumed Classical optimization assumed deterministic inputsdeterministic inputs
Need for modeling Need for modeling data uncertaintydata uncertainty quickly realized [Dantzig ‘55, Beale quickly realized [Dantzig ‘55, Beale ‘61]‘61]
1616
Stochastic optimizationStochastic optimization
Classical optimization assumes Classical optimization assumes deterministic inputsdeterministic inputs
Need for modeling data uncertainty Need for modeling data uncertainty quickly realized [Dantzig ‘55, Beale quickly realized [Dantzig ‘55, Beale ‘61]‘61]
[Birge, Louveaux ’97, Klein Haneveld, [Birge, Louveaux ’97, Klein Haneveld, van der Vlerk ’99]van der Vlerk ’99]
1717
ModelModel
Two-stage stochastic opt. with Two-stage stochastic opt. with recourserecourse
1818
ModelModel
Two-stageTwo-stage stochastic opt. with stochastic opt. with recourserecourse
Two stages of decision making, with Two stages of decision making, with limited information in first stagelimited information in first stage
1919
ModelModel
Two-stage Two-stage stochastic opt.stochastic opt. with with recourserecourse
Two stages of decision makingTwo stages of decision making Probability distribution governing Probability distribution governing
second-stage data and costs given in second-stage data and costs given in 1st stage1st stage
2020
ModelModel
Two-stage stochastic opt. with Two-stage stochastic opt. with recourserecourse
Two stages of decision makingTwo stages of decision making Probability dist. governing data and Probability dist. governing data and
costscosts Solution can always be made feasible Solution can always be made feasible
in second stagein second stage
2121
Mathematical modelMathematical model
ΩΩ: probability space of 2: probability space of 2ndnd stage data stage data
)()(,
)()().().(
.
)]()([.min
PyPx
hyWxT
bxA
ycExc
2222
Mathematical modelMathematical model
ΩΩ: probability space of 2: probability space of 2ndnd stage data stage data
Extensive form: Enumerate over all Extensive form: Enumerate over all ωω єє ΩΩ
)()(,
)()().().(
.
)]()([.min
PyPx
hyWxT
bxA
ycExc
2323
Scenario modelsScenario models
Enumerating over all Enumerating over all ωω єє ΩΩ may lead may lead to to very large problem sizevery large problem size
Enumeration (or even approximation) Enumeration (or even approximation) may not be possiblemay not be possible for continuous for continuous domainsdomains
2424
New model: Sampling New model: Sampling AccessAccess
““Black boxBlack box” available which ” available which generates a generates a sample sample of 2of 2ndnd stage data stage data with with samesame distributiondistribution as actual 2 as actual 2ndnd stagestage
Bare minimum requirement on model Bare minimum requirement on model of stochastic processof stochastic process
2525
Computational complexityComputational complexity
Stochastic optimization problems Stochastic optimization problems solved using Mixed Integer Program solved using Mixed Integer Program formulationsformulations
Solution times prohibitiveSolution times prohibitive NP-hardnessNP-hardness inherentinherent toto problemproblem, not , not
formulation: E.g., 2-stage stochastic formulation: E.g., 2-stage stochastic versions of MST, Shortest paths are versions of MST, Shortest paths are NP-hard.NP-hard.
2626
Our goalOur goal
Approximation algorithm using Approximation algorithm using sampling accesssampling access cable company problem cable company problem General model – extensions to other General model – extensions to other
problemsproblems
2727
Our goalOur goal
Approximation algorithm using Approximation algorithm using sampling accesssampling access cable company problem cable company problem (General model – extensions to other (General model – extensions to other
problems)problems) ConsequencesConsequences
Provable guarantees on solution qualityProvable guarantees on solution quality Minimal requirements of stochastic Minimal requirements of stochastic
processprocess
2828
Previous workPrevious work Scheduling with stochastic dataScheduling with stochastic data
Substantial work on exact algorithms [Pinedo ’95]Substantial work on exact algorithms [Pinedo ’95] Some recent approximation algorithms [Goel, Indyk Some recent approximation algorithms [Goel, Indyk
’99; Möhring, Schulz, Uetz ’99]’99; Möhring, Schulz, Uetz ’99] Approximation algorithms for stochastic modelsApproximation algorithms for stochastic models
Resource provisioning with polynomial scenarios Resource provisioning with polynomial scenarios [Dye, Stougie, Tomasgard Nav. Res. Qtrly ’03][Dye, Stougie, Tomasgard Nav. Res. Qtrly ’03]
””Maybecast” Steiner tree: Maybecast” Steiner tree: OO(log (log nn) approximation ) approximation when terminals activate independently [Immorlica, when terminals activate independently [Immorlica, Karger, Minkoff, Mirrokni ’04] Karger, Minkoff, Mirrokni ’04]
2929
Our workOur work
Approximation algorithms for two-stage Approximation algorithms for two-stage stochastic combinatorial optimizationstochastic combinatorial optimization Polynomial Scenarios model, several problems using LP Polynomial Scenarios model, several problems using LP
rounding, incl. Vertex Cover, Facility Location, Shortest rounding, incl. Vertex Cover, Facility Location, Shortest paths [R., Sinha, July ’03, appeared IPCO ’04]paths [R., Sinha, July ’03, appeared IPCO ’04]
Black-box model: Boosted sampling algorithm for Black-box model: Boosted sampling algorithm for covering problems with subadditivity – general covering problems with subadditivity – general approximation algorithm [Gupta, Pal, R., Sinha STOC ’04]approximation algorithm [Gupta, Pal, R., Sinha STOC ’04]
Steiner trees and network design problems: Polynomial Steiner trees and network design problems: Polynomial scenarios model, Combination of LP rounding and scenarios model, Combination of LP rounding and Primal-Dual [Gupta, R., Sinha FOCS ’04]Primal-Dual [Gupta, R., Sinha FOCS ’04]
Stochastic MSTs under scenario model and Black-box Stochastic MSTs under scenario model and Black-box model with polynomially bounded cost inflations model with polynomially bounded cost inflations [Dhamdhere, R., Singh, To appear, IPCO ’05][Dhamdhere, R., Singh, To appear, IPCO ’05]
3030
Related workRelated work
Approximation algorithms for Stochastic Approximation algorithms for Stochastic Combinatorial ProblemsCombinatorial Problems Vertex cover and Steiner trees in restricted models Vertex cover and Steiner trees in restricted models
studied by [Immorlica, Karger, Minkoff, Mirrokni SODA ’04]studied by [Immorlica, Karger, Minkoff, Mirrokni SODA ’04] Rounding for stochastic Set Cover, FPRAS for #P hard Rounding for stochastic Set Cover, FPRAS for #P hard
Stochastic Set Cover LPs [Shmoys, Swamy FOCS ’04]Stochastic Set Cover LPs [Shmoys, Swamy FOCS ’04] Multi-stage stochastic Steiner trees [Hayrapetyan, Swamy, Multi-stage stochastic Steiner trees [Hayrapetyan, Swamy,
Tardos SODA ‘05]Tardos SODA ‘05] Multi-stage Stochastic Set Cover [Shmoys, Swamy, Multi-stage Stochastic Set Cover [Shmoys, Swamy,
manuscript ’04]manuscript ’04] Multi-stage black box model – Extension of Boosted Multi-stage black box model – Extension of Boosted
sampling with rejection [Gupta, Pal, R., Sinha manuscript sampling with rejection [Gupta, Pal, R., Sinha manuscript ’05]’05]
3131
OutlineOutline
Motivation: The cable company Motivation: The cable company problemproblem
Model and literature reviewModel and literature review Solution to the cable company Solution to the cable company
problemproblem General covering problemGeneral covering problem Scenario dependent cost model Scenario dependent cost model
3232
The cable company problemThe cable company problem
Cable company Cable company wants to install wants to install cables to serve cables to serve future demandfuture demand
3333
The cable company problemThe cable company problem
Cable company Cable company wants to install wants to install cables to serve cables to serve future demandfuture demand
Future demand Future demand stochastic, cables stochastic, cables get expensive next get expensive next yearyear
What cables to What cables to install this year?install this year?
3434
Steiner Tree - BackgroundSteiner Tree - Background
Graph Graph G=(V,E,c)G=(V,E,c) Terminals Terminals SS, root , root rrSS Steiner tree: Min cost Steiner tree: Min cost
tree spanning tree spanning SS NP-hard, MST is a 2-NP-hard, MST is a 2-
approx, Current best approx, Current best 1.55-approx (Robins, 1.55-approx (Robins, Zelikovsky ’99)Zelikovsky ’99)
Primal-dual 2-approxPrimal-dual 2-approx (Agrawal, Klein, R. ’91; (Agrawal, Klein, R. ’91; Goemans, Williamson Goemans, Williamson ’92)’92)
3535
Stochastic Min. Steiner TreeStochastic Min. Steiner Tree
Given a Given a metric metric space of pointsspace of points, , distances distances ccee
Points: Points: possible possible locationslocations of future of future demanddemand
Wlog, simplifying Wlog, simplifying assumption: no 1assumption: no 1stst stage demandstage demand
3636
Stochastic Min. Steiner TreeStochastic Min. Steiner Tree
Given a metric Given a metric space of points, space of points, distances distances ccee
11stst stage stage: buy : buy edges at costs edges at costs ccee
3737
Stochastic Min. Steiner TreeStochastic Min. Steiner Tree
Given a metric space Given a metric space of points, distances of points, distances ccee
11stst stage: buy edges stage: buy edges at costs at costs ccee
22ndnd stage stage: Some : Some clients “realized”, buy clients “realized”, buy edges at cost edges at cost σσ.c.cee to to serve them (serve them (σσ > 1 > 1))
3838
Stochastic Min. Steiner TreeStochastic Min. Steiner Tree
Given a metric space Given a metric space of points, distances of points, distances ccee
11stst stage: buy edges stage: buy edges at costs at costs ccee
22ndnd stage stage: Some : Some clients “realized”, buy clients “realized”, buy edges at cost edges at cost σσ.c.cee to to serve them (serve them (σσ > 1 > 1))
3939
Stochastic Min. Steiner TreeStochastic Min. Steiner Tree
Given a metric space Given a metric space of points, distances of points, distances ccee
11stst stage: buy edges stage: buy edges at costs at costs ccee
22ndnd stage: Some stage: Some clients “realized”, buy clients “realized”, buy edges at cost edges at cost σσ.c.cee to to serve them (serve them (σσ > 1 > 1))
Minimize exp. costMinimize exp. cost
4040
Algorithm Boosted-SampleAlgorithm Boosted-Sample
Sample Sample from the distribution of from the distribution of clientsclients σσ times (sampled set times (sampled set SS))
4141
Algorithm Boosted-SampleAlgorithm Boosted-Sample
Sample from the distribution of Sample from the distribution of clients clients σσ times (sampled set times (sampled set SS))
Build Build minimum spanning tree minimum spanning tree TT00 on on SS Recall: Minimum spanning tree is a 2-Recall: Minimum spanning tree is a 2-
approximation to Minimum Steiner treeapproximation to Minimum Steiner tree
4242
Algorithm Boosted-SampleAlgorithm Boosted-Sample
Sample from the distribution of Sample from the distribution of clients clients σσ times (sampled set times (sampled set SS))
Build minimum spanning tree Build minimum spanning tree TT00 on on SS 22ndnd stage: actual client set realized stage: actual client set realized
((RR))
- - Extend Extend TT00 to span to span RR
4343
Algorithm Boosted-SampleAlgorithm Boosted-Sample
Sample from the distribution of Sample from the distribution of clients clients σσ times (sampled set times (sampled set SS))
Build minimum spanning tree Build minimum spanning tree TT00 on on SS 22ndnd stage: actual client set realized stage: actual client set realized
((RR))
- Extend - Extend TT00 to span to span RR Theorem: 4-approximation!Theorem: 4-approximation!
4444
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3
4545
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3 SampleSample σσ times times
from client from client distributiondistribution
4646
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3 Sample Sample σσ times times
from client from client distributiondistribution
4747
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3 SampleSample σσ times times
from client from client distributiondistribution
4848
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3 Sample Sample σσ times times
from client from client distributiondistribution
4949
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3 Sample Sample σσ times times
from client from client distributiondistribution
Build MSTBuild MST TT00 on on SS
5050
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3 Sample Sample σσ times times
from client from client distributiondistribution
Build MST Build MST TT00 on on SS When When actual actual
scenarioscenario ( (RR) is ) is realized …realized …
5151
Algorithm: IllustrationAlgorithm: Illustration
Input, with Input, with σσ=3=3 Sample Sample σσ times times
from client from client distributiondistribution
Build MST Build MST TT00 on on SS When actual When actual
scenario (scenario (RR) is ) is realized …realized …
ExtendExtend TT00 to span to span RR
5252
Analysis of 1Analysis of 1stst stage cost stage cost
Let Let X
XX TcpTcOPT )()( **0
5353
Analysis of 1Analysis of 1stst stage cost stage cost
Let Let ClaimClaim::
X
XX TcpTcOPT )()( **0
OPTTcE .2)]([ 0
5454
Analysis of 1Analysis of 1stst stage cost stage cost
Let Let Claim:Claim:
Our Our σσ samplessamples: : S={SS={S11, S, S22, …, S, …, Sσσ}}
X
XX TcpTcOPT )()( **0
)}(...)()({2)( ***0 1 SS TcTcTcSMST
OPTTcE .2)]([ 0
5555
Analysis of 1Analysis of 1stst stage cost stage cost
Let Let Claim:Claim:
Our Our σσ samples: samples: S={SS={S11, S, S22, …, S, …, Sσσ}}
X
XX TcpTcOPT )()( **0
OPTTcE .2)]([ 0
)}(...)()({2)( ***0 1 SS TcTcTcSMST
)]}([...)]([)({2)]([ ***0 1 SS TcETcETcSMSTE
5656
Analysis of 1Analysis of 1stst stage cost stage cost
Let Let Claim:Claim:
Our Our σσ samples: samples: S={SS={S11, S, S22, …, S, …, Sσσ}}
X
XX TcpTcOPT )()( **0
)}(...)()({2)( ***0 1 SS TcTcTcSMST
)]}([...)]([)({2)]([ ***0 1 SS TcETcETcSMSTE
)]}([)({2 **0 XX TcETc
OPTTcE .2)]([ 0
5757
Analysis of 2Analysis of 2ndnd stage cost stage cost
Intuition:Intuition: 11stst stage: stage: σσ samples at cost samples at cost ccee
22ndnd stage: stage: 11 sample at cost sample at cost σσ.c.cee
5858
Analysis of 2Analysis of 2ndnd stage cost stage cost
Intuition:Intuition: 11stst stage: stage: σσ samples at cost samples at cost ccee
22ndnd stage: stage: 11 sample at cost sample at cost σσ.c.cee
In expectation,In expectation, 22ndnd stage cost ≤ 1 stage cost ≤ 1stst stage cost stage cost
5959
Analysis of 2Analysis of 2ndnd stage cost stage cost
Intuition:Intuition: 11stst stage: stage: σσ samples at cost samples at cost ccee
22ndnd stage: stage: 11 sample at cost sample at cost σσ.c.cee
In expectation,In expectation, 22ndnd stage cost ≤ 1 stage cost ≤ 1stst stage cost stage cost
But we’ve But we’ve already bounded 1already bounded 1stst stage stage cost!cost!
6060
Analysis of 2Analysis of 2ndnd stage cost stage cost
Claim: Claim: E[E[σσc(Tc(TRR)] ≤ )] ≤ E[c(TE[c(T00)])]
Proof using an Proof using an auxiliary auxiliary structurestructure
6161
Analysis of 2Analysis of 2ndnd stage cost stage cost
Claim: Claim: E[E[σσc(Tc(TRR)] ≤ )] ≤ E[c(TE[c(T00)])]
Let Let TTRSRS be an be an MST MST on on R U R U SS
6262
Analysis of 2Analysis of 2ndnd stage cost stage cost
Claim: Claim: E[E[σσc(Tc(TRR)] ≤ )] ≤ E[c(TE[c(T00)])]
Let Let TTRSRS be an MST on be an MST on R U R U SS
Associate each node Associate each node v v єє TTRSRS with its with its parent edgeparent edge pt(v)pt(v); ; c(Tc(TRSRS)=c(pt(R)) + )=c(pt(R)) + c(pt(S))c(pt(S))
6363
Analysis of 2Analysis of 2ndnd stage cost stage cost
Claim: Claim: E[E[σσc(Tc(TRR)] ≤ E[c(T)] ≤ E[c(T00)])] Let Let TTRSRS be an MST on be an MST on R U SR U S Associate each node Associate each node v v єє T TRSRS
with its parent edge with its parent edge pt(v); pt(v); c(Tc(TRSRS)=c(pt(R)) + c(pt(S)))=c(pt(R)) + c(pt(S))
c(Tc(TRR) ≤ c(pt(R))) ≤ c(pt(R)), since , since TTRR was the was the cheapest possible cheapest possible way to connectway to connect R R to to TT00
6464
Analysis of 2Analysis of 2ndnd stage cost stage cost
Claim: Claim: E[E[σσc(Tc(TRR)] ≤ E[c(T)] ≤ E[c(T00)])] Let Let TTRSRS be an MST on be an MST on R U SR U S Associate each node Associate each node v v єє T TRSRS
with its parent edge with its parent edge pt(v); pt(v); c(Tc(TRSRS)=c(pt(R)) + c(pt(S)))=c(pt(R)) + c(pt(S))
c(Tc(TRR) ≤ c(pt(R))) ≤ c(pt(R))
E[c(pt(R))] ≤ E[c(pt(S))]/E[c(pt(R))] ≤ E[c(pt(S))]/σσ,,
since since RR is is 11 sample and sample and SS is is σσ samples from samples from same same processprocess
6565
Analysis of 2Analysis of 2ndnd stage cost stage cost
Claim: Claim: E[E[σσc(Tc(TRR)] ≤ E[c(T)] ≤ E[c(T00)])] Let Let TTRSRS be an MST on be an MST on R U SR U S Associate each node Associate each node v v єє
TTRSRS with its parent edge with its parent edge pt(v); c(Tpt(v); c(TRSRS)=c(pt(R)) + )=c(pt(R)) + c(pt(S))c(pt(S))
c(Tc(TRR) ≤ c(pt(R))) ≤ c(pt(R)) E[c(pt(R))] ≤ E[c(pt(S))]/E[c(pt(R))] ≤ E[c(pt(S))]/σσ
c(pt(S)) ≤ c(Tc(pt(S)) ≤ c(T00)),,since since pt(S) U pt(R) pt(S) U pt(R) is a is a MST MST while adding while adding pt(R)pt(R) to to TT00 spans spans R U S R U S
6666
Analysis of 2Analysis of 2ndnd stage cost stage cost
Claim: Claim: E[E[σσc(Tc(TRR)] ≤ E[c(T)] ≤ E[c(T00)])] Let Let TTRSRS be an MST on be an MST on R U SR U S Associate each node Associate each node v v єє
TTRSRS with its parent edge with its parent edge pt(v); c(Tpt(v); c(TRSRS)=c(pt(R)) + )=c(pt(R)) + c(pt(S))c(pt(S))
c(Tc(TRR) ≤ c(pt(R))) ≤ c(pt(R)) E[c(pt(R))] ≤ E[c(pt(S))]/E[c(pt(R))] ≤ E[c(pt(S))]/σσ c(pt(S)) ≤ c(Tc(pt(S)) ≤ c(T00))
Chain inequalities and Chain inequalities and claim followsclaim follows
6767
RecapRecap
Algorithm for Stochastic Steiner Tree:Algorithm for Stochastic Steiner Tree: 11stst stage: stage: SampleSample σσ times, build MST times, build MST 22ndnd stage: stage: Extend Extend MST to realized clientsMST to realized clients
6868
RecapRecap
Algorithm for Stochastic Steiner Tree:Algorithm for Stochastic Steiner Tree: 11stst stage: Sample stage: Sample σσ times, build MST times, build MST 22ndnd stage: Extend MST to realized clients stage: Extend MST to realized clients
TheoremTheorem: Algorithm BOOST-AND-: Algorithm BOOST-AND-SAMPLE is a 4-approximation to SAMPLE is a 4-approximation to Stochastic Steiner TreeStochastic Steiner Tree
6969
RecapRecap
Algorithm for Stochastic MST:Algorithm for Stochastic MST: 11stst stage: Sample stage: Sample σσ times, build MST times, build MST 22ndnd stage: Extend MST to realized clients stage: Extend MST to realized clients
Theorem: Algorithm BOOST-AND-SAMPLE is a Theorem: Algorithm BOOST-AND-SAMPLE is a 4-approximation to Stochastic Steiner Tree4-approximation to Stochastic Steiner Tree
Shortcomings: Shortcomings: Specific problem, in a specific modelSpecific problem, in a specific model Cannot adapt to scenario model with non-Cannot adapt to scenario model with non-
correlated cost changes across scenarioscorrelated cost changes across scenarios
7070
Coping with shortcomingsCoping with shortcomings
Specific problem, in a specific modelSpecific problem, in a specific model Boosted Sampling works for more general covering problems Boosted Sampling works for more general covering problems
with subadditivity - Solves Facility location, vertex coverwith subadditivity - Solves Facility location, vertex cover
Skip general model (details in STOC 04 paper)Skip general model (details in STOC 04 paper)
Cannot adapt to scenario model with scenario-Cannot adapt to scenario model with scenario-dependent cost inflationsdependent cost inflations A combination of LP-rounding and primal-dual methods A combination of LP-rounding and primal-dual methods
solves the scenario model with scenario-dependent cost solves the scenario model with scenario-dependent cost inflations; Also handles risk-bounds on more general network inflations; Also handles risk-bounds on more general network design.design.Skip scenario model (details in FOCS 04 paper)Skip scenario model (details in FOCS 04 paper)
Skip bothSkip both
7171
OutlineOutline
Motivation: The cable company Motivation: The cable company problemproblem
Model and literature reviewModel and literature review Solution to the cable company Solution to the cable company
problemproblem General covering problemGeneral covering problem Scenario dependent cost model Scenario dependent cost model
7272
General ModelGeneral Model
U U : universe of potential clients (e.g., : universe of potential clients (e.g., terminals)terminals)
X X : elements which provide service, : elements which provide service, with element costs with element costs ccx x (e.g., edges)(e.g., edges)
Given Given S S UU, set of feasible sol’ns is , set of feasible sol’ns is Sols(Sols(S S ) ) 22XX
Deterministic problem: Given Deterministic problem: Given SS, find , find minimum cost minimum cost FF Sols( Sols(S S ))
7373
Model: detailsModel: details
Element costs are Element costs are ccxx in first stage and in first stage and σσ.c.cxx in second stage in second stage
In second stage, client set In second stage, client set SS UU is is realized with probability realized with probability p(S)p(S)
Objective: Compute Objective: Compute FF0 0 and and FFS S to to minimizeminimize
c(Fc(F00) + E[) + E[σσ c(F c(FSS)])]
where where FF00 F FSS Sols( Sols(S S ) for all ) for all SS
7474
Sampling access modelSampling access model
Second stage: Client set Second stage: Client set S S appears appears with probability with probability p(S)p(S)
We only require sampling access:We only require sampling access: Oracle, when queried, gives us a sample Oracle, when queried, gives us a sample
scenario scenario DD Identically distributed to actual second Identically distributed to actual second
stagestage
7575
Main result: PreviewMain result: Preview
Given stochastic optimization problem Given stochastic optimization problem with cost inflation factor with cost inflation factor σσ :: Generate Generate σσ samples: samples: DD11, D, D22, …, D, …, Dσσ
Use deterministic approximation algorithm to Use deterministic approximation algorithm to compute compute FF00 Sols( Sols(DDi i ))
When actual second stage When actual second stage S S is realized, is realized, augment by selecting augment by selecting FFSS
Theorem: Good approximation for Theorem: Good approximation for stochastic problem!stochastic problem!
7676
Requirement: Sub-additivityRequirement: Sub-additivity
If If S S and and S’S’ are legal sets of clients, are legal sets of clients, then:then: SS S’S’ is also a legal client set is also a legal client set For any For any FF Sols( Sols(S S ) and ) and F’F’ Sols( Sols(S’ S’ ), ),
we also have we also have F F F’F’ Sols( Sols(SS S’ S’ ) )
7777
Requirement: Requirement: ApproximationApproximation
There is an There is an -approximation -approximation algorithm for deterministic problemalgorithm for deterministic problem Given any Given any SS UU, can find , can find FF Sols( Sols(S S ) in ) in
polynomial time such that:polynomial time such that:
c(F)c(F) .min {.min {c(F’)c(F’): : F’F’ Sols( Sols(S S )})}
7878
Crucial ingredient: Cost Crucial ingredient: Cost sharesshares
Recall Stochastic Steiner Tree:Recall Stochastic Steiner Tree: Bounding 2Bounding 2ndnd stage cost required allocating the stage cost required allocating the
cost of an MST to the client nodes, and summing cost of an MST to the client nodes, and summing up carefully (auxiliary structure)up carefully (auxiliary structure)
Cost sharing functionCost sharing function: way of distributing : way of distributing solution cost to clientssolution cost to clients
Originated in game theory [Young, ’94], Originated in game theory [Young, ’94], adapted to approximation algorithms adapted to approximation algorithms [Gupta, Kumar, Pal, Roughgarden FOCS ’03][Gupta, Kumar, Pal, Roughgarden FOCS ’03]
7979
Requirement: Cost-sharingRequirement: Cost-sharing
ξξ : : 22U U x x UU R is a R is a ββ -strict cost sharing -strict cost sharing function for function for -approximation A if:-approximation A if: ξξ(S,j)(S,j) > 0 only if > 0 only if jj SS jjS S ξξ(S,j) (S,j) c c (OPT((OPT(S S )))) If If S’S’ = = SS TT, A(, A(S S ) is an ) is an -approx. for -approx. for SS, ,
and Aug(and Aug(SS,,T T ) provides a solution for ) provides a solution for augmenting A(augmenting A(S S ) to also serve ) to also serve TT, then, then
jjT T ξξ(S’,j) (S’,j) ( (1/1/ββ ) ) c c (Aug((Aug(S,T S,T ))))
8080
Main theorem: FormalMain theorem: Formal
Given a sub-additive problem with Given a sub-additive problem with --approximation algorithm A and approximation algorithm A and ββ-strict cost -strict cost sharing function, the following is an (sharing function, the following is an (++ββ )-)-approximation algorithm for stochastic approximation algorithm for stochastic variant:variant: Generate Generate σσ samples: samples: DD11, D, D22, …, D, …, Dσσ
First stage: Use algorithm A to compute First stage: Use algorithm A to compute FF00 as an as an -approximation for -approximation for DDii
Second stage: When actual set Second stage: When actual set S S is realized, use is realized, use algorithm Aug(algorithm Aug( DDi i , , S S ) to compute ) to compute FFSS
8181
First-stage costFirst-stage cost
Samples Samples DDi i , Algo A generates , Algo A generates FF00 Sols( Sols( DDi i )) Define optimum: Define optimum: ZZ** = = c(Fc(F00
**) + ) + SS p(S). p(S).σσ.c(F.c(FSS**))
By sub-additivity, By sub-additivity,
FF00** FFD1D1
** … … FFDDσσ** Sols( Sols( DDi i ))
Since A is Since A is -approximation,-approximation,
c(Fc(F0 0 )/)/ c(Fc(F00**) + ) + ii c(F c(FDiDi
**)) E[E[c(Fc(F0 0 ))]/]/ c(Fc(F00
**) + ) + ii E[ E[c(Fc(FSS**))] ]
c(Fc(F00**) + ) + σσ SS p(S) c(F p(S) c(FSS
**) = Z) = Z**
Therefore, first-stage cost E[Therefore, first-stage cost E[c(Fc(F00))] ] .Z.Z**
8282
Second-stage costSecond-stage cost
DDi i : samples, : samples, S S : actual 2: actual 2ndnd stage, define stage, define S’S’ = = S S DDii
c(Fc(FSS) ) ββ..ξξ(S’,S)(S’,S), by cost-sharing function defn., by cost-sharing function defn. ξξ(S’ ,D(S’ ,D11) + … + ) + … + ξξ(S’ ,D(S’ ,Dσσ) + ) + ξξ(S’ ,S) (S’ ,S) c c (OPT((OPT(S’ S’ )))) S’S’ has has σσ+1+1 client sets, identically distributed: client sets, identically distributed:
E[E[ξξ(S’ ,S)(S’ ,S)] ] E[ E[c c (OPT((OPT(S’ S’ ))] / ))] / ((σσ+1)+1) c c (OPT((OPT(S’ S’ )) )) c(Fc(F00
**) + c(F) + c(FD1D1**) + … + c(F) + … + c(FDDσσ
**) + c(F) + c(FSS**)),,
by sub-additivityby sub-additivity E[E[c c (OPT((OPT(S’ S’ ))] ))] c(Fc(F00
**) + () + (σσ+1)+1) E[ E[c(Fc(Fss))] ] ((σσ+1)Z+1)Z**//σσ E[E[σσ.c(F.c(FSS))] ] ββ.Z.Z**, bounding second-stage cost, bounding second-stage cost
8383
OutlineOutline
Motivation: The cable company problemMotivation: The cable company problem Model and literature reviewModel and literature review Solution to the cable company problemSolution to the cable company problem General covering problemGeneral covering problem Scenario dependent cost modelScenario dependent cost model
8484
Stochastic Steiner TreeStochastic Steiner Tree
First stage: First stage: GG, , rr given given 22ndnd stage: one of stage: one of mm
scenariosscenarios occurs: occurs: TerminalsTerminals SSkk
ProbabilityProbability ppkk
Edge Edge cost inflationcost inflation factor factor σσkk
8585
Stochastic Steiner TreeStochastic Steiner Tree
First stage: First stage: GG, , rr given given 22ndnd stage: one of stage: one of mm
scenarios occurs:scenarios occurs: Terminals Terminals SSkk
Probability Probability ppkk
Edge cost inflation Edge cost inflation factor factor σσkk
ObjectiveObjective: 1: 1stst stage stage tree tree TT00, 2, 2ndnd stage trees stage trees TTkk s.t. s.t. TT00TTkk span span SSkk
8686
Stochastic Steiner TreeStochastic Steiner Tree
First stage: First stage: GG, , rr given given 22ndnd stage: one of stage: one of mm
scenarios occurs:scenarios occurs: Terminals Terminals SSkk
Probability Probability ppkk
Edge cost inflation Edge cost inflation factor factor σσkk
Objective: Objective: 11stst stage stage tree tree TT00, 2, 2ndnd stage trees stage trees TTkk s.t. s.t. TT00TTkk span span SSkk
8787
Stochastic Steiner TreeStochastic Steiner Tree
First stage: First stage: GG, , rr given given 22ndnd stage: one of stage: one of mm
scenarios occursscenarios occurs:: Terminals Terminals SSkk
Probability Probability ppkk
Edge cost inflation Edge cost inflation factor factor σσkk
Objective: 1Objective: 1stst stage stage tree tree TT00, 2, 2ndnd stage trees stage trees TTkk s.t. s.t. TT00TTkk span span SSkk
8888
Stochastic Steiner TreeStochastic Steiner Tree
First stage: First stage: GG, , rr given given 22ndnd stage: one of stage: one of mm
scenarios occurs:scenarios occurs: Terminals Terminals SSkk
Probability Probability ppkk
Edge cost inflation Edge cost inflation factor factor σσkk
Objective: 1Objective: 1stst stage stage tree tree TT00, , 22ndnd stage trees stage trees TTkk s.t. s.t. TT00TTkk span span SSkk
8989
Stochastic Steiner TreeStochastic Steiner Tree
First stage: First stage: GG, , rr given given 22ndnd stage: one of stage: one of mm
scenarios occurs:scenarios occurs: Terminals Terminals SSkk
Probability Probability ppkk
Edge cost inflation factor Edge cost inflation factor σσkk
Objective: 1Objective: 1stst stage tree stage tree TT00, 2, 2ndnd stage trees stage trees TTkk s.t. s.t. TT00TTkk span span SSkk
Minimize Minimize c(Tc(T00)+E[c(T’)])+E[c(T’)] Skip AlgorithmSkip Algorithm
9090
Tree solutionsTree solutions
Example with 4 Example with 4 scenarios and scenarios and σσ=2=2
9191
Tree solutionsTree solutions
Example with 4 Example with 4 scenarios and scenarios and σσ=2=2
Optimal solution may Optimal solution may have have lots of lots of componentscomponents!!
9292
Tree solutionsTree solutions
Example with 4 Example with 4 scenarios and scenarios and σσ=2=2
Optimal solution may Optimal solution may have lots of have lots of components!components!
LemmaLemma: There exists a : There exists a solution where solution where 11stst stage stage is a treeis a tree and overall and overall cost is no more than 3 cost is no more than 3 times the optimal costtimes the optimal cost
Restrict to tree solutionsRestrict to tree solutions
9393
IP formulationIP formulation
Tree solutionTree solution: From any (2: From any (2ndnd-stage) -stage) terminal, path to root consists of terminal, path to root consists of exactly two parts: strictly 2exactly two parts: strictly 2ndnd-stage, -stage, followed by strictly 1followed by strictly 1stst-stage-stage
IP: IP: Install edges to support unit flowInstall edges to support unit flow along such paths from each terminal along such paths from each terminal to rootto root
9494
IP formulationIP formulation
0)(
0)()(
0))()(())()((
1))()((
)()(min
)(
0
)(
0)(
0
)(
0)(
01
0
ke
ke
vee
vee
ve
kee
ve
kee
te
kee
Ee
m
k Ee
kekke
xtr
trtr
trtrtrtr
trtr
xecpxec
xek: edge e installed in scenario k;
rek(t): flow on edge e of type k from terminal t ;
for k = 0 (1st stage) and i=1,2,…,m (2nd stage)
9595
IP formulationIP formulation
0)(
0)()(
0))()(())()((
1))()((
)()(min
)(
0
)(
0)(
0
)(
0)(
01
0
ke
ke
vee
vee
ve
kee
ve
kee
te
kee
Ee
m
k Ee
kekke
xtr
trtr
trtrtrtr
trtr
xecpxec
Objective: minimize expected cost
9696
IP formulationIP formulation
0)(
0)()(
0))()(())()((
1))()((
)()(min
)(
0
)(
0)(
0
)(
0)(
01
0
ke
ke
vee
vee
ve
kee
ve
kee
te
kee
Ee
m
k Ee
kekke
xtr
trtr
trtrtrtr
trtr
xecpxec
Unit out-flow from each terminal
9797
IP formulationIP formulation
0)(
0)()(
0))()(())()((
1))()((
)()(min
)(
0
)(
0)(
0
)(
0)(
01
0
ke
ke
vee
vee
ve
kee
ve
kee
te
kee
Ee
m
k Ee
kekke
xtr
trtr
trtrtrtr
trtr
xecpxec
Flow conservation at all internal nodes (v ≠ t , r )
9898
IP formulationIP formulation
0)(
0)()(
0))()(())()((
1))()((
)()(min
)(
0
)(
0)(
0
)(
0)(
01
0
ke
ke
vee
vee
ve
kee
ve
kee
te
kee
Ee
m
k Ee
kekke
xtr
trtr
trtrtrtr
trtr
xecpxec
Flow monotonicity: enforces “First-stage must be a tree”
9999
IP formulationIP formulation
0)(
0)()(
0))()(())()((
1))()((
)()(min
)(
0
)(
0)(
0
)(
0)(
01
0
ke
ke
vee
vee
ve
kee
ve
kee
te
kee
Ee
m
k Ee
kekke
xtr
trtr
trtrtrtr
trtr
xecpxec
Flow support: If an edge has flow, it must be accounted for in the objective function
100100
IP formulationIP formulation
}1,0{),(
0),(
0)(
0)()(
0))()(())()((
1))()((
)()(min
)(
0
)(
0)(
0
)(
0)(
01
0
ke
ke
ke
ke
ke
ke
vee
vee
ve
kee
ve
kee
te
kee
Ee
m
k Ee
kekke
xtr
xtr
xtr
trtr
trtrtrtr
trtr
xecpxec
101101
Algorithm overviewAlgorithm overview
((x,rx,r) ) Optimal solution to LPOptimal solution to LP relaxationrelaxation
102102
Algorithm overviewAlgorithm overview
((x,rx,r) ) Optimal solution to LP Optimal solution to LP relaxationrelaxation
11stst stage solution stage solution: : Obtain a new graph Obtain a new graph G’G’ where where 2x2x00 forms forms
a fractional Steiner treea fractional Steiner tree Round using primal-dual algorithm; this Round using primal-dual algorithm; this
is is TT00
103103
Algorithm overviewAlgorithm overview
((x,rx,r) ) Optimal solution to LP relaxation Optimal solution to LP relaxation 11stst stage solution: stage solution:
Obtain a new graph Obtain a new graph G’G’ where where 2x2x00 forms a forms a fractional Steiner treefractional Steiner tree
Round using primal-dual algorithm; this is Round using primal-dual algorithm; this is TT00 22ndnd stage solution stage solution::
Examine remaining terminals in each scenarioExamine remaining terminals in each scenario Use modified primal-dual method to obtain Use modified primal-dual method to obtain TTk k
SkipSkip Analysis Analysis
104104
First stageFirst stage
Examine Examine fractional fractional pathspaths for each for each terminalterminal
105105
First stageFirst stage
Examine fractional Examine fractional paths for each paths for each terminalterminal
Critical radiusCritical radius: Flow : Flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
106106
First stageFirst stage
Examine fractional Examine fractional paths for each paths for each terminalterminal
Critical radius: Flow Critical radius: Flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
Construct Construct critical radii critical radii for all terminalsfor all terminals
107107
First stageFirst stage
Critical radius: Critical radius: Fractional flow Fractional flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
Construct Construct twice the twice the critical radiicritical radii for all for all terminalsterminals
108108
First stageFirst stage
Critical radius: Critical radius: Fractional flow Fractional flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
Construct twice the Construct twice the c.r.c.r. for all terminals for all terminals
Examine in increasing Examine in increasing order of order of c.r.c.r.
RR00 independent set independent set based on based on 2 2 ××c.r.c.r.
109109
First stageFirst stage
Critical radius: Critical radius: Fractional flow Fractional flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
Construct twice the Construct twice the c.r.c.r. for all terminals for all terminals
Examine in increasing Examine in increasing order of order of c.r.c.r.
RR00 independent set independent set based on based on 2 2 ××c.r.c.r.
110110
First stageFirst stage
Critical radius: Critical radius: Fractional flow Fractional flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
Construct twice the Construct twice the c.r.c.r. for all terminals for all terminals
Examine in increasing Examine in increasing order of order of c.r.c.r.
RR00 independent set independent set based on based on 2 2 ××c.r.c.r.
111111
First stageFirst stage
Critical radius: Critical radius: Fractional flow Fractional flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
Construct twice the Construct twice the c.r.c.r. for all terminalsfor all terminals
Examine in increasing Examine in increasing order of order of c.r.c.r.
RR00 independent set independent set based on based on 2 2 ××c.r.c.r.
TT00 Steiner tree on Steiner tree on RR00
112112
First stage analysisFirst stage analysis
Critical radius: Critical radius: Fractional flow Fractional flow “transitions” from 2“transitions” from 2ndnd--stage to 1stage to 1stst-stage-stage
RR00 independent set independent set based on based on 2 2 ××c.r.c.r.
TT00 Steiner tree on Steiner tree on RR00
G’G’ Contract Contract c.r.c.r. balls balls around vertices in around vertices in RR00
2x2x00 is feasible is feasible fractional fractional Steiner tree for Steiner tree for RR00 in in G’G’
113113
First stage analysisFirst stage analysis
RR00 independent set independent set based on based on 2 2 ××c.r.c.r.
TT00 Steiner tree on Steiner tree on RR00
G’G’ Contract Contract c.r.c.r. balls balls around vertices in around vertices in RR00
2x2x00 is feasible fractional is feasible fractional Steiner tree for Steiner tree for RR00 in in G’G’
Extension from vertex to Extension from vertex to c.r.c.r. charged to segment charged to segment from from c.r.c.r. to to 2 2 ××c.r.c.r. (disjoint from others)(disjoint from others)
114114
Second stageSecond stage
TT00 1 1stst stage tree stage tree Consider scenario Consider scenario kk
115115
Second stageSecond stage
TT00 1 1stst stage tree stage tree Consider scenario Consider scenario kk Idea: Run Steiner tree Idea: Run Steiner tree
primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when:
116116
Second stageSecond stage
TT00 1 1stst stage tree stage tree Consider scenario Consider scenario kk Idea: Run Steiner tree Idea: Run Steiner tree
primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2 is 2ndnd-stage -stage
117117
Second stageSecond stage
TT00 1 1stst stage tree stage tree Consider scenario Consider scenario kk Idea: Run Steiner tree Idea: Run Steiner tree
primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2 is 2ndnd-stage -stage
118118
Second stageSecond stage
TT00 1 1stst stage tree stage tree Consider scenario Consider scenario kk Idea: Run Steiner tree Idea: Run Steiner tree
primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2 is 2ndnd-stage -stage
119119
Second stageSecond stage
TT00 1 1stst stage tree stage tree Consider scenario Consider scenario kk Idea: Run Steiner tree Idea: Run Steiner tree
primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2 is 2ndnd-stage -stage
120120
Second stageSecond stage
TT00 1 1stst stage tree stage tree Consider scenario Consider scenario kk Idea: Run Steiner tree Idea: Run Steiner tree
primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2 is 2ndnd-stage -stage
121121
Second stageSecond stage
Idea: Run Steiner tree Idea: Run Steiner tree primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2 is 2ndnd-stage -stage
If If MM hits hits TT00, add edge , add edge from from ttMM to to vvRR00
122122
Second stageSecond stage
Idea: Run Steiner tree Idea: Run Steiner tree primal-dual on primal-dual on terminals, stopping terminals, stopping moat moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2is 2ndnd-stage -stage
If If MM hits hits M’M’, connect , connect ttMM with with t’t’M’M’ as in Steiner as in Steiner tree primal-dualtree primal-dual
123123
Second stageSecond stage
Idea: Run Steiner tree Idea: Run Steiner tree primal-dual on terminals, primal-dual on terminals, stopping moat stopping moat MM when: when: MM hits hits TT00
MM hits a stopped moat hits a stopped moat For every terminal in For every terminal in MM, ,
less than ½ flow leaving less than ½ flow leaving MM is 2is 2ndnd-stage -stage
There exists There exists ttMM and and vvRR0 0 s.t. s.t. vv within within 4 4 ××c.r.c.r. of of t t ; connect ; connect t t to to vv
124124
Second stage analysisSecond stage analysis
Primal-dual accounts Primal-dual accounts for edges inside moatsfor edges inside moats
125125
Second stage analysisSecond stage analysis
Primal-dual accounts Primal-dual accounts for edges inside moatsfor edges inside moats
Connector edgesConnector edges paid paid by carefully by carefully accounting:accounting: Primal-dual boundPrimal-dual bound For every terminal For every terminal tt, ,
there is there is vvRR00 within within 4 4 ××c.r.c.r. of of tt
126126
SST: main resultSST: main result
24-approximation24-approximation for for Stochastic Steiner Tree Stochastic Steiner Tree (Improvement to 16-(Improvement to 16-approx possible)approx possible)
Method:Method: Primal-dual Primal-dual overlaid on LP solutionoverlaid on LP solution
Extensions to more Extensions to more general network design general network design with routing costswith routing costs
Per-scenario risk-bounds Per-scenario risk-bounds incorporated and incorporated and roundedrounded
127127
Main Techniques in other Main Techniques in other resultsresults
Stochastic Facility LocationStochastic Facility Location – Rounding natural LP – Rounding natural LP formulation using filter-and-round (Lin-Vitter, Shmoys-formulation using filter-and-round (Lin-Vitter, Shmoys-Tardos-Aardal) carefully [Details in IPCO ’04]Tardos-Aardal) carefully [Details in IPCO ’04]
Stochastic Minimum Spanning TreeStochastic Minimum Spanning Tree – Both scenario – Both scenario and black-box models - Randomized rounding of and black-box models - Randomized rounding of natural LP formulation gives nearly best possible natural LP formulation gives nearly best possible O(log [No. of vertices] + log [max cost/min cost of an O(log [No. of vertices] + log [max cost/min cost of an edge across scenarios]) approximation result [Details edge across scenarios]) approximation result [Details in IPCO ’05]in IPCO ’05]
Multi-stage general covering problems Multi-stage general covering problems – Boosted – Boosted sampling with rejection based on ratio of scenario’s sampling with rejection based on ratio of scenario’s inflation to maximum possible works [manuscript]inflation to maximum possible works [manuscript]
128128
SummarySummary
Natural boosted sampling algorithm works for a Natural boosted sampling algorithm works for a broad class of stochastic problems in black-box broad class of stochastic problems in black-box model model
Boosted sampling with rejection extends to multi-Boosted sampling with rejection extends to multi-stage covering problems in the black-box modelstage covering problems in the black-box model
Existing techniques can be cleverly adapted for Existing techniques can be cleverly adapted for the scenario model (E.g., LP-rounding for Facility the scenario model (E.g., LP-rounding for Facility location, primal-dual for Vertex Covers, location, primal-dual for Vertex Covers, combination of both for Steiner trees)combination of both for Steiner trees)
Randomized rounding of LP formulations works Randomized rounding of LP formulations works for black-box formulation of spanning treesfor black-box formulation of spanning trees