The optimal allocation of users to servers in an

7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
Tatiana Bassetto* - Francesco Mason**
* Dipartimento di Matematica Pura e Applicata
Università degli Studi di Padova
HPDLO: [email protected]
**Dipartimento di Matematica Applicata
Università Ca' Foscari di Venezia
HPDLO: [email protected]
$EVWUDFW7KLVSDSHUFRQVLGHUVWKHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\
PHGLFDOVHUYLFHLQZKLFKWZRRUWKUHHDPEXODQFHVFRRSHUDWHWRVHUYHFDOOVIURPDUHJLRQ
RI UHFWDQJXODU VKDSH 4XHXHLQJ PRGHOV DUH RIWHQ XVHG WR DSSURDFK HPHUJHQF\ KHDOWK
VHUYLFHV:HDQDO\VHWKUHHGLIIHUHQWGLVSDWFKSROLFLHVWRGHWHUPLQHWKHEHVWDYDLODEOHXQLW
WREHVHQWDQGLQWURGXFHDFODVVLILFDWLRQRIGLVWULFWVLQIRXUGLIIHUHQWFODVVHV3URSHUWLHVRI
WKH RSWLPDO ERXQGDULHV LH WKH RQHV WKDW PLQLPL]H WKH DYHUDJH UHVSRQVH WLPH EHWZHHQ
XVHUV DQG VHUYHUV DQG ZKLFK GHILQH GLVWULFWV JLYHQ WKH KRPH ORFDWLRQV RI VHUYHUV DUH
LQYHVWLJDWHG 7KH WZRVHUYHUPRGHO LVUHYLHZHG DQG UHVXOWV DUHREWDLQHG IRU WKH WKUHH
VHUYHU PRGHO HQOLJKWHQLQJ D QRQPRQRWRQH EHKDYLRXU RI WKH VKLIW RI WKH RSWLPDO
ERXQGDULHV ZLWK UHVSHFW WR WKH HTXLGLVWDQFH FXUYH LQ WKH GLIIHUHQW VWDWHV RI WKH V\VWHP
GHSHQGLQJ RQ WKH XWLOL]DWLRQ UDWLR RQ WKH SROLF\ DVVXPHG DQG RQ WKH ORFDWLRQV RI WKH
VHUYHUV7KLVZD\LWLVQRWSRVVLEOHWRJLYHDQµDSULRUL¶JHQHUDOUXOHRQWKHSURSHUWLHVRI
WKH ERXQGDULHV RI WKH GLVWULFWV RQO\ RQ WKH EDVLV RI WKH QXPEHU RI EXV\ VHUYHUV DW WKH
VSHFLILFWLPH
.H\ZRUGVDOORFDWLRQHPHUJHQF\VHUYLFHVTXHXHLQJWKHRU\GLVWULFWLQJ
,QWURGXFWLRQ
Emergency medical services (EMS), in which one or more units are dispatched
from fixed locations to points of demand, can be faced by queueing models with multiple
servers and zero-line capacity: in this framework, calls must be satisfied immediately and
cannot wait in a queue. If all ambulances are busy, i.e. when there is IXOO FRQJHVWLRQ,
demands remain unfulfilled (in practice, they are satisfied by extraordinary carriers, such
as helicopters). Emergency services could have “mutual aid” agreements with private
providers, before the full congestion and in order to avoid it, but this is not the case of our
study. We emphasize that, in real life, users very far from servers are not “lost”, even if
the attention is necessarily poor. A server (maybe, from outside the region) is always
dispatched, no matter how serious is the case.
When more than one cooperative unit serves a region and units are located on
different but fixed positions, the problem is to establish, for every demand point, which is
the available server to be dispatched, in order to meet some criteria. This way, the solution
can consist in a priority list stating which (idle) server matches the call.
Equivalently, the solution can be formulated in terms of boundaries between
districts, i.e. the zones which are respectively attributed to the servers. Obviously, in a
dynamic setting, boundaries can vary depending on the VWDWHRIWKHV\VWHP, i.e. ‘a particular
combination of units busy servicing calls’ (see [10]).
This problem, in which it is assumed that servers have fixed locations, is studied in
literature since the early 1970'
s.
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
In [3] Carter, Chaiken and Ignall considered a two-unit model. The authors gave
formulas to determine the average response time and the workload of each server as
functions of the position of the boundary between the response areas. They proved that the
minimization of the average response time is not always obtained attributing each demand
point to the nearest server, even if the region has a rectangular shape and uniformly
distributed demand. Speaking loosely, the optimal boundary is not necessarily the line
equidistant from the two home locations of the servers: it depends on factors such as the
home locations of the units, the arrival rate and the average response time between each
server and the whole region.
In [13] the inter-district cooperation suggested by [3] is shortly discussed
considering a multiple server model, but emphasis is (put) on the location problem,
particularly when no inter-facility cooperation is allowed.
In [10] Larson introduces the K\SHUFXEHPRGHO, in which the aim of the author is to
develop computationally efficient algorithms to get the steady state probabilities and,
consequently, some performance evaluation for queuing systems with multiple servers.
The region is partitioned into atoms, i.e. subsets of any geometric shape and as small as
necessary, so that they could be points. The author assumes a “ fixed preferences” dispatch
policy: an ordered list of servers is given for every atom and the dispatcher always selects
the first available unit, given the state of the system. The list does not change with the state
of the system. As Larson says explicitly, ‘more complicated dispatch policies such as
time-average minimization of system-wide travel time are not included in the class of
policies’ considered in his paper. ‘For such policies the determination of the optimal unit
may be a very difficult task, involving many more calculations than illustrated’.
Larson’s hypercube model overcomes three deficiencies of the previous analyses.
First, it takes into account not only LQWUDdistrict but also LQWHUdistrict responses. Second, it
allows to obtain (or define) many performance measures, that characterize the operational
effectiveness of these systems. Third, it incorporates the probabilistic nature of an urban
emergency service system, modelling different demand rates for different atoms. The
name is K\SHUFXEHPRGHO because the state of the system, in which there are Q cooperating
servers, can be represented by a binary Q-vector B, whose components indicate whether
server M is busy (E = 1) or available (E = 0). These vectors can be thought as the vertices
of a hypercube: for each vertex, we know the identity of the available units to dispatch to
any call. In this way, each vertex corresponds to a state of the system.
An approximate and iterative procedure to compute selected performance
characteristics of emergency systems in the hypercube model is presented ([11]) by Larson
in 1975. In order to obtain the probability that a particular server is busy, a simplified
correction factor is introduced. This method has the main advantage that, in the case of Q
servers, it requires only Q equations, rather than 2 , as necessary in the hypercube model.
In [12] the results so far obtained are synthesized.
In [6] the properties of the optimal boundary in the two-unit model ([3]) are
extended to the Q-unit case and it is proved that the optimal boundary between two
adjacent response areas can be obtained by translating the curve of equal distance from
users to servers by a constant quantity. The model assumes that boundaries depend on the
state of the system and that they could change with every new call or when a server
becomes free: an assumption to which we will come back later. However, the direction
and the amount of the translation cannot be directly deduced by the proof.
The optimal allocation of two fixed service units acting as M/G/1 queues is
investigated in [8], where the problem is a FXVWRPHUWRVHUYHUV\VWHP.
Particular hints to analyse different aspects of the problem can also be obtained,
obviously, from specific practical frameworks.
Indeed, properties of the boundaries in practical life are sometimes intriguing.
2
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
As an example, the emergency service in the shire town of Padua (it is named ‘118
service’ ) is provided by three ambulances, one located at the centre of the town and the
other two at the outskirts of the region to be served. For the case in which all servers are
available, boundaries are drawn closer to the outskirt servers: they are not equidistance
curves (when only the central unit is busy, its response area is divided between the other
two; while, when only an outskirt server is busy, its whole area is attributed to the central
unit).
This way, the region is partitioned into three areas of primary responsibility
(“ districts” ), that are someway definitely defined and the operator has simply to dispatch a
new call to its own ‘primary’ server, if idle, independently of the state of the system.
Otherwise, if the primary server is busy for a previous call, the server of the nearest district
will be dispatched to.
It seems obvious to ask whether a solution, like the one adopted from technicians of
Padua, is justified. To some extent, the numerical results we obtain here on some different
instances seem to suggest the correctness of their choice.
The quoted literature and the last example suggested us some issue to be more
deeply investigated.
First of all, in this paper, we propose a classification (that was not explicitly given
in the previous literature) in such a way we can draw the boundaries of the '
districts'
, i.e.
the subsets of the whole region under the responsibility of the different idle servers, for
every state of the system.
Next we find the optimal allocation between users and servers, i.e. the optimal
boundaries, which minimize the total average distance, in some particular instances of the
three servers case, which highlights interesting and not obvious properties of the optimal
boundaries.
Last, we compare boundaries with the curves of equidistance from the home
locations of the servers: in particular, one can ask how large is the gap (between
boundaries and equidistance curves) and in particular, whether it is significant.
Our study suggests that the equidistance curve not always is a simple and
immediate method in practical cases in order to obtain fairly good solutions. Besides that,
the main results we get are as follows. First, the optimal boundaries depend, first of all, on
the dispatch policy we assume. Second, depending on the utilization ratio, there is a shift of
the boundaries from the equidistance curve between adjacent servers, which has a nonmonotone behaviour: in particular, boundaries can be located on either side of this curve.
This paper is divided into seven sections.
In the first one, the two-unit model by Carter - Chaiken - Ignall [3] is reviewed
under the assumptions of uniform density function for the demand on a rectangular area
and Manhattan metric. The target is to summarize the two-server case using a classical
optimisation method and a different notation, in order to underline some properties of the
optimal boundary and to introduce the three-server case.
The second section is devoted to the definition of three GLVSDWFK SROLFLHV, i.e.
decision rules to determine the identity of the best available unit to dispatch, pointing out
differences between Larson’ s model and ours. Consequently, a classification of districts in
four classes is introduced.
The three-server model is analysed in the third section: properties of the optimal
boundaries, which define districts, are investigated in the case of two different dispatch
policies, the “ YDU\LQWLPH SROLF\” and the “ VLPSOHVWFULWHULXP SROLF\” . A comparison
between results of the two policies is also presented (sections 4 and 5).
Conclusions are traced in the last section: our results show that it is not possible to
give an ‘a priori’ general rule on the location of the boundaries only on the basis of the
number of busy servers at a specific time.
3
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
Finally, we want to observe that the topic discussed in this paper is slightly
different from the optimal ORFDWLRQ problem of emergency services, in which the location
of ambulances is not fixed in advance: for this problem, a huge amount of literature exists
(see, for example, [4] for the state of the art before ’ 72 or [2], in which the more recent
state of the art is summarized, or elsewhere, among the main important papers, [5], [7],
[14], [15] and [16]).
Summary of the frequently used symbols
_________________________________________________________________________
A, B, C = servers and districts;
state M = state of the system in which server j is busy;
state 0 = state of the system in which every server is available;
θβ = decision variables;
I[ = probability density function;
I = set of atoms, whose union is a district;
M = {1,….Q} index of the server and of the district;
λj = average rate of calls coming from the district j;
µ = average service time per call;
ρ = utilization ratio of the system;
Q = total number of cooperative servers;
3 = probability that system is in state j;
[* = optimal boundary of the two-server model;
θ*XY = optimal boundary between server X and Y in the three-server case;
4 = 2 server problem;
=α objective function of the 2 server problem.
4 = 3 server problem;
4 λ λ = 3 server problem when λ λ ;
Nθβ= objective function of the 3 server general case;
Nθλ λ = objective function of 4 λ λ = 3.
________________________________________________________________________________________________
7KHWZRVHUYHUPRGHO
As Carter, Chaiken and Ignall point out in [3], the problem in which the region is
served by only two units is interesting because of notable properties of each solution, that
hold also for more complex systems. Here we resume the results obtained by these authors
in that paper, and re-write them in such a way to get a more useful formulation for what
follows. Their model is a VHUYHUWRFXVWRPHU M/M/2/0 queuing system that assumes what
follows:
i)
ii)
iii)
every call is met by only one unit; any server leaves its home location and,
before it can service another call, it must come back after the service;
any unit serves its own district, or SULPDU\UHVSRQVHDUHD, only if available;
thus, choosing the boundary between response areas determines not only the
priority of service to the points but also the probability of each unit’ s being
busy;
if a call arrives when its own server is busy, then the other available server
goes to the rescue (in this model, if both units are busy the call is lost).
Observe that, under these assumptions, the meaning of the word “ district” is clear:
the region is divided in two districts by a boundary only if each unit is available, otherwise
the whole region is served by the unique available server. This observation doesn’ t hold
for more than two server systems, for which a dispatch policy is needed.
4
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
In order to get the optimal boundaries, in [3] two criteria are used: the minimization
of the average response time between users and servers and an equal distribution of the
workload between the units.
The problem in [3] is studied on a rectangular region whose sides are parallel to the
axes and calls are uniformly distributed. Using a notation slightly different from the one
used in [3], the\-axis can be supposed the left side of the region, while the[-axis is the
straight line through the locations of the two units. Let λ be both the (fixed) length of the
region (see fig.1) and the (average) rate of calls from the whole rectangle. Let (DE
be respectively the coordinates of the home locations of servers A and B, with ≤DE≤λ.
Assuming Manhattan metric (as in [3]), in order to reach calls, servers travel only
parallel to the axes at a constant speed, Y if they run parallel to the [-axis and Y
if they run
parallel to the \-axis. The [-axis can cut the rectangle anywhere, because when a call
arises in any point [\ of the region, it is obvious that the distance |\| to travel is the same
for the two units: then, the only needed variable to state which server must be dispatched is
the [ coordinate of the call. Then, practically, the problem reduces itself to a onedimensional optimisation problem, in which the optimal boundary is a vertical line [ [,
but calls can be thought as coming from the segment [0, λ] on the[-axis and we only need
to calculate [.
A
(0,0)
B
(D
[
(E
(λ,0)
( )
district A
district B
)LJXUH'LVWULFWVLQWKHWZRVHUYHUPRGHO
The goal in [3] involves the determination of the optimal boundary minimising the
total average distance between each server and the whole region. If DE = λ the point
[= λ/2 is the optimal boundary; but if DE ≠ λthe optimal boundary is no more [ = λ/2
because it moves in either direction.
Because of the assumed uniform distribution of calls, the average rate of calls
arising from a particular interval strictly included in [0, λ] is the length of the same. The
time between two consecutive calls as well as service time is exponentially distributed with
parameters λ and µ (i.e. the service rate), respectively.
The M/M/2/0 model can be represented by a directed graph (see [12]), in which the
states of the system are denoted:
-
0, if servers are both available;
A, if A is busy (while B is available);
B, if B is busy (while A is available);
AB, if both units are busy.
Let λ and λ be the rates of calls coming from the districts A and B, respectively
(λ λ λ). The travel time is negligible with respect to the service time so that it can
be included in the service time itself.
Introducing a decision variable θ, 0 ≤ θ ≤ 1, such that λ θλ, we must find the
point [ θλ (or, equivalently, the vertical line [ θλ) which minimises the total
5
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
average time between users and servers. This point (and the line) partitions the region in
two districts [0, [] and [[, λ] allocated, respectively, to server A and B (fig.1). Using
our notation and assuming steady state conditions, the formulas for the probability that
system will be in any state can be written:
3 = 30
µθλ + λ 2 / 2
µ (µ + λ )
(1)
µ (1 − θ )λ + λ 2 / 2
µ (µ + λ )
1
30 =
1 + (λ / µ ) + (λ 2 / 2 µ 2 )
3 = 30
3 = 30 λ 2 /(2 µ 2 )
( 2)
(3)
( 4)
The total average travel time to answer to any call obviously depends on the
partition of the region. It is the weighted sum of the average response time spent by the
two units (note that the time spent by the external server doesn’ t depend on any partition
because when all the servers are busy, be they 2 or even more, it is constant) and then we
are brought to solve the problem:
( 4
)
where
min =θ
θ ∈[D/λ, E/λ]
s. t.
θλ
θλ
= (θ ) = ∫ (D − [)(1 − 3 − 3 ) I ( [)G[ + ∫ ([ − D )(1 − 3 − 3 ) I ( [)G[ + ∫ (E − [)3 I ( [)G[ +
0
0
λ
λ
+ ∫ (E − [)(1 − 3 − 3 ) I ( [)G[ + ∫ ( [ − E)(1 − 3 − 3 ) I ( [)G[ + ∫ ( [ − D ) 3 I ( [)G[.
θλ
θλ
Here I[ represents the probability density function. Because of the assumption of
uniformly distribution of the calls, we have I[ λ.
Disregarding constants, the problem reduces itself to the determination of:
min(1 − 3 )[(θλ ) 2 + λ2 / 2 − (D + E)θλ − λE + D 2 + E 2 ] +
− 3 [D 2 + (θλ ) 2 − (D + E)θλ ] − 3 [(D − E)λ − θλ (D + E) + (θλ ) 2 + E 2 ]
The optimal boundary is:
[* =
D + E (D − E)(D + E − λ )
+
2
2( µ + λ )
(5)
The latest formula coincides substantially with the one given in [3] (page 576):
however, (5) is a little bit more general since it states that the optimal boundary can be
obtained, starting from the middle point between the locations of servers, adding a second
term, positive or negative depending on the asymmetry of the position of the servers with
respect to the region (as expressed by D E λ). Then, the optimal boundary moves
towards Ewhen D+ E < λ, i.e. as the barycentre between servers lies on the ‘left’ half of
the interval [0, λ] (even if both servers are on the left half): this offsets the fact that the area
6
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
is greater in the district of B. In the same way, [* moves towards D if the barycentre of the
servers lies to the ‘right’ side of the region. This result is directly deduced from formula
(5) in which one has only to substitute values of D E λ and µ (it cannot be obtained
immediately from the formula in [3] which works only in the case in which DEλ).
7KHGHILQLWLRQRIGLVSDWFKSROLFLHVERXQGDULHVDQGGLVWULFWV
The word ‘GLVWULFW’ assumes a slightly different meaning in the three-server model
with respect to the two-server one. Larson in [10] defines the “ district for a particular
ambulance” as a part of the region “ …in which calls for ambulance service would be
handled by that ambulance, providing it is available when the call is received” .
The three-server problem can be solved reducing it into sub-problems depending on
how many servers are busy in the system. Obviously, if there are three available servers on
a region, boundaries will partition it into three primary response areas; while, if there is
only one available server, the whole region will be served by it. On the contrary, if there is
only one busy server, the region will be subdivided between the two remaining available
units depending on the GLVSDWFKSROLF\we decide to followThere could be (at least) three
dispatch policies: we will call them as the “ YDU\LQWLPH” policy, the “ IL[HG SUHIHUHQFHV”
(this term was already used in [10]) and finally the “ VLPSOHVWFULWHULXP” policy.
In the first policy, the goal is the time-average minimization of system-wide travel
time (as in [3]): in this case the three-server problem is solved by a ‘dynamic
programming’ like technique, i.e., the boundary, in the case of one busy / two free servers,
is the one given by (5), and it is the optimal boundary which solves the two-server subproblem, minimizing the average response time of the system. For such a policy, possibly,
the districts in a particular sub-problem never coincide with any of the primary response
areas. Assuming, for example, that A, B and C are the three servers on a rectangular
region, and we want to solve the sub-problem in which server C is busy: the boundary D*
i.e. the boundary between A and B in state C, does not necessary overlap with C*i.e. the
boundary between A and B when servers are all available. Then, we can say that
boundaries between all pairs of districts YDU\LQWLPH depending on the state of the system
(see fig.2).
C*
D*
(x,y)
3 servers free
C
A
server C busy
B
)LJXUH%RXQGDULHVZKLFKYDU\LQWLPH
)LJXUH%RXQGDULHVLQWKHWZRVHUYHUPRGHO
Larson introduced the “ IL[HGSUHIHUHQFHV” policy in [10]. In his hypercube model
the region is assumed to be partitioned into atoms, i.e. subsets of the region of any
geometric shape and as small as necessary, ‘so that they could be points’ . For every fixed
atom, the fraction of the workload and the distance from atom to atom are known. Given
an atom, the author assumes a priority list of the preferred units, from which the dispatcher
selects the most preferred idle server: the dispatch selection criterion chosen by Larson is
the expected modified center-of-mass, by which the available unit with minimum mean
7
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
travel time from a call to the PRELOHserver is selected. In this way a district is the union of
the atoms assigned to a particular server, given the system state. Notice that in the
hypercube model servers are not located on fixed positions and that this policy has the
property that the dispatch rules are established without reference to a particular system
state.
The “ VLPSOHVWFULWHULXP” dispatch policy is the same as the one adopted by
technicians of Padua: if the “ middle” server is busy (B in fig.2), its primary response area
will be exactly subdivided between the other two available units; otherwise, if an outskirt
server is busy, its whole area will be entirely attributed to the central unit (B). In the last
case if, for example, C is busy (as in fig.2), then D*will overlap with C*. In this way the
primary response areas are defined definitely and they can only became bigger adding a
part of the primary response area of another server.
It is questionable which dispatch policy a dispatcher has to use in real life. Maybe,
it is easier and more adherent to real life to manage a system in the context of the third
policy because of the kind of boundaries, than a policy in which all the boundaries between
districts vary in time. The “ fixed-preferences” policy in [10] could be also a good chance,
because of the ordered list of the preferred units, but in Larson'
s model the ordered list is
given by the author, while our concern is in determining the best list.
The analysis of the dispatch policies and of the literature suggested us the partition
of districts in four classes, depending on two elements: the boundaries (traced in discrete or
continuous space) and the presence of the atoms or not. It should be noted that, in Larson’ s
paper, [10], atoms are subsets of the region that cannot be divided: in that framework,
atoms are considered as points, they have not ‘boundaries’ and every atom must be
attributed to a server. Nonetheless, in our framework every atom (which can be a census
unit), and consequently, every set of atoms has its own (fixed!) boundary.
-
-
-
&ODVV . No atoms: boundaries are drawn in continuous space in order to
minimize the overall travel time. This way, they depend on the state of the
system and they can be chosen between all the infinite curves that partition the
region in as much many zones as the free servers. The dispatcher has to find,
among these infinite boundaries, the optimal one (see [6] and figure 2). In this
case the policy is the “ vary in time” one.
&ODVV. It’ s similar to Class 1: the goal is the same, but the region consists in (a
finite number of) atoms. In this way, the boundaries between all pairs of
districts are of discrete type (and in a finite number, even if it could be very
large).Each district is the union of a set I of atoms and I varies depending on
the state of the system. Fixing the state of the system, the optimal boundary of
the district is the one induced by the boundaries of its perypherical atoms. The
policy is the “ vary in time” one. See, for example, the figure below in which the
grey atom is served by B in state 0 but by C in state A (even when B is its
primary server).
&ODVV No atoms: the primary response area (state 0) is fixed for each server;
when a primary server is busy, only its primary response area is partitioned
among the other available ambulances (see figure 2); the policy is the “ simplest
criterium” one. As well as in class 1, boundaries are drawn in continuous space.
8
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
State 0
State A
C
)LJXUH2SWLPDOERXQGDULHVLQ&ODVV
-
&ODVV The primary response atoms are fixed for each server, provided the
server is available; when the primary response server is busy, atoms of its
district are assigned to the other available ambulances (see [1], [10], [12] and
fig. 4); in this case the policy is the “ fixed preferences” one. As well as in Class
2, boundaries are of discrete type.
State 0
State A
)LJXUH2SWLPDOERXQGDULHVLQ&ODVV
This way, in the first two classes, boundaries of all the districts vary depending on
any state of the system, while, in the other two classes, only the districts, whose primary
server is busy, are partitioned among the available servers. Moreover, Classes 2 and 4 (but
not the others) use the idea of atoms.
Continuous space
Atoms
Boundaries depend
Class 1
Class 2
on the state of the
“ YDU\LQWLPH” policy
“ YDU\LQWLPH” policy
system
dynamic allocation
dynamic allocation
Fixed Boundaries and
Class 3
Class 4
Districts
“ VLPSOHVWFULWHULXP” policy “ IL[HGSUHIHUHQFHV” policy
case of Padua
EMS of Boston
Larson’ s Hypercube
7DEOH&ODVVHVRIGLVWULFWVDQGGLVSDWFKSROLFLHV
In general, the allocation problem in a Q-unit case of Classes 1 and 2 reduces, when
only one unit is busy for a call, to a Q± units case; when two units are busy, to a Q±
units case and so on. The main disadvantage arising from the use of these classes is that
the dispatcher has continuously to modify all the boundaries, depending on the state of the
system. On the other side, the advantages consist in a reduction of the probabilities of
congestion and an increase of the number of calls served within a standard time to ensure a
9
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
quick response time (note that the United States AMS Act sets some standard, i.e. the
request should be served within 10 minutes in urban areas [2]).
From an operative point of view, boundaries with atoms of Class 4 attribute a clear
responsibility to ambulances and need less effort for practitioners. The emergency service
of Boston (Ma) in [1] is an example.
In Class 3 boundaries are easier to draw because the real problem is to partition the
region into the primary response areas: all the other boundaries can be directly drawn
following the rules of the simplest criterium policy.
In this paper we analyse the three-server case only by two policies: the first and the
third one, and we do not use the idea of atoms. The fixed preferences policy was analysed
by Larson and it does not have the same aim of the three server model described in this
paper.
7KHWKUHHVHUYHUPRGHO
In this paper, the optimal boundaries between users and servers are first
investigated as a M/M/3/0 VHUYHUWRFXVWRPHU V\VWHP in the context of the more general
“ YDU\LQWLPH” dispatch policy, Class 1 (section 3.1). Then, we also give some results for
the ‘simplest criterium’ policy without atoms, Class 3 (section 3.2). In order to get results
homogeneous with the ones obtained in previous works (particularly [3]), we assume
Manhattan metric, a rectangular region, and suppose that servers are located on a line that
is parallel to a side of the region.
As Larson observes, ‘the generalized optimal district design problem’ , in which the
most preferable unit to dispatch is not always the nearest one, when extended to Q > 2
cooperative servers, ‘appeared analytically intractable’ (and we share his opinion, as
aforesaid in the introduction). For these reasons, more assumptions are needed, in order to
get some insight about the behaviour of the optimal bounds, analysing tractable instances:
for this purpose, we assume a kind of symmetry in the home location of servers.
³9DU\LQWLPH´GLVSDWFKSROLF\&ODVV
We will proceed in three steps: in the first one, relations among states’ probabilities
for the system will be written; in the second one, the objective function will be given; in
the last step, the optimisation problem of district design will be analytically solved, under
the aforesaid specific assumptions, i.e. symmetric home locations of the servers (as we
shall see later).
The region to be served is a rectangle Λ of basis length λ(similar to the one in the
previous section), in which the [-axis is the straight line through the three exogenously
fixed home locations of servers.
Let (DEF be respectively the coordinates of the home locations of A,
B and C (we suppose 0 ≤ DEF ≤ λ) and let λ , λ , λ (λ λ λ λ) be the
rates of calls coming respectively from the primary response areas.
The boundaries we are searching for, will partition the region in three primary
response areas [0, λ ], [λ , λ λ ] and [λ λ , λ] (see fig. 5).
For the sake of simplicity, from now on, we shall denote θ*λXY the optimal
boundary between the servers X and Y.
10
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
θ*λ" θ*λ!
(0,0)
A
B
C
(D
(E
(F
district A
district B
(λ,0)
district C
)LJXUH'LVWULFWVLQWKHWKUHHVHUYHUPRGHO
The graph below (fig. 6) describes the transitions among the states of the system
(see also [10] and [12]). States A, B, C in the graph represent the events that exactly one
server (A, B or C, respectively) is busy for a call; states AB, AC, BC represent the events
in which exactly two servers are busy (respectively servers A and B, A and C or B and C);
state ABC represents full congestion. Notice also that the probabilities that exactly N
servers are busy lies on a specified hyperplane +# and that the probability of +# is given by
Erlang’ s loss formula.
(b+c) + (b-c)(b+c- 2
—
A
AB
P(A, AC)
λA
λ
P(B, AB)
λB
B
0
λ
AC
ABC
P(B, BC)
λC
λ
P(C, AC)
BC
C
+$
(a+b) + (a-b)(a+b- 2
—
+% +& +'
)LJXUH7UDQVLWLRQVDPRQJWKHVWDWHVLQD00V\VWHP
upward transitions (unit’ s status from available to unavailable)
downward transitions at µ rate (unit’ s status from busy to available)
P(A, AC), P(C, AC), P(B, AB) and P(B, BC) are given by:
- (b+c) - (b-c)(b+c- )
A
2
2( —)
C
AC
- (a+b) - (a-b)(a+b- )
2
2( —)
BC
11
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
(a+c) + (a-c)(a+c- )
2
2( —)
B
AB
- (a+c) - (a-c)(a+c- )
2
2( —)
B
BC
Because of the characteristics of the “ YDU\LQWLPH” dispatch policy, in the case in
which A (C) is busy, the boundary between B and C (A and B) will be the one given by (5).
Consequently, the steady state probabilities satisfy the following equation system:
30 = 6µ 3 /(6µ 3 + 6λµ 2 + 3λ 2 µ + λ3 );
3( + 3) + 3* = 30 λ / µ ;
3( ( µ + λ ) = 30 λ ( + µ ( 3() + 3("* );
3) ( µ + λ ) = 30 λ ) + µ ( 3() + 3),* );
3* ( µ + λ ) = 30 λ * + µ ( 3("* + 3),* );
 E + F (E − F)(E + F − λ )  )  D + F (D − F)(D + F − λ ) 
 + 3 
;
3() (2 µ + λ ) = 3()+* µ + 3( 
+
+
2 µ + 2λ
2 µ + 2λ
 2

 2


E + F (E − F)(E + F − λ ) E + D (D − E)(D + E − λ ) 
;
3("* (2 µ + λ ) = 3()+* µ + 3(  2λ −
−
−
−
2
2µ + 2λ
2
2 µ + 2λ


 D + E (D − E)(D + E − λ )  )
 + 3
3),* (2 µ + λ ) = 3()+* µ + 3* 
+
2 µ + 2λ
 2

3
3
3()+* = 30 λ /(6 µ ).

D + F (D − F)(D + F − λ ) 
 λ −
;
−
2
2 µ + 2λ


We want now to minimize the total average travel time to answer to any call, which
is the weighted sum of the average response time spent by the three servers, depending on
the partition of the region. Then, introducing two decision variables, θABand βBC, where
0 ≤ θAB ≤ 1 and 0 ≤ βBC ≤ 1, representing the boundaries θAB (between servers A and B)
and βBC(between servers B and C), respectively, in state 0, we must solve the three-server
problem (in which the indexes are omitted for simplicity)
min . (θ , β )
( 4- )
θ ∈ [D / λ , E / λ ]
β ∈ [E / λ , F / λ ]
where
12
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
. (θ , β ) =
3
∫ (D − [)( 3
0
0
3
3
+ 31 + 3/ + 31,/ ) I ( [)G[ + ∫ (E − [)( 3. + 3."/ ) I ( [)G[ + ∫ (F − [)3.1 I ( [)G[ +
0
θλ
0
θλ
θλ
+ ∫ ( [ − D )( 30 + 31 + 3/ + 31,/ ) I ( [)G[ + ∫ (E − [)( 3. + 3."/ ) I ( [)G[ + ∫ (F − [) 3.1 I ( [ )G[ +
3
2
3
2
2
3
+ ∫ ([ − D )( 31 + 31,/ ) I ( [)G[ + ∫ (E − [ )( 30 + 3. + 3/ + 3."/ ) I ( [)G[ + ∫ (F − [)3.1 I ( [)G[ +
θλ
θλ
βλ
βλ
2
2
θλ
βλ
+ ∫ ( [ − D )31,/ I ( [)G[ + ∫ ( [ − E)( 30 + 3. + 3/ + 3."/ ) I ( [ )G[ + ∫ (F − [)( 31 + 3.1 ) I ( [)G[ +
0
2
0
0
+ ∫ ( [ − D )31,/ I ( [)G[ + ∫ (F − [)( 30 + 3. + 31 + 3.1 ) I ( [)G[ + ∫ ([ − E)( 3/ + 3."/ ) I ( [)G[ +
βλ
βλ
λ
λ
λ
βλ
0
0
0
+ ∫ ( [ − D )31,/ I ( [)G[ + ∫ ( [ − F)( 30 + 3. + 31 + 3.1 ) I ( [ )G[ + ∫ ([ − E)( 3/ + 3."/ ) I ( [)G[.
.θ is similar to the function =θof the two-server model. I[ represents the
probability density function. As already observed, .θ , in this general form, appears an
intractable function. For this reason, in order to get some insight about the behaviour of the
optimal bounds, we reduce 44 to a mono-dimensional problem introducing a symmetry
assumption.
Specifically, from now on we shall assume that the home locations of A and C are
symmetrically located the interval [0, λ] and that B is located in the middle point of the
same interval.
Since, in queuing theory, the only parameter needed is ρ (i.e. the utilization ratio of
the queuing system), we can fix λ = 1 (i.e. we assume as 1 the length of the interval) and
restrict ourselves to analyse different values of µ.
This way, we have that F D and that E = ½ and the priority areas of A and C
have the same length (λ5 λ6 ). Then, assuming λ5 λ6 θ, D < θ and F > 1 θ, it is
obvious that 35 36 , 35!7 37"6 .
Under these assumptions, we get the steady state probabilities (6):
38 ( µ + 1) = 30θ + µ ( 38,9 + 38;: );
39 = 30 / µ − 2 38 ;
38,9
(2 µ + 1) =
38,9;:
38;: (2 µ + 1) = 38,9;:
 1 .5 − D ( 0 .5 − D ) 2
µ + 
−
2µ + 2
 2
µ + 38 .
38
By simple substitutions
3< =
30
(12 µ 2θ + 6 µθ + 2 + 3µ ).
K
where
13
 39
 +
;
 2
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH

D + 0.5 (D − 0.5) 2 
K = 6µ *  2µ 2 + 2 µ + 1 + µ (
+
)
2
2( µ + 1) 

This way, the problem 4= becomes now
( 43 (
where
N (θ ) λF
A
= λE
A
>
C)
= λ?
θ ∈ [D, (1 − D)]
)
=
∫ (D − [)( 3
0
0
min N (θ ) λ@
0.5
+ 3C + 3B + 3BC ) I ( [)G[ + ∫ (0.5 − [)( 3B + 3B"D ) I ( [)G[ +
0
θ
1
A
A
0.5
1− A
∫ (1 − D − [)3BC
I ( [)G[ +
0
0.5
+ ∫ ( [ − D )( 30 + 3B ) I ( [)G[ + ∫ ( [ − D ) 3BC I ( [)G[ + ∫ ([ − D ) 3C I ( [)G[ + ∫ (0.5 − [)( 30 + 3B ) I ( [)G[ +
+
1−θ
∫ ( [ − 0.5)( 3
0
+ 3B ) I ( [ )G[ +
0.5
A
1− A
∫ (1 − D − [) 3C
0.5
1
+ ∫ ([ − 0.5)( 3B + 3B"D ) I ( [)G[ +
0.5
θ
I ( [)G[ + + ∫ (1 − D − [)( 30 + 3B ) I ( [)G[ +
1−θ
1
∫ ( [ − 1 + D)( 3
1− A
1− A
0
+ 3B + 3C + 3BC ) I ( [)G[.
Nθ GIH J depends only on θ. Computing the integrals and substituting probabilities,
we have to minimize
N (θ ) λ ( L
+θ
)=λ ( K )
=θ 3
30
3
( 24µ 2 + 12µ ) + θ 2 0 ( −12µ 2 − 24µ 2 D − 12µD + 4) + 2 30θ 2 +
K
K
30
(D − 0.5) 2
[−2 − 4.5µ − 4D − 9 µD 2 + 9µD − 24µ 2 D 2 + 24 µ 2 D − 6 µD 3 + 6µ * ( D 2 − D )
]+
K
( µ + 1)
3 M θDFRVW
where FRVW is a constant which does not depend on θ.
The value of θ for which we have the minimum of this function can be trivially
calculated by N¶θ NPO Q (this is a sufficient condition because of N¶¶θ NIO Q !). Reintroducing the expression for K and multiplying it for K3 M , we must solve:

(D − 0.5) 2 
3θ 2 ( 24µ 2 + 12µ ) + 2θ 4 + 15µ 2 − 18µ 2 D − 12µD + 24µ 3 + 12µ + 6µ 2
+
( µ + 1) 

− 2 − 10.5µ − 4D − 9µD 2 − 3µD − 30 µ 2D 2 − 6µD 3 +
− 12 µ 3 − 13.5µ 2 − 6 µ 2 D − 24Dµ 3 = 0
(D − 0.5) 2
(−6µD 2 + 6µD − 3µ 2 − 6Dµ 2 ) +
( µ + 1)
In order to solve (7), we simplify the notation, letting
14
(7)
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
' = 3( 24µ 2 + 12µ )
( = 8 + 30µ 2 − 36µ 2 D − 24µD + 48µ 3 + 24 µ + 12µ 2
( D − 0.5) 2
( µ + 1)
) = −2 − 10.5µ − 4D − 9 µD 2 − 3µD − 30µ 2 D 2 − 6 µD 3 +
− 12µ 3 − 13.5µ 2 − 6 µ 2 D − 24Dµ 3.
(D − 0.5) 2
(−6 µD 2 + 6 µD − 3µ 2 − 6Dµ 2 ) +
( µ + 1)
The solutions of (7), now, are trivially given by
θ *1, 2 =
− ( ± ( 2 − 4 ')
2'
Since ' > 0, ( > 0 and ) < 0, we have exactly one positive root for θ. This way, the new
parametric function
− ( + ( 2 − 4 ')
I (µ ) =
(8)
2'
(in which D is a parameter) represents all the minimum points of the mean travel time
depending on The properties of this function will be discussed in section 4.
³6LPSOHVWFULWHULXP´GLVSDWFKSROLF\&ODVV
As aforesaid in the previous section, the “ simplest criterium” policy provides for
fixed boundaries of districts. Assuming the same symmetry of the home locations of
servers as in the previous paragraph, the objective function .θ RIS T becomes quite
different with respect to the previous case.
First, some of the transition rates of fig. 6 change as follows (remember λ = 1):
• from A to AB and from C to BC = 1- θ;
• from A or from C to AC = θ;
• from B to AB or to BC = ½.
Second, the steady state probabilities are once more the ones given in (6), but the
probability for A to be busy becomes:
θ
6 µ 2θ 2 + 3 µ 2 + 5 µ + 2
3U = 30 (
+
).
µ + 1 6µ ( µ + 1)(2 µ 2 + 2 µ + 1)
Substituting probabilities in the objective function of 4VXW A Y C) (recall that E=1/2
and F = 1- D), we have to minimize the following function with respect to θ:
. \ (θ ) λ ( [
) =λ ( Z )
=
 θ

6 µ 2θ 2 + 3µ 2 + 5µ + 2   2
θ
= 30 
+
(2D 2 − 2D + 1) − 2D 2 + 2D  +
 2θ − 2θD − 0.5θ −
2
2µ + 1

 µ + 1 6 µ ( µ + 1)(2µ + 2µ + 1)  
+ 30 ( 2θ 2 − 2θD − θ ) + FRVW
This is a polynomial function of fourth degree in θ having the property that there is only
one point of minimum when θ •VHHWKHDQDO\WLFDOSURRILQ$SSHQGL[
Notice that the value of the optimal boundary θAB ( BC) is the same in states 0
and C (or A). 15
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
Also for this policy we will give in section 5 a detailed analysis of the optimal
boundaries θAB depending on the utilization ratio and the home location of server A.
7KHRSWLPDOERXQGDULHVLQWKH³YDU\LQWLPH´SROLF\YDU\LQJ DQGD
In the “ vary in time” policy, obviously, the position of the optimal boundary θAB
depends on the state of the system, on the service rate and on the home locations of
servers.
The optimal boundary θAB, in state 0 is given by (8), i.e.
I (µ ) =
− ( + ( 2 − 4 ')
2'
and in state C it is given by (5), i.e.
D + 0.5 (D − 0.5) 2
.
+
2
2( µ + 1)
D + 0.5
The function Iµ is such that lim I ( µ ) = lim I ( µ ) =
where [ = (D)/2 is the
µ →0
µ → +∞
2
equidistance curve between servers A and B: this result is analytically achieved in
Appendix 2. This means that both when service times are very high as well as when
servers are always available, the server to dispatch is the nearest one to the accident. Of
course, in order to assign each call to the nearest server the boundaries are the equidistance
curves between all pairs of ambulances.
Note also that in the limit case D = 0.5 all boundaries coincide, but this case
becomes a nonsense because all servers are located in the (same) middle point of the
interval.
In order to find where the optimal boundary lies varying Dwe compare Iµ with
the equidistance line. We get in state 0 (see Appendix 2 for the analytical proof)
[* =
3URSRVLWLRQ
 D + 0.5
> 2 LI 0 ≤ D ≤ 0.1
I ( µ )
< D + 0.5 LIξ ≤ D < 0.5

2
DQGWKHUHH[LVWVRQO\RQHYDOXHRIµIRUZKLFK
I (µ ) =
D + 0.5
LI 0.1 < D < ξ
2
ZKHUHξDSSUR[LPDWHGZLWKWKHYDOXHLVVROXWLRQRI (3 − 12D + 2D 2 − 4D 3 ) = 0. Fixing D, as well as — increases, one sees that the location of the optimal boundary
behaves in a non monotone way (and this fact can appear not at all obvious!). We can
distinguish three different types of behaviour of the optimal boundary, as it is plotted in the
following figures.
For 0 ” D ” WKH RSWLPDO ERXQGDU\ θAB is always located on the right of the
equidistance line (in figure 7 the example in which D = 0.08 is given). This way, the
optimal boundary between A and B (B and C, respectively) lies closer to server B than A
(or C) in order to reduce the total average response time and to improve the balance of the
workload.
16
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
For ξ ”D < 0.5, the optimal boundary θAB is always on the left of the equidistance
line (in figure 8 the case D = 0.26 is given).
For 0.1 < D < ξ, the optimal boundary θAB is located on the right of the
equidistance line for some values — that are close to 0, and on the left when — has high
values. Using again the Descartes rule of signs we deduce that there is a unique value of —,
decreasing as D increases, for which the values of the optimal boundary and of the
equidistance curve overlap (see in figure 9 the case in which D = 0.16). Under this
assumption, it is not possible to give an ‘a priori’ general rule on the location of the
optimal boundary.
The optimal location of the boundary θAB in state C (5) is always located on the
right of the equidistance line since (D - 0.5)2 / (2µ + 2) > 0. D being fixed, note that the
boundary θAB decreases monotonically with µ: in other words, it shifts towards left and
goes towards the equidistance curve. In this way, when the service time is slower, then the
distance between the boundary and the equidistance curve is greater.
Comparing the optimal boundary in the two states of the system 0 and C in the
“ vary-in-time” policy, we get
3URSRVLWLRQ
θ*
]_^
( 0) =
]_^
− ( + ( 2 − 4 ') D + 0.5 ( D − 0.5) 2
<
+
= θ * (& )
2'
2
µ +1
(9)
i.e the optimal boundary θAB always shifts towards right when the state of the system goes
from 0 to C. This is obvious if ξ ”D < 0.5 (see fig. 8) since
− ( + ( 2 − 4 ') D + 0.5 D + 0.5 (D − 0.5) 2
<
<
+
,
µ +1
2'
2
2
but it is true also if 0 ” D < ξ, i.e. when the optimal boundary is on the right of the
equidistance line in both states (see the complete proof in Appendix 3). The shift is greater
as the value of D is smaller and as the service time is slower. In particular, the maximum
shift of the boundary θAB is when D = 0 and µ = 0, while the boundary θABis the same in
the two states when D = 0.5, because the home location is the same for the three servers
(see fig.7 and 9).
17
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
hji kci `;p
θ*AB
hqi kci `sr
`acbed fgd hji kelem`on d lc`
)LJθABYDU\LQJ—LQYDU\LQWLPHSROLF\
hji kei `;p
θ*AB
`acbed fgd hji kelem`on d lc`
hqi kei `sr
)LJθABYDU\LQJ—LQYDU\LQWLPHSROLF\
18
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
θ*AB
‚jƒ „eƒ |;ˆ
‚jƒ „cƒ |s‰
|~}ce€ g€ ‚qƒ „e…e†|;‡ € …c|
)LJθABYDU\LQJ—LQYDU\LQWLPHSROLF\
Let’ s see, for example, what happens if technicians of the service 118 of Padua
would decide to change policy and to assume the “ vary-in-time” one. We observe that the
mean service time corresponds to µ only a bit upper 1 and that the home location of A is
approximately D = 0.16 (fig.9). The location of the optimal boundary θAB in state 0 is very
close to (only a bit on the left of) the equidistance curve, but in state C it has to be shifted
towards right of about 0.02 (and, in any case, on the right of the equidistance curve!).
7KHRSWLPDOERXQGDULHVLQWKH³VLPSOHVWFULWHULXP´SROLF\YDU\LQJ DQGD
From a practical point of view, the values of the optimal boundaries θAB varying the home
locations D and the service rate in the “ simplest criterium” policy can be only numerically
computed (remember that the boundary θABin state 0 is the same as in state C). As in the
D + 0.5
previous policy, lim θ *tu =
: this result can be proved by the observations that,
µ → +∞
2
when µÆ +’ WKHQ 3 v . Introducing it into . y (θ ) λ ( x ) = λ ( w ) we have to find
min( 30 ( 2θ 2 − 2θD − θ )) and the result follows. On the other side, lim θ *z{ = 0.5D 2 +
µ →0
3
8
(see appendix 4 for the analytical proofs).
The location of the optimal boundary θAB is on the right of the equidistance curve
when values of µ are close to 0 and on the left when values of µ are greater. Like in the
previous policy, numerical results suggest that there is a unique value of µ for which the
optimal boundary θAB and the equidistance curve overlap (see an example in figure 10).
19
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
|~}ce€ g€ ‚qƒ „e…e†|;‡ € …c|
θ*AB
)LJθABYDU\LQJ—LQVLPSOHVWFULWHULXPSROLF\
In the case of the service 118 of Padua, assuming this policy, which is the one
effectively assumed by technicians, we observe from figure 10 that the optimal boundary
θAB in state 0 is far from the equidistance curve and that, in state C, it does not change.
Technicians of Padua drew the optimal boundary θAB on the left of the equidistance curve
and quite far from it, exactly what our results suggest. In this way, one can deduce that the
equidistance curve could not be a good choice for this practical case.
Let’ s compare the values of the optimal boundary θAB in state 0 in the two
policies. Notice that, fixing — and D, the maximal gap between the values of the optimal
boundary θAB of the two polices is when — is close to 0: on the other side, when — > 1, the
optimal values of the boundary θAB do not depend on the policy. In particular the value of
the gap lies between 0 and 0.5*(D-0.5)2: i.e. the maximum gap is 0.125.
Comparing the two policies, we can distinguish three cases.
Figure 11 represents the location of the optimal boundary θAB when 0 ”D ”
the boundary θAB is always on the right of the equidistance curve only for the YDU\LQWLPH
policy.
20
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
θ*AB
Š‹„Œ Ž€ …Iƒ € ‘|’+“e‡ € † Ž
|}ce€ g€ ‚jƒ „e…e†|o‡ € …c|
‚~€ ,’+‡ |j‚jƒc†jŒ~€ ƒ |jŒ~€ ”•’!“‡ € † Ž
)LJθAB LQVWDWHZKHQD FRPSDULVRQEHWZHHQWKHWZRSROLFLHV
Figure 12 represents the typical behaviour of the location of the optimal boundary
θAB when ξ ”D < 0.5: for both the policies all data here obtained suggest that the location
of the optimal boundary θAB is on the left of the equidistance curve (except for some
values of µvery close to 0).
|~}ce€ g€ ‚qƒ „e…e†|;‡ € …c|
Š‹„Œ Ž€ …Iƒ € ‘|’+“e‡ € † Ž
θ*AB
‚j€ ,’+‡ |j‚~ƒc†jŒj€ ƒ |jŒ€ ”•’!“‡ € † Ž
)LJθAB LQVWDWHYDU\LQJ—ZKHQD FRPSDULVRQEHWZHHQWKHWZRSROLFLHV
Last case, when 0.1 < D < ξ (fig.13), notice for either policies the non monotone
behaviour and the fact that the location of θAB can be both on the right or on the left of the
equidistance curve.
21
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
θ*AB
|}ce€ g€ ‚jƒ „e…e†|o‡ € …c|
Š„Œ Ž–€ …Iƒ € ‘|_’+“e‡ € † Ž
‚j€ ,’+‡ |j‚jƒc†jŒ~€ ƒ |jŒ€ ”•’+“e‡ € † Ž
)LJθAB LQVWDWHYDU\LQJ—ZKHQD FRPSDULVRQEHWZHHQWKHWZRSROLFLHV
The main result is that, knowing the home location of servers, the service rate and
the policy assumed, there is not a simple rule by which one can deduce where the optimal
boundary θAB has to be located in order to minimize the average distance.
&RQFOXVLRQV
The results obtained in this paper allow some conclusions with regard to the
solutions of the EMS allocation problem with three cooperative servers.
Three dispatch policies to determine the best available unit to dispatch are
described: the “ vary-in-time” one, the “ fixed preferences” of Larson and the “ simplestcriterium” one.
Next a classification of districts in four different classes is proposed, depending on
the particular policy which one chooses, on the presence of atoms (or not) and on the
assumption of continuous or discrete boundaries.
These two classifications (of dispatch policies and of districts) are significant in the
allocation problem of the EMS, because they define the optimal boundaries (and then
districts) in different ways, which directly impact over the probabilities of the states of the
system.
The properties of the optimal boundaries (and of districts) are then investigated in
the three-server model in the case of the “ vary-in-time” policy and of the “ simplestcriterium” policy. Obviously, the position of the boundaries depends on the dispatch policy
we assume, on the state of the system, on the service rate and on the home locations of
servers. Comparing the two analyzed policies, we can observe what follows.
The “ simplest criterium” policy is the more friendly for practitioners since it
defines districts and responsibility of workers in a very simple way. Two are the main
disadvantages: (1) the optimal boundaries can be calculated only numerically, and (2) it is
not possible to give a general rule about the optimal location of the boundaries.
On the other side, the “ vary in time” policy is more difficult to use in real life
because workers have always to know which is the state of the system and which are the
(temporarily) boundaries of their district. But there are two advantages: we have precise
22
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
formulas to compute where the optimal boundaries lie and it is possible to give some
general rules depending on the home location of servers
We suggest that the “ vary in time” policy can be easily used if the number of
servers is small, as in the case of Padua.
Finally, and a bit intriguing, these data show that, as well as — increases, the
optimal boundary behaves in a non monotone way. Because of these results, a practitioner
must always compute, for every specific case, how much and in which direction the
boundaries of districts has to be drawn.
5HIHUHQFHV
[1] Brandeau LM, Larson RC (1986) Extending and applying the hypercube
queueing model to deploy ambulances in Boston. 7,06 6WXGLHV LQ WKH 0DQDJHPHQW
6FLHQFHV 22:121-153.
[2] Brotcorne L, Laporte G, Semet F (2003) Ambulance location and relocation
models. (XURSHDQ-RXUQDORI2SHUDWLRQDO5HVHDUFK 147:451-463.
[3] Carter GM, Chaiken JM, Ignall E (1972) Response areas for two emergency
units. 2SHUDWLRQV5HVHDUFK 20:571-594.
[4] Chaiken JM, Larson RC (1972) Methods for allocating urban emergency units:
a survey. 0DQDJHPHQWVFLHQFH 19(4):110-130.
[5] Church R, ReVelle C (1974) The maximal covering location problem.3DSHUVRI
WKH5HJLRQDO6FLHQFH$VVRFLDWLRQ 32:101-118.
[6] Cuninghame-Green RA, Harries G (1988) Nearest-Neighbour rules for
emergency services. =HLWVFKULIWIU2SHUDWLRQV5HVHDUFK 32:299-306.
[7] Daskin MS, Stern EH (1981) A hierarchical objective set covering model for
emergency medical service vehicle deployment. 7UDQVSRUWDWLRQ6FLHQFH15(2):137-152.
[8] Filippi C, Romanin-Jacur G (1996) Optimal allocation of two fixed service
units acting as M/G/1 queues.7UDQVSRUWDWLRQ6FLHQFH30(1):60-74.
[9] Gross D, Harris CM (1987) )XQGDPHQWDOV LQ TXHXHLQJ WKHRU\ New York,
John Wiley and sons.
[10] Larson RC (1974) A hypercube queueing model for facility location and
redistricting in urban emergency services. &RPSXWHUVDQGRSHUDWLRQVUHVHDUFK1:67-95.
[11] Larson RC (1975) Approximating the performance of urban emergency
service systems. OSHUDWLRQVUHVHDUFK23(5):845-868.
[12] Larson RC, Odoni AR (1981) 8UEDQ RSHUDWLRQV UHVHDUFK. Prentice-Hall,
Englewood Cliffs NJ.
[13] Larson RC, Stevenson KA (1972) On insensitivities in urban redistricting and
facility location. 2SHUDWLRQV5HVHDUFK 20:595-612.
23
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
[14] Marianov V, ReVelle C (1996) The queueing maximal availability location
problem: a model for the siting of emergency vehicles. (XURSHDQ-RXUQDORI2SHUDWLRQDO
5HVHDUFK 93:110-120.
[15] ReVelle C, Hogan K (1989) The maximum availability location problem.
7UDQVSRUWDWLRQ6FLHQFH23(3):192-200.
[16] Toregas C, Swain R, ReVelle C, Bergmann L (1971) The location of
emergency service facilities. 2SHUDWLRQV5HVHDUFK 19:1363-1373.
24
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
$33(1',;
3URSHUW\RI.—g˜
7KHUHLVRQO\RQHSRLQWRIPLQLPXPIRU . › (θ ) λ ( š )=λ ( ™ ) ZKHQθ •
3URRI
A necessary condition because . ž (θ ) λ (  ) =λ ( œ ) has one point of minimum is:
. ’¡ (θ ) λ ( ) = λ ( Ÿ ) = 0 ,
i.e.
 1
 2

2µθ
θ
+
(2D 2 − 2D + 1) − 2D 2 + 2D  +

 2θ − 2θD − 0.5θ −
2
2µ + 1

 µ + 1 ( µ + 1)(2 µ + 2 µ + 1)  
 θ

6 µ 2 θ 2 + 3µ 2 + 5 µ + 2  
1
+
+
(2D 2 − 2D + 1) − 2D 2 + 2D  + 4θ − 2D − 1 = 0
 4θ − 2D − 0.5 −
2
2µ + 1

 µ + 1 6 µ ( µ + 1)(2 µ + 2µ + 1)  
Since µ > 0, it is sufficient to prove that
θ 3 (96 µ 2 + 192 µ 3 ) + θ 2 [288µ 4 + µ 3 (396 − 144D ) + µ 2 (234 − 72D 2 ) + 72µ ] +
+ θ [192 µ 5 + µ 4 (432 − 192D ) + µ 3 (408 − 96D − 192D 2 ) + µ 2 (248 − 48D − 144D 2 ) + µ (84 − 48D 2 ) + 16] +
− 6 − 31µ − 79 µ 2 − 8D 2 − 44D 2 µ − 16Dµ − 144 µ 3 D 2 − 108µ 2 D 2 − 120 µ 3 D − 64 µ 2 D − 96 µ 4 D 2 − 144 µ 4 D +
− 96Dµ 5 − 126 µ 3 − 120 µ 4 − 48µ 5 = 0
Applying to the polynomial on the left the Descartes rule of signs, since
96 µ 2 + 192 µ 3 > 0;
[288µ 4 + µ 3 (396 − 144D) + µ 2 (234 − 72D 2 ) + 72 µ ] > 0;
[192 µ 5 + µ 4 (432 − 192D ) + µ 3 (408 − 96D − 192D 2 ) + µ 2 (248 − 48D − 144D 2 ) + µ (84 − 48D 2 ) + 16] > 0;
[−6 − 31µ − 79 µ 2 − 8D 2 − 44D 2 µ − 16Dµ − 144 µ 3 D 2 − 108µ 2 D 2 − 120 µ 3 D − 64 µ 2 D − 96 µ 4 D 2 − 144µ 4 D +
− 96Dµ 5 − 126 µ 3 − 120 µ 4 − 48µ 5 ] < 0
we deduce that there is a unique positive root.
Since . " ¤ (θ ) λ ( £ ) = λ ( ¢ ) > 0 when θ •EHFDXVH
. " § (θ ) λ ( ¦
)=λ ( ¥ )
= [72 µ 2θ 2 + µθ [144 µ 3 + µ 2 (198 − 72D) + µ (117 − 36D 2 ) + 36] /( 2 µ + 1) +
+ [48µ 5 + 12 µ 4 (9 − 4D) + 6 µ 3 (17 − 4D − 8D 2 ) + 2 µ 2 (31 − 6D − 18D 2 ) + 3µ (7 − 4D 2 ) + 4] /( 2 µ + 1)] / 3
and
(198 − 72D ) > 0
(117 − 36D 2 ) > 0
(9 − 4 D ) > 0
(17 − 4D − 8D 2 ) > 0
(31 − 6D − 18D 2 ) > 0
( 7 − 4D 2 ) > 0
then . ª (θ ) λ ( ©
)=λ ( ¨ ) ,
when θ •, is a convex function and we can conclude that there is only one
point of minimum.
25
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
$33(1',;
We want to analyse the properties of the following function (8) (on page 16):
I (µ ) =
− ( + ( 2 − 4 ')
2'
.
The lim I ( µ ) (page 16) follows from de L’ Hôpital rule:
µ →0
lim I ( µ ) = lim
µ →0
− 24µ ( D − 0.5) 2 ( µ + 1) + 12µ 2 ( D − 0.5) 2
( µ + 1) 2
=
12 * 24µ + 6 * 12
− 60 µ + 72µD + 36D − 48 * 3µ 2 + 18 +
µ →0
= lim
µ →0
36D + 18 D + 0.5
=
.
6 * 12
2
The lim I ( µ ) can be computed as follows:
µ → +∞
− ( + ( 2 − 4 ')
− 2)
= lim
=
µ → +∞
µ → +∞
µ → +∞
2'
( + ( 2 − 4 ')
4 + 21µ + 8D + 18µD 2 + 6 µD + 60µ 2D 2 + 12µD 3 + 24 µ 3 + 27 µ 2 + 12µ 2D + 48Dµ 3
lim
+
2
µ → +∞
2
2
3
2 ( D − 0.5)
2
8 + 30µ − 36 µ D − 24 µD + 48µ + 24µ + 12µ
+ ( − 4 ')
( µ + 1)
lim I ( µ ) = lim
( D − 0.5) 2 (12 µD 2 − 12 µD + 6µ 2 + 12Dµ 2 )
( µ + 1)
+
=
2
2
2
3
2 ( D − 0.5)
2
8 + 30µ − 36 µ D − 24µD + 48µ + 24µ + 12µ
+ ( − 4 ')
( µ + 1)
24µ 3 + 48Dµ 3 D + 0.5
=
.
µ → +∞
48 * 2µ 3
2
= lim
Comparing Iµ with the equidistance line (page 16), we get:
3URSRVLWLRQ
 D + 0.5
> 2 LI 0 ≤ D ≤ 0.1
I ( µ )
< D + 0.5 LIξ ≤ D < 0.5

2
DQGWKHUHH[LVWVRQO\RQHYDOXHRIµIRUZKLFK
I (µ ) =
D + 0.5
LI 0.1 < D < ξ
2
«
26
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
3URRI
− ( + ( 2 − 4 ') D + 0.5
>
2'
2
( 2 − 4 ') > ' * ( D + 0.5) + (
( 2 − 4 ') > ( ' * ( D + 0.5)) 2 + 2 '( * (D + 0.5) + ( 2
− 4 ) − ' * (D + 0.5) 2 − 2 ( * (D + 0.5) > 0
By substitution we obtain:
108µ 3 (1 − 2D )(1 − 10D ) + 108µ 2 (1 − 2D )(3 − 20D − 2D 2 ) + 27 µ (1 − 2D )(11 − 54D − 8D 3 ) +
+ 27(1 − 2D )(3 − 12D + 2D 2 − 4D 3 ) > 0
Since —! the sign of the last inequality depends only on the parameter D; remember also that
0 ” D” 0.5. We have:
(1 − 2D )(1 − 10D ) > 0 ⇔ D < 0.1;
(1 − 2D )(3 − 20D − 2D 2 ) > 0 ⇔ D < 0.147815;
(1 − 2D )(11 − 54D − 8D 3 ) > 0 ⇔ D < 0.202474;
(1 − 2D )(3 − 12D + 2D 2 − 4D 3 ) > 0 ⇔ D < ξ .
This way, we can deduce that:
for ”D” all the coefficients are positive and Iµ!D;
for ξ”D all the coefficients are negative and IµD.
For D ξ in order to apply the Descartes rule of signs, we note that the signs of the
coefficients of the equation
108µ 3 (1 − 2D )(1 − 10D ) + 108µ 2 (1 − 2D )(3 − 20D − 2D 2 ) + 27 µ (1 − 2D )(11 − 54D − 8D 3 ) +
+ 27(1 − 2D )(3 − 12D + 2D 2 − 4D 3 ) = 0
“ - + + +”
if 0.1 < D ”
“ - - + +”
if 0.147815 ”D ”
“ - - - +”
if 0.202474 ”D< ξ.
Since we have always one variation, we deduce that there is a unique real positive root.
are as follows:
27
7KHRSWLPDODOORFDWLRQRIXVHUVWRVHUYHUVLQDQHPHUJHQF\VHUYLFH
$33(1',;
3URSRVLWLRQ
θ*
¬_­
(0) =
¬_­
− ( + ( 2 − 4 ') D + 0.5 (D − 0.5) 2
<
+
= θ * (& ) (9)
2'
2
µ +1
3URRI
When ξ”D < 0.5, (9) follows from Proposition 1:
− ( + ( 2 − 4 ') D + 0.5 D + 0.5 (D − 0.5) 2
<
<
+
.
2'
2
2
µ +1
This way, it is sufficient to prove (9) when 0 ”D < ξ.
We have from (9)
'(D − 0.5) 2
( 2 − 4 ') < ' * (D + 0.5) + ( +
µ +1
Calculating squares, we obtain
( ( 2 − 4 ') )( µ + 1) 2 < [ ' * (D + 0.5) * ( µ + 1) + ( ( µ + 1) + ' * (D − 0.5) 2 ] 2
− 4 ) ( µ + 1) 2 <
' * (D + 0.5) 2 ( µ + 1) 2 + '(D − 0.5) 2 [(D − 0.5) 2 + 2(D + 0.5)( µ + 1)] + 2 ( ( µ + 1)[(D − 0.5) 2 + (D + 0.5)( µ + 1)]
− 4 ) ( µ + 1) 2 < '(D 2 µ 2 + Dµ 2 + 0.25µ 2 + 2D 3 µ + D 2 µ + 1.5Dµ + 0.75µ + 0.75 2 + D 4 + 1.5D 2 ) +
+ ( (2 µ 2 D + µ 2 + 2 µD 2 + 2 µD + 2.5µ + 2D 2 + 1.5)
WKHQ
µ 4 (24D 2 + 24D − 18) + µ 3 (−48D 3 + 132D 2 − 30D − 36) + µ 2 (−72D 4 + 96D 3 − 12D 2 + 60D − 34.5) +
+ µ (−36D 4 + 120D 3 − 82D 2 + 64D − 18.25) − 16D 2 + 16D − 4 +
+
(D − 0.5) 2
[24 µ 2 D 2 − 24 µ 2 D − 6 µ 2 + 24 µD 2 − 24 µD − 6 µ 3 ] < 0
µ +1
Remember that µ > 0 and that 0 ”D < ξ, we get:
24D 2 + 24D − 18 < 0 ⇔ −1.5 < D < +0.5;
− 48D 3 + 132D 2 − 30D − 36 < 0 ⇔ −0.398788 < D < 0.801078;
(D − 0.5)(−72D 3 + 60D 2 + 18D + 69) < 0 ⇔ D < 0.5;
− 36D 4 + 120D 3 − 82D 2 + 64D − 18.25 < 0 ⇔ D < 0.378618;
− 4(2D − 1) 2 < 0;
24 µ 2 D 2 − 24 µ 2 D − 6 µ 2 < 0 ⇔ (0.5 − 2 2 ) < D < 1;
24 µD (D − 1) < 0 ⇔ D < 1;
− 6 µ 3 < 0.
Since every inequality is true for all µ > 0 and 0 ”D < ξ, then (9) is true.
28
7DWLDQD%DVVHWWR)UDQFHVFR0DVRQ
$33(1',;
3URSHUW\5HFDOOZKDWHYHUWKHSROLF\
lim θ *®¯ =
µ → +∞
D + 0.5
.
2
3URRI
Since lim 30 = 1 , it follows that
N (θ ) λ²
µ → +∞
°
= λ±
=
θ
0.5
1−θ
°
θ
0.5
∫ (D − [)( 30 ) I ( [)G[ + ∫ ( [ − D)( 30 ) I ( [)G[ + ∫ (0.5 − [)( 30 ) I ( [)G[ +
0
+
1− °
∫ (1 − D − [)( 30 ) I ( [)G[ +
1−θ
∫ ( [ − 0.5)( 3 ) I ( [)G[ +
0
1
∫ ( [ − 1 + D)( 3 ) I ( [)G[ =
0
1− °
= 2θ 2 − 2θD − θ + 2D 2 − 0.5D + 1.25.
Since:
N ’(θ ) λ´
N ’’(θ ) λ´
= λ³
= 4θ − 2D − 1 = 0 ⇔ θ =
=4>0
= λ³
D + 0.5
2
then the point of minimum is θ *µ¶ =
D + 0.5
.
2
3URSHUW\
3
lim θ *·_¸ = 0.5D 2 + .
µ →0
8
3URRI
Since there is only one point of minimum for . » (θ ) λ ( º
the point of minimum satisfies . ’¾ (θ ) λ ( ½
) =λ ( ¼ )
) =λ ( ¹ )
when θ •VHH$SSHQGL[
= 0, i.e.
 6µ
 2

12 µ 2θ
θ
+
(2D 2 − 2D + 1) − 2D 2 + 2D  +

 2θ − 2θD − 0.5θ −
2
2µ + 1

 µ + 1 ( µ + 1)(2 µ + 2 µ + 1)  
2 2
2
 6θµ 6 µ θ + 3µ + 5µ + 2  

1
+
+
(2D 2 − 2D + 1) − 2D 2 + 2D  + 4θ − 2D − 1 = 0
 4θ − 2D − 0.5 −
2
2µ + 1

 µ + 1 ( µ + 1)(2 µ + 2 µ + 1)  
By substitution
[2]4θ − 2D − 0.5 − (2D 2 − 2D + 1) − 2D 2 + 2D = 0 ⇔
[
⇔ 8θ − 8D − 3 = 0 ⇔ θ = 0.5D + 3 / 8.
2
]
2
29