An Efficient Simulation-based Approach to Ambulance Fleet Allocation and Dynamic Redeployment Yisong Yue (CMU) & Lavanya Marla (CMU) & Ramayya Krishnan (CMU) Evaluating.

Download Report

Transcript An Efficient Simulation-based Approach to Ambulance Fleet Allocation and Dynamic Redeployment Yisong Yue (CMU) & Lavanya Marla (CMU) & Ramayya Krishnan (CMU) Evaluating.

An Efficient Simulation-based Approach to Ambulance
Fleet Allocation and Dynamic Redeployment
Yisong Yue (CMU) & Lavanya Marla (CMU) & Ramayya Krishnan (CMU)
Evaluating System Performance
• Given an empirical sample of call logs R1,…,RN
• Compute the expected performance via
Data-Driven Simulation
• Evaluation most accurate via simulation
• Given a sample of requests R, can simulate how any
allocation services R
• Example: 4 requests, 2 bases
Algor ithm 2 SA M PL ER: Request Sampler
1:
2:
3:
4:
5:
6:
7:
8:
Scenario 1: 2 ambulances
F(A) = ( FR1(A) + … + FRN(A) ) / N
Algor ithm 2 SA M PL ER: Request Sampler
1:
2:
3:
4:
5:
6:
7:
8:
• Static Allocation Goal: find an allocation A with good
performance
input: t st a r t , t en d
R ← ∅, t ← t st a r t
while t < t en d do
Sample r ← P (r |t) //sampling request starting at time t
t ← t r //incrementing current time
R ← R ∪ { r } //adding sampled request to collection
end while
retur n: R
Greedy Algorithm
hand, if call arrival depends on the EMS allocation and disinput: t st a r t , t en d
R ← ∅, t ← t st a r t
patch behavior (and thus violates Assumption 1), then one
while t < t en d do
can no longer pre-sample future calls for simulation.
Sample r ← P (r |t) //sampling request starting at time t Assumption 1 also implies that R can be incrementally
t ← t r //incrementing current time
sampled according to a memory-less stochastic process.3
R ← R ∪ { r } //adding sampled request to collection
Thus, for any time interval (e.g., one week), we can increend while
mentally sample requests using Algorithm 2. Here, P (r |t)
retur n: R
Scenario 2: 3 ambulances
denotes the distribution of the next arriving request starting
at time t, and t r denotes the arrival time of request r .
Figure 1: Example simulation (four requests and two bases).
hand, if call arrival depends on the EMS allocation and dis• Ambulance
20). All Assumption
available ambupatch redeployment
behavior (and (line
thus violates
1), then one 4 Static Allocation Problem For mulation
lancescan
areno
considered
for redeployment
by the
redeploylonger pre-sample
future calls
for simulation.
We begin by describing the static allocation setting, which
ment policy
π. Note that
these
eventsthat
are only
used
Assumption
1 also
implies
R can
be when
incrementally
we later build upon for the dynamic setting. Let A denote an
3
simulating
dynamic
redployment
policies.
sampled
according
to a memory-less
stochastic process.allocation
of ambulances to bases A (there can be more than
for anytwo
timeexamples
interval (e.g.,
one week),
can increone ambulance at a base). We represent A as a multiset of
FigureThus,
1 describes
with four
requestswe
and
requests
2. Here,
elements in A . Let M (A ) denote the multi-powerset of A .
two basementally
locations.sample
Requests
R 1 , . .using
. , R 4 Algorithm
arrive in index
or- P (r |t)
F of an allocati on A using areal-valued
denotes
distribution
the nextwith
arriving
Wemeasure the utility
der. Figure
1 topthe
shows
dispatchofbehavior
one request
ambu- starting
at time t,
t r denotes
the arrival
timeisofassigned
request r .
objective F : M (A ) → . We focus on penalty reduction
lance allocated
perand
base.
R 1 arrives
first, and
Figure 1: Example simulation (four requests and two bases).
formulations, where we can write F (A) as
its closest ambulance (from A 1 ). When R 2 arrives, the dispatcher assigns
it its closest
free ambulance
A 2 ).
4 Static
Allocation
Problem(from
For mulation
• Ambulance redeployment (line 20). All available ambuF (A) = L ( ∅) − L (A),
(1)
When
R
and
R
arrive,
all
nearby
ambulances
are
busy,
3
4
lances are considered for redeployment by the redeployWe beginare
bynot
describing
the
static1 allocation
setting,
which
so
both
requests
serviced.
Figure
bottom
shows
a
ment policy π. Note that these events are only used when
where L : M (A ) → measures the penalty (or cost) of
we laterwith
buildtwo
upon
for the dynamic
setting.
Let
A denote an
similar
example
ambulances
allocated
to
A
.
1
simulating dynamic redployment policies.
an ambulance allocation over some period of time (e.g., one
allocation of ambulances to bases A (there can be more than
week). For example, L (A) may correspond to the fraction
one ambulance
at a base). We represent A as a multiset of
Figure 1 describes two examples with four requests and
3.1 Sampling
Requests
elements in A . Let M (A ) denote the multi-powerset of Aof. requests whose service time is above some target threshtwo base locations. Requests R 1 , . . . , R 4 arrive in index orIn order to
evaluate ambulance
and
old, and is a tunable component of the framework. In that
Wemeasure
the utilityallocations
of an allocati
onredeployment
A using areal-valued
der. Figure 1 top shows dispatch behavior with one ambupolicies, objective
we also require
sample
requests
case, F (A) would then correspond to the reduction of such
F : Ma(A
) → of. emergency
We focus on
penaltyR.reduction
lance allocated per base. R 1 arrives first, and is assigned
In this paper,
we assume
requests
arewrite
sampled
from
a generrequests after adding A to the empty allocation ∅.
formulations,
where
we
can
F
(A)
as
its closest ambulance
(from
A
).
When
R
arrives,
the
dis1
2
Algor ithm 2 SA M PL ER: Request
Sampler
ativemodel
P(R) (with parameters estimated from historical
We define L using the outcomes of simulated requests.
patcher assigns it its closest free ambulance (from A 2 ).
data). We begin by stating
an independence
assumption.
F (A)
= L ( ∅) − L (A),
(1)
Ideally, our goal is to maximize the expected gain in perforWhen R 3 and R 4 arrive,
all nearby
1: input:
t st aambulances
r t , t en d are busy,
mance over some (known) distribution of requests P(R). Let
1. Sampling a request depends only on exogeso both requests are 2:
not R
serviced.
bottom
showsAssumption
a
← ∅,Figure
t ← 1t st
ar t
where L : M (A ) → measures the penalty (or cost) of
Y = { yr } r ∈ R denote the output of Algorithm 1 for request
similar example with two ambulances allocated to A 1 . nous factors (e.g., location, time of day, road conditions),
3: while t < t en d do
an ambulance
allocation
overand
some
of time
log R. Then we can write the expected penalty as
and is independent
of other
requests
theperiod
allocation
and(e.g., one
For example,
L (A)
to the fraction
2 starting
4:
Sample r ← P (r |t) //sampling
request
at may
timecorrespond
t
dispatch week).
of the
EMS.
3.1 Sampling Requests
of requests whose service time is above some target thresh5:
t
←
t
//incrementing
current
time
r
In order to evaluate ambulance allocations
and redeployment This independence
call arrival patterns
and EMS In that
old, and is a between
tunable component
of the framework.
L (A) = ER ∼ P( R )
L r (yr ,A )) ,
(2)
6: a sample
R ←ofRemergency
∪ { r } requests
//adding
sampled
to then
collection
policies, we also require
R.
behavior
will be
important
when
developingtoour
case,
Frequest
(A)
would
correspond
theoptimizareduction of such
r ∈R
In this paper, we assume
requests
are sampled from a genertion approach
andafter
analysis.
when
simulating
7: end
while
requests
addingInA particular,
to the empty
allocation
∅.
ativemodel P(R) (with parameters estimated from historical
dispatch behavior
(andL evaluating
service
werequests.
where L r (y) is the penalty of assigning request r with y
We define
using the EMS
outcomes
of levels),
simulated
8:
retur
n:
R
data). We begin by stating an independence assumption. can first Ideally,
pre-sample
a callislog
R (e.g., one
week’s worth),
(e.g., whether or not assigning ambulance y to r results in a
our goal
to maximize
the expected
gain in perforand thenmance
evaluate
service
an allocation
by run-P(R). Let
service time above a target threshold), and yr ,A denotes the
over
somequality
(known)ofdistribution
of A
requests
Assumption 1. Sampling a request depends only on exogening SI MYUL=ATOR
in Algorithm 1. On the other
assignment that the simulator (Algorithm 1) gives to r .
{ yr } rdescribed
nous factors (e.g., location, time of day, road conditions),
∈ R denote the output of Algorithm 1 for request
In practice, we resort to optimizing over a collection of
log R. Then we can write the expected penalty as
and is independent of other requests and the allocation and 2
poor
road conditions
can increase
probability of acM
hand,
if call arrival depends onE.g.,
the
EMS
allocation
and the
dis2
dispatch of the EMS.
request
logs
R
=
{
R
}
m
m = 1 , where each R m ∈ R is samcidents, but each accident event is sampled independently. This aspatch
behavior
violates
1), then
onebehavior such as
pled i.i.d according to P(R). We thus approximate the exsumption isAssumption
not suitable
for
modeling
cascading
This independence
between
call arrival (and
patternsthus
and EMS
L (A) = ER ∼ P( R )
L r (yr ,A )) ,
(2)
epidemics,
since
modeling
how
epidemics
spread
can
depend
on
can nowhen
longer
pre-sample
future calls for simulation. r ∈ R
behavior will be important
developing
our optimiza3
previous
incidents
as
well
as
the
service
level
of
the
EMS.
In our experiments, we use a Poisson process (Ross 1983).
tion approach and analysis.
In
particular,
when
simulating
Assumption 1 also implies that R can be incrementally
dispatch behavior (and evaluating EMS service levels), we
where L r (y) is the penalty of assigning
request r with y
3
to a
memory-less
stochastic
process.
can first pre-samplesampled
a call log Raccording
(e.g., one week’s
worth),
(e.g., whether
or not assigning
ambulance y to r results in a
and then evaluate service
an allocation
A by run-(e.g., service
time above
a target
Thus,quality
for of
any
time interval
one week),
we
canthreshold),
incre- and yr ,A denotes the
• Requirement: best response myopic dispatching
Generative Model for Requests
• Generative model of requests from historical data
Assumption: distribution of emergency requests
is independent of EMS (ambulance) behavior
• δ (a|A) = F(A + a) – F(A)
• Lazy variant runs in seconds [Leskovec et al., 2007]
Dynamic Redeployment
• Dynamic redeployment requires an allocation policy.
• We consider policies that redeploy at regular intervals
• E.g., every 30 minutes
• We consider myopic redeployment algorithms
• Optimize for performance of next interval
• Equivalent to mini static allocation problem
• Requests sampled as Poisson process
• Each sampled request is fully deterministic
• Simulating with any allocation is fully deterministic
• Greedy solution
• Sample requests for next interval
• Run greedy to compute re-allocation
• Can also be extended to dynamic redeployment setting
• Ongoing work
Empirical Evaluation
• Leveraged historical data of EMS system of Asian city
• Built a generative model of requests
• 58 base locations, budget of 58 ambulances
• Evaluate over 1 week of requests
• Three types of penalty functions considered
• L1 : graded penalty based on service time
• L2 : higher penalty for un-serviced requests
• L3 : threshold penalty for 15-min service time
% not serviced
FR(A) = LR(Ø) - LR(A)
% serviced in 15 min % serviced in 15 min
• We evaluate system performance via cost reduction
• Define GR(A) = objective of omniscient dispatching
• GR(A) ≥ FR(A)
• Can be solved via relatively simple IP
• GR(A) is monotone submodular!
• Optimality guarantees on G also apply to F!
• Guarantees via submodularity
• Even tighter bounds as well
Static
Allocation
• Contributions:
• Data-driven simulation
• Allocation via simulation
• Theoretical guarantees
• F is very hard to analyze directly
• Interactions between overlapping requests
Dynamic
Allocation
• For a given request log R, and allocation A
• Let LR(A) denote the penalty of simulating R using A
• E.g., # calls not served within 15 minutes
Theoretical
Bounds
• Ambulance allocation important EMS problem
• Where to place ambulance (when)?
Theoretical Analysis
% not serviced
Ambulance Allocation
Submodular Upper Bound is datadependent bound via submodularity
Omniscient-Optimal Upper Bound is
tighter bound via extending IP formulation for solving omniscient dispatch