Approximation Algorithms for Stochastic Combinatorial Optimization Part I: Multistage problems...
-
Upload
cecil-willis -
Category
Documents
-
view
224 -
download
0
Transcript of Approximation Algorithms for Stochastic Combinatorial Optimization Part I: Multistage problems...
Approximation Algorithms for Stochastic Combinatorial Optimization
Part I: Multistage problems
Anupam GuptaCarnegie Mellon University
stochastic optimization
Question: How to model uncertainty in the inputs? data may not yet be available obtaining exact data is difficult/expensive/time-consuming
Goal: make (near)-optimal decisions given some predictions (probability distribution on potential inputs).
Studied since the 1950s, and for good reason: many practical applications…
Approximation Algorithms
Recent development of approximation algorithms for NP-hard stochastic optimization problems.
Several different models, several different techniques.
I will give an overview of some of the models/results/ideas in the two talks (today and on Thursday).
two representative formulations for stochastic Steiner tree
the Steiner tree problem
Input: a metric spacea root vertex ra subset R of terminals
Output: a tree T connecting R to rof minimum length/cost.
Facts: NP-hard and APX-hard
MST is a 2-approximation cost(MST(R [ r)) ≤ 2 OPT(R)
[Byrka et al. STOC ’10] give a 1.39-approximation
model I: “two-stage” Steiner tree
The Model:Instead of one set R, we are given probability distribution ¼over subsets of nodes.
E.g., each node v independently belongs to R with probability pv
Or, may be explicitly defined over a small set of “scenarios”
pA = 0.6 pB = 0.25 pC = 0.15
model I: “two-stage” Steiner tree
Stage I (“Monday”)
Pick some set of edges EM
at costM(e) for each edge e
Stage II (“Tuesday”)
Random set R is drawn from ¼Pick some edges ET,R so that EM [ ET,R connects R to root
but cost changes to costT,R (e)
Objective Function: costM (EM) + E¼ [ costT,R (ET,R) ]
pA = 0.6 pB = 0.25 pC = 0.15
approximation algorithm
Objective Function:costM (EM) + E¼ [ costT,R (ET,R) ]
Optimum: Sets EM* and ET,R* which
achieve expected cost Z*
A c-approximation:Find sets EM and ET,R that
achieve expected cost c.Z*
for some small factor c.pA = 0.6 pB = 0.25 pC = 0.15
model II: average-case online
The Model:Instead of being given set R up-front, the nodes in R arrive one-by-one.
Node must be connected to the root as soon as it arrives.
However, the requests not drawn by an adversary, but randomly fromsome known stochastic process.
E.g., each node v independently chosen with probability pv
model II: average-case online
Measure of Goodness:Usual measure is competitive ratio
So we consider
or
E¾ [ cost of algorithm A on ¾ ]
E¾ [ OPT(set ¾) ]
E [ cost of algorithm A on ¾ ]
OPT(set ¾) max¾
cost of algorithm A on ¾
OPT(set ¾)E¾
a tale of two models…
(At least) two ways of modeling Steiner tree
problems become harder in the two-stage model(if no inflation, we can just solve the problem on Tuesday.)
problems become easier in the online stochastic model(we know that the “adversary” is just a stochastic process.)
Let us consider these two models in some detail now…
roadmap
the two-stage model eg: stochastic vertex cover (using LPs) how to solve two-stage stochastic LPs the sample average approximation method
the stochastic online model eg: stochastic Steiner tree (using sampling)
models with recourse
The problem instance is revealed in “stages” initially we perform some anticipatory actions at each stage, more information released we may take some more recourse actions at this point
Initially, given “guesses” about final problem instance(i.e., given probability distribution ¼ over problem instances)
Want to minimize:Cost(Initial actions) + E¼ [ cost of recourse actions ]
representations of ¼
“Explicit scenarios” model Complete listing of the sample space
“Black box” access to probability distribution generates an independent random sample from ¼
Also, independent decisions Each vertex v appears with probability pv indep. of others.
example I: vertex cover
vertex cover = set of vertices that hit all edges.
Finding a minimum cost vertex cover is NP-hard. 2-approx: several algorithms
easy one: solve the linear program relaxation and round
Boolean variable x(v) = 1 iff vertex v chosen in the vertex cover
minimize v c(v) x(v)
subject tox(v) + x(w) ≥ 1 for each edge (v,w) in edge set E
andx’s are in {0,1}
integer-program formulation
stochastic vertex cover
Explicit scenario model: M scenarios explicitly listed.Edge set Ek appears with prob. pk
Vertex costs c(v) on Monday, ck(v) on Tuesday if scenario k appears.
Pick V0 on Monday, Vk on Tuesday
such that (V0 [ Vk) covers Ek.
Minimize c(V0) + Ek [ ck(Vk) ] p1 = 0.1 p2 = 0.6 p3 = 0.3
Boolean variable x(v) = 1 iff v chosen on Monday, yk(v) = 1 iff v chosen on Tuesday if scenario k realized
minimize v c(v) x(v) + k pk [ v ck(v) yk(v) ]
subject to[ x(v) + yk(v) ] + [ x(w) + yk(w) ] ≥ 1 for each k, edge (v,w) in Ek
andx’s, y’s are Boolean
integer-program formulation
minimize v c(v) x(v) + k pk [ v ck(v) yk(v) ]
subject to[ x(v) + yk(v) ] + [ x(w) + yk(w) ] ≥ 1 for each k, edge (v,w) in Ek
Now choose V0 = { v | x(v) ≥ ¼ }, and Vk = { v | yk(v) ≥ ¼ }
Note: if we have explicit multi-stage solution with k stages, gives 2k approximation
We are increasing variables by factor of 4 we get a 4-approximation
linear-program relaxation
solving the LP and rounding
This idea useful for many stochastic problems Set cover, Facility location, some cut problems
Tricky when the sample space is exponentially large exponential number of variables and constraints natural (non-trivial) approaches have run-times depending on the variance
of the problem…
Shmoys and Swamy approach: consider this doubly-exponential vertex cover LP in black-box model can approximate it arbitrarily well, smaller run-times. solution has exponential size,
but we need only polynomially-large parts of it at a time.
roadmap
the two-stage model eg: stochastic vertex cover (using LPs) how to solve two-stage stochastic LPs the sample average approximation method
the stochastic online model eg: stochastic Steiner tree (using sampling)
Approximation Algorithms for Stochastic Problems
Part II: Online (Stochastic) Problems
Anupam GuptaCarnegie Mellon University
the Steiner tree problem
Input: a metric spacea root vertex ra subset R of terminals
Output: a tree T connecting R to rof minimum length/cost.
Facts: NP-hard and APX-hard
MST is a 2-approximation cost(MST(R [ r)) ≤ 2 OPT(R)
[Byrka et al. STOC ’10] give a 1.39-approximation
model II: average-case online
Requests:generated by a given stochastic process, have to be connected to the root.
Measure of Goodness:Want to minimize
E¾ [ cost of algorithm A on ¾ ]
E¾ [ OPT(set ¾) ]
recap: the standard online model
The Greedy Algorithm
Given: metric space, root vertex r, requests come online
measure of goodness
Competitive ratio of algorithm A:
max Cost(algorithm A on sequence ¾) ¾ Cost(optimum Steiner tree on ¾)
The Greedy Algorithm
[Imase Waxman ’91] The greedy algorithm is O(log k) competitive for sequences of length k.
The Greedy Algorithm
[Imase Waxman ’91] The greedy algorithm is O(log k) competitive for sequences of length k.And this is tight.
The Greedy Algorithm
[Imase Waxman ’91] The greedy algorithm is O(log k) competitive for sequences of length k.And this is tight.
stochastic online model
random arrivals
Suppose demands are nodes in V drawn uniformly at random, independently of previous demands.
uniformity: not important could have (given) probability ¼: V [0,1]independence: important, lower bounds otherwise
Measure of goodness:
E¾ [ cost of algorithm A on ¾ ]E¾ [ OPT(set ¾) ]
Assume: know the length k of the sequence
greed is (still) bad
[Imase Waxman ’91] The greedy algorithm is £(log k) competitive for sequences of length k.
Tight example holds also for (uniformly) random demands.
however, we can prove…
For stochastic online Steiner tree, “augmented greedy” with known length k achieves
E¾ [ cost of algorithm A on ¾ ]E¾ [ OPT(set ¾) ]
≤ 4
Augmented greedy
1. Sample k vertices A = {a1, a2, …, ak} independently.
2. Build an MST T0 on these vertices A [ root r.
3. When actual demand points xt (for 1 · t · k) arrives,greedily connect xt to the tree Tt-1
Augmented greedy
Augmented greedy
1. Sample k vertices A = {a1, a2, …, ak} independently.
2. Build an MST T0 on these vertices A [ root r.
3. When actual demand points xt (for 1 · t · k) arrives,greedily connect xt to the tree Tt-1
Proof for augmented greedy
Let S = {x1, x2, …, xk}
Claim 1: E[ cost(T0) ] ≤ 2 £ E[ OPT(S) ]
Claim 2: E[ cost of k augmentations in Step 3 ] ≤ E[ cost(T0) ]
1. Sample k vertices A = {a1, a2, …, ak} independently.
2. Build an MST T0 on these vertices A [ root r.
3. When actual demand points xt (for 1 · t · k) arrives,greedily connect xt to the tree Tt-1
Ratio of expectations ≤ 4
Proof for augmented greedy
Let S = {x1, x2, …, xk}
Claim 2: ES,A[ augmentation cost ] ≤ EA[ MST(A [ r) ]
Claim 2a: ES,A[ x2S d(x, A [ r) ] ≤ EA[ MST(A [ r) ]
Claim 2b: Ex,A[ d(x, A [ r) ] ≤ (1/k) EA[ MST(A [ r) ]
1. Sample k vertices A = {a1, a2, …, ak} independently.
2. Build an MST T0 on these vertices A [ root r.
3. When actual demand points xt (for 1 · t · k) arrives,greedily connect xt to the tree Tt-1
Proof for augmented greedy
Claim 2b: Ex,A[ d(x, A [ r) ] ≤ (1/k) EA[ MST(A [ r) ]
= E[ distance from one random point to (k random points [ r) ]
≥ (1/k) * k * Ey, A-y[ distance(y, (A-y) [ r) ]
≥ E[ distance from one random point to (k-1 random points [ r) ]
≥ E[ distance from one random point to (k random points [ r) ]
Proof for augmented greedy
Let S = {x1, x2, …, xk}
Claim 1: E[ cost(T0) ] ≤ 2 £ E[ OPT(S) ]
Claim 2: E[ cost of k augmentations in Step 3 ] ≤ E[ cost(T0) ]
1. Sample k vertices A = {a1, a2, …, ak} independently.
2. Build an MST T0 on these vertices A [ root r.
3. When actual demand points xt (for 1 · t · k) arrives,greedily connect xt to the tree Tt-1
Ratio of expectations ≤ 4