Download presentation
Presentation is loading. Please wait.
Published byΑντίγονος Βούλγαρης Modified over 5 years ago
1
Minmax Regret 1-Facility Location on Uncertain Path Networks
Haitao Wang Utah State University ISAAC 2013
2
Motivations A highway P connecting multiple cities
Goal: choose a location on P to build an evacuation center such that when an emergency happens evacuate people in all cities to the center minimize the evacuation time a highway P a city an evacuation center
3
Motivations The highway P has a capacity, e.g., four driving lanes
Cities have different populations 20k 20k 12k 31k
4
An uncertainty model The population wi of each city xi is uncertain
days, nights, holidays, weekdays, weekends but it is known that wi is in an interval [li, ri] 15k ~ 23k 20k 20k 18k ~ 27k 12k 10k ~ 13k 31k 28k ~ 33k
5
A scenario At any moment, called a scenario, each city has a fixed value of population, i.e., wi is a fixed value 15k ~ 23k 20k 20k 18k ~ 27k 12k 10k ~ 13k 31k 28k ~ 33k
6
Defining the regret Suppose we build an evacuation center at location x For any scenario s T(x,s): the evacuation time xs : the optimal location for s The regret: R(x,s) = T(x,s) – T(xs,s) worst-case loss, opportunity loss x xs 12k 20k 20k 31k the highway an evacuation center
7
The problem objective Find a location x for the center, such that Rmax(x), the maximum R(x, s) over all scenarios s, is minimized Difficulty: There are infinitely many scenarios A crucial observation given by Cheng et al. 13’ only need to consider at most 2n scenarios, one of which is a worst-case scenario Previous work: O(nlog2n) time and O(nlog n) space, Cheng et al. 13’ Our result: O(nlogn) time and O(n) space
8
The definition of T(x, s)
T(x, s) = max{TL(x, s), TR(x, s)} TL(x,s): the time for evacuating the cities on the left side TR(x,s): the time for the right side Suppose x is in (xk, xk+1] TL(x,s) = max1≤i≤k { (x-xi) * a + ∑it=1 wt } fiL(x,s) = (x-xi)*a + ∑it=1 wt a is a positive constant, the time for traversing a unit distance x1 x2 x3 xi xk x xk+1
9
T(x,s) : a unimodal function of x
T(x,s) = max{TL(x,s), TR(x,s)} TL(x,s) = max1≤i≤k { (x-xi)*a + ∑it=1 wt } fiL(x,s) = (x-xi)*a + ∑it=1 wt T(x,s) TL(x,s) TR(x,s) f iL(x,s) x xs xi
10
Computing Rmax(x) Rmax(x) = maxall scenarios s{R(x,s) = T(x,s) – T(xs,s)} Difficulty: There are infinitely many scenarios A crucial observation by Cheng et al. 13’: Only need to consider a set E of 2n scenarios Rmax(x) = max s Є E R(x,s) Define E: E = EL ∪ ER EL = {sL(i) | 1 ≤ i ≤ n} sL(i) : r1 r2 … ri li+1 li+2 …. ln sL(i+1) : r1 r2 … ri ri+1 ri+2 …. ln a unimodal function each city population wi is in [li, ri]
11
The algorithm Goal: find a location x = x* that minimizes Rmax(x)
Rmax(x) = max s Є E R(x,s) R(x,s) = T(x,s) – T(xs,s) The algorithm: Do binary search on x1 x2 … xn to determine the interval [xi, xi+1] that contains x* The main difficulty: For any x, compute R(x,s) in O(n) time for all 2n scenarios in E Rmax(x) x xi x* xi+1
12
Computing R(x,s) for all scenarios s in E in O(n) time
R(x,s) = T(x,s) – T(xs,s) Two major procedures: As preprocessing, compute xs and T(xs,s) for all s of E O(nlog n) time in total Given any x, compute T(x,s) for all s of E O(n) time
13
Computing xs and T(xs,s) for all s of E
Only discuss EL = {sL(i) | 1 ≤ i ≤ n} si = sL(i) : r1 r2 … ri li+1 li+2 …. ln TL(x,si) TR(x,si) x xs
14
The function TL(x, si+1) TL(x,s) = max1≤i≤k { (x-xi)*a + ∑it=1 wt }
fiL(x,s) = (x-xi)*a + ∑it=1 wt si = sL(i) : r1 r2 … ri li+1 li+2 …. ln si+1 = sL(i+1) : r1 r2 … ri ri+1 ri+2 …. ln wi+1 increases from li+1 to ri+1 shift upwards by ri+1 – li+1 x xi xi+1
15
A monotonicity property of xs
From si to si+1 xs moves to the left if xi+1 ≤ xs TR(x,si+1) TL(x,si+1) TL(x,si) TR(x,si) x xs xi xi+1
16
A data structure For any x and any scenario si in EL used in our algorithm compute TL(x, si) and TR(x, si) in O(log n) time Preprocessing: O(n) time and space
17
Computing T(x,s) for all s of E
T(x,s) = max{ TL(x,s), TR(x,s)} Only discuss how to compute TL(x,s) for s in EL = {sL(i) | 1 ≤ i ≤ n} Compute TL(x, s) for the first scenario s = s1 = sL(1)
18
Observations Suppose x is in (xj-1, xj] and TL(x,s1) = fk(x,s1)
Three cases for computing TL(x,si) for si : i is in [2, k] i is in [k+1, j-1] i is in [j, n] TL(x, s1) fk(x,s1) x xk xj-1 xj x
19
Case 1: i is in [2, k] s1: r1 l2 l3 …. ln s2: r1 r2 l3 …. ln
TL(x, si) = TL(x,s1) + ∑it=2 (rt - lt) TL(x, s2) = TL(x,s1) + (r2 – l2) TL(x, s1) fk(x,s1) x xk xj-1 xj x
20
Case 3: i is in [j, n] TL(x, si) = TL(x, sj-1) TL(x, s1) fk(x,s1) x xk
xj-1 xj x
21
Case 2: i is in [k+1, j-1] The difficult case
After changing from sk from sk+1 The function ft shifts upwards for t > k, but fk does not TL(x, sk+1) = TL(x, sk+2) = max{fk(x,sk), fk+3(x,sk+2)} TL(x, sk+3) = max{fk(x,sk), fk+3(x,sk+3)} TL(x, sk+4) = ? max{fk(x,sk), fk+3(x,sk+1)} the second largest function at x x xk xk+1 xk+2 xk+3 xj-1 xj x
22
Thank You
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.