certain static and dynamic priority policies in queueing systems · 2012-11-01 · abstract certain...
TRANSCRIPT
Certain Static and Dynamic Priority Policies in QueueingSystems
by
Vahid Sarhangian
A thesis submitted in conformity with the requirementsfor the degree of Master of Applied Science
Graduate Department of Mechanical and Industrial EngineeringUniversity of Toronto
Copyright c© 2011 by Vahid Sarhangian
Abstract
Certain Static and Dynamic Priority Policies in Queueing Systems
Vahid Sarhangian
Master of Applied Science
Graduate Department of Mechanical and Industrial Engineering
University of Toronto
2011
In this thesis, we first study delay systems with different classes of impatient customers.
We analyze the M/GI/1 + M queue serving two priority classes under the static non-
preemptive priority discipline. We also study the multi-server priority queue considering
two cases depending on the time-to-abandon distribution being exponentially distributed
or deterministic. In all models, we obtain the Laplace transforms of the virtual waiting
time for each class by exploiting the level-crossing method. This enables us to obtain the
steady-state system performance measures. In the second part, we consider the steady-
state waiting time distributions of a two class M/GI/1 queue operating under a dynamic
priority discipline. We find an accurate approximation for the steady-state waiting time
distribution of the low-priority customers which allows us to study how they are penalized
as the priority parameter increases. We also obtain bounds for the variance of the waiting
time of high-priority customers.
ii
Dedication
To my parents
Acknowledgements
I am sincerely grateful to my supervisor Prof. Barıs Balcıoglu for his support, encour-
agement and confidence in me throughout the research. I would also like to thank the
committee members Prof. Timothy Chan and Prof. Daniel Frances for their comments
and suggestions. Finally, I am grateful to my colleagues and friends Hossein Abouee-
Mehrizi, Michael Jong Kim, Jonathan Lesage, and Pedram Sahba, for the invaluable
discussions I had with them.
iii
Contents
1 Introduction 1
2 Multi-Class Queues with Impatient Customers 8
2.1 The Single Server Priority Queue with Impatient Customers . . . . . . . 9
2.2 The Multi-Server Priority Queue with Impatient Customers . . . . . . . 17
2.2.1 The Two-Priority Class M/M/c+M Queue . . . . . . . . . . . . 17
2.2.2 The Two-Priority Class M/M/c+D Queue . . . . . . . . . . . . 21
2.3 FCFS Queues with Impatient Customers . . . . . . . . . . . . . . . . . . 26
3 Queues with Dynamic Priority Discipline 28
3.1 Approximate Waiting Time Distributions . . . . . . . . . . . . . . . . . . 29
3.1.1 Low-Priority Customers . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.2 High-Priority Customers . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Numerical Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 Conclusion 41
Bibliography 43
iv
List of Tables
3.1 Comparing simulated and approximated tail probabilities for low-priority
customers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Expected value and variance of waiting time for different values of u . . . 37
v
List of Figures
3.1 Waiting time distribution of low-priority customers for different values of u 39
3.2 Waiting time distribution of high-priority customers for different values of u 40
vi
Chapter 1
Introduction
Motivated by customer contact centers, health-care systems, and telecommunication net-
works, in this thesis, we study multiclass queueing systems with certain static and dy-
namic priority policies.
In the first part of thesis, we analyze multi-class queueing systems with impatient
customers. We focus on the non-preemptive priority policy while serving two classes of
customers, and also provide some results for the first-come-first-served (FCFS) policy in
multi-class systems. Under both policies, once the service for a customer starts, it cannot
be preempted in favor of another customer. This appears to be a valid assumption for
modeling customer contact centers, where service refers to customers and agents talking
on the phone, or health-care systems, where service could be a surgical operation, or
telecommunication networks, where service is receiving data or voice packets. In customer
contact centers, the Automatic Call Distributor (ACD) can classify callers based on the
type of service requested or information provided by the caller revealing if s/he can be
considered a premier class customer. If callers, grouped in different classes by the ACD,
wait on the line for too long before an agent handles their call, they can hang up and
be lost to the system. In health-care systems, the type of health service requested or
the severity of the condition of the patient can be used for classification and scheduling
1
Chapter 1. Introduction 2
resources, yet, patients might either die or choose to go to another health-care facility
if they cannot start with medical treatment in a reasonable time. In telecommunication
networks, there can be hard deadlines to receive data beyond which the data becomes
useless.
In the queueing literature, there is an extensive body of research on single or multi-
server systems serving a single class of impatient customers, e.g., [3, 4, 22, 35, 41, 43, 45].
In FCFS multi-class systems with c identical parallel servers, if the exponential service
time distribution is the same for all k classes of customers that arrive according to
independent Poisson processes, an appropriately constructed single class M/M/c + Hk
model (see Baccelli and Hebuterne, 1981 [3]) can be used if customers in each class have
exponential reneging times. HereHk denotes a k-stage Hyperexponential random variable
(r.v.) representing the time-to-abandon r.v. of the constructed single class of customers
(see the end of Section 2.3). However, incorporating non-exponential distributions for
interarrival, service time and time-to-abandon r.v.s, or considering priority disciplines,
especially in systems serving more than two classes of customers, make it difficult to
construct tractable and exact analytical models; instead, one has to resort to simulation
studies, e.g., [2]. When there are two classes of customers to consider, we can find some
earlier analytical models. Choi, Kim, and Chung (2001) [13] study the M/M/1 queue
where high-priority customers have deterministic impatience time and have preemptive
priority over patient low-priority customers. Analyzing the underlying Markov process,
they provide the joint distribution of the system size, and the Laplace transform (LT)
of the response time of low-priority customers. Brandt and Brandt (2004) [8] study
the M/M/1 system where high-priority customers, for whom general time-to-abandon
distribution is assumed, are served under the preemptive-resume priority policy alongside
patient low-priority customers. They derive the probability generating function of the
joint queue size distribution and the LT of the waiting time of low-priority customers.
Iravani and Balcıoglu (2008b) [23] study two problems in the M/GI/1 setting. In the
Chapter 1. Introduction 3
first problem which considers the preemptive-resume priority discipline, both classes have
exponentially distributed times-to-abandon. In the second problem, the non-preemptive
priority is worked on, yet, the low-priority class is assumed to be patient. For both
problems, they provide the LT of the virtual waiting time for both classes. The non-
preemptive priority policy for impatient high-priority customers in multi-server queues
has been studied by Brandt and Brandt (1999) [7], also by assuming patient low-priority
customers. In this model, reneging high-priority customers, whose wait time is below
a threshold value, become low-priority customers. They provide the exact waiting time
and queue length distributions for high-priority customers as well as approximations for
the factorial moments of the number of low-priority customers.
It appears that when non-preemptive priority discipline is taken into consideration,
in previous research, impatience behavior is assumed only for high-priority customers.
There are few exceptions to this, all in Markovian settings. Jouaini and Dallery (2007)
[29] analyze a multi-server Markovian system with two classes, yet they assume identically
distributed times-to-abandon (as well as identical service time distributions) for both
classes. They study the corresponding birth-and-death process and derive the steady-
state probabilities of the number of total customers, and high-priority customers in the
system. Wang (2004) [44] studies the non-preemptive priority M/M/1 queueing system
where both classes have identically distributed service requirements, and exponential
times-to-abandon with possibly different rates. He analyzes the two-dimensional Markov
chain and provides approximations for the performance measures of the system. Stolletz
and Helber (2004) [42] also construct a Markov chain in modeling a call center with skill-
based routing, where a group of flexible servers -in addition to specialized server groups
for each class- attends to two impatient classes of customers under the non-preemptive
rule.
Even though in some cases prioritization of a specific class of customers can be due
to their impatience, in many other settings, such as customer contact centers and health-
Chapter 1. Introduction 4
care systems, different classes of customers can be impatient with different levels of
tolerance for waiting in the queue. For instance, patients waiting for special medical
treatments are usually categorized into priority groups according to their conditions so
that, patients with higher risk of death (i.e., the most impatient customers), receive
service first as the highest priority customers. In some other context, prioritization can
be even irrelevant of the patience limit of customers. For example, many call centers give
exclusive priority to their more valuable customers who are on a contract (e.g., [34, 40]),
or are known, according to historical data, to be more profitable. Therefore, there is a
need to incorporate impatience for low-priority customers in settings operating under the
non-preemptive priority policy.
In this thesis, we first analyze the two-class non-preemptive priority M/GI/1 + M
queue in Section 2.1. We allow general and different service time distributions for each
class as well as different reneging rates. Then, we extend the problem in Section 2.2
to two-class multi-server queues. We assume identical exponential service time distribu-
tions for both classes yet retain different exponential rates in Section 2.2.1, and different
deterministic patience limits in Section 2.2.2. Same service time distribution is a reason-
able assumption, as exemplified by Milner and Olsen (2008) [34], in call centers where
the service is the same for all classes but prioritization differentiates contract customers
from those without a contract. In Section 2.2.1, we also visit the case with patient
high-priority customers and low-priority customers that can abandon the system if their
patience expires. Examples for this case are service firms that offer a guarantee to their
special or VIP customers on the service delivery time [20, 40]; if this guarantee is not met,
high-priority customers are not charged, which can lead high-priority customers to wait
patiently. The non-VIP customers, who have to pay for service no matter how long they
wait, can be deterred if they wait for too long and can renege from the system. Finally, in
Section 2.3, we consider the FCFS policy when serving k classes of customers. Under the
FCFS policy, we model the M/GI/1 queue with class specific service time distributions,
Chapter 1. Introduction 5
yet, for tractability, we have to assume that the reneging rates are the same across all
customer classes. In the extension to the multi-server case, we resort to identical service
time distributions for each class.
In all these models, we obtain the LT of the virtual waiting time for all classes by
employing the level-crossing technique due to to Brill (1975, 1977) [9, 11] (see also Brill,
2008, [12]). This enables us to write down the integral equations for the density functions
of the virtual waiting time for classes. Eventually, we obtain their LT’s. Using these
virtual waiting time LT’s, we are able to obtain the steady-state performance measures
of the queueing systems analyzed, such as the waiting time distributions with their mean
values, and proportion of reneging customers for each class.
In the second part of the thesis, we study a two class queueing system operating under
a non-preemptive dynamic priority discipline. Each class has a pre-assigned urgency
index denoted by ui (i = 1, 2). A class i customer arriving at time t receives the priority
number t+ui. At each service completion epoch, the server chooses the customer with the
lowest priority index amongst all the customers in the system. Let u = u2−u1 (u2 ≥ u1).
When u = 0, customers are served in the order of their arrival so the priority rule
reduces to an FCFS discipline. When u =∞, customers of class 1 always receive priority
and the priority rule which is referred to as the “head-of-the-line rule” becomes static.
Altering the parameter u in the interval (0,∞), therefore, different levels of priority can
be assigned to class 1 customers, which we refer to as the high-priority customers along
with the class 2 customers which we refer to as the low-priority customers. An alternative
way of applying this priority rule, which is of more significance in real world applications,
is to assign customers of each class to a separate queue and track the waiting time of the
customers at the head of each queue. In this case, when the server completes a service
at time t, it chooses the next customer to serve from the class with the highest value of
WHi (t)− ui, where WH
i (t) is the waiting time of the customer at the head of queue i at
time t (see Koole, Nielsen, and Nielsen, 2009 [31]). Allocating priorities in this way is
Chapter 1. Introduction 6
very common in call-centers and healthcare systems [31], where often different levels of
service must be provided for different types of customers.
Despite its wide application in industry, however, the literature on dynamic prioriti-
zation is quite limited. Such a priority rule was introduced by Jackson (1960) [24] who
analyzed a discrete-time queue with Bernoulli input and geometric service times. The
continuous version of the problem was later studied in Holtzman (1971) [21] in which
bounds on the mean waiting times were obtained. Goldberg (1977) [18] characterized
the transient and the steady-state distribution of the waiting times in a general setting
and derived an expression for the mean steady-state waiting times of each class assum-
ing Poisson arrivals. Goldberg (1980) [19] provided a proof for Jackson’s conjecture [25]
on the optimality of this type of scheduling in minimizing maximum lateness of jobs in
queueing systems. Prabhu and Resser (1985) [37] analyzed the priority rule when u is an
exponential random variable. They also refer to an unpublished work [26] in which the
transform of the steady-state waiting time of low-priority customers is obtained. Koole,
Nielsen and Nielsen (2009) [31] recently revisited the problem and provided an approxi-
mation for the waiting time distributions in a Markovian system. Their approach is based
on discretizing the waiting time of the customers at the head of the line and reducing
the problem to finding the steady-state solution of a two dimensional continuous time
Markov chain with infinite state space. Aside from the last two papers mentioned, there
are no other results in the literature for the distribution of the waiting times under this
dynamic priority discipline. The importance of waiting-time distributions or tail prob-
abilities is however evident in many service systems such as contact centers where the
service levels are defined as the proportion of customers served under a certain amount
of time.
We consider the steady-state waiting time distributions of a two class M/GI/1 queue
operating under the dynamic priority discipline. We find an accurate approximation for
the steady-state waiting time distribution of the low-priority customers (class 2) which
Chapter 1. Introduction 7
allows us to study how they are penalized as the priority parameter u increases. We
also extend Goldberg’s results to obtain bounds for the variance of the waiting time of
class 1 customers. Our results can also be applied to multi-server queueing systems with
identical exponential servers.
The rest of the thesis is organized as follows. Chapter 2 deals with the waiting time
analysis of multi-class queues with impatient customers. In Section 2.1, we analyze the
M/GI/1 + M queue serving two classes of customers according to the non-preemptive
priority rule. In Section 2.2, the analyses of the M/M/c + M and M/M/c + D queues
operating under the non-preemptive priority policy are presented. In Section 2.3, we
consider the FCFS policy in single and multi-server queues. In Chapter 3, we study
the waiting time distributions in a dynamic priority queue. In Section 3.1, the model
is formally described and the approximation formulas are presented for class 1 and 2
customers. Numerical experiments are presented in Section 3.2 to test the performance
of the approximation and to study the waiting time distribution of each class. Finally,
conclusions are presented in Chapter 4.
Chapter 2
Multi-Class Queues with Impatient
Customers
In this chapter, we first analyze a single server queueing system serving two priority-
classes of customers in Section 2.1. The priority discipline is non-preemptive in nature.
Our contribution is to allow impatience for both classes of customers while assuming class-
specific general service times. In Section 2.2, we attempt to generalize the same priority
service discipline to multi-server settings. This is achieved by assuming exponential
service times and considering the service rate to be the same for both classes. However,
we are able to incorporate class-specific time-to-abandon distributions. In Section 2.2.1,
we study the case with exponential time-to-abandon distribution, and in Section 2.2.2,
we analyze the time-out problem where customers have constant patience limits. The last
model we present in Section 2.3 is the FCFS queueing system with k classes of customers.
We examine both the single and multiple server cases by assuming the same exponential
reneging distribution for all classes.
8
Chapter 2. Multi-Class Queues with Impatient Customers 9
2.1 The Single Server Priority Queue with Impatient
Customers
In this section, we model a queueing system in which a single server attends to two classes
of impatient customers under the non-preemptive priority rule. High-priority (class 1)
customers have to wait for the completion of the service time of the low-priority (class 2)
customer they might see under service upon their arrival at the system. Upon completion
of a service, only if there are no high-priority customers in the system, the next customer
to serve is the first low-priority customer in line (provided that there are any low-priority
customers waiting). For both classes, we assume that once their service starts, they are
patient until their service is over. That is, reneging behavior is observed only among
customers during their waiting time in the queue.
In this setting, class i customers arrive at the queueing system according to an in-
dependent Poisson process with rate λi, i = 1, 2. The independent and identically dis-
tributed (i.i.d.) service-time r.v. for class i is denoted by Bi, and it follows a general
distribution function Bi(x) (with Bi(x) = 1−Bi(x) denoting the complementary service
time distribution) with mean 1/µi. Furthermore, the Laplace-Stieltjes transform (LST)
of the service-time distribution function is denoted by bi(s). We assume that the time-to-
abandon distribution for class i customers is exponential with rate ωi. The service-time
distributions and reneging rates of each class could be different from one another. Ad-
ditionally, service-time and time-to-abandon r.v.s are independent of each other and the
Poisson arrival processes.
Let Vi(t) denote the virtual waiting time of a class i customer at time t (the time
this customer would have to wait if its patience were infinite) with fi(x) as its density
function. A class i customer with patience R arriving at the system at time t must wait
for the min{Vi(t), R}, at the end of which it either reaches the server and its service
commences if Vi(t−) ≤ R, or abandons the queue otherwise, with its patience expired.
Chapter 2. Multi-Class Queues with Impatient Customers 10
We eventually obtain their LT’s from which the waiting time distribution for each class
can be obtained. To do this, we employ the level-crossing theorem due to Brill (1975,
1977) [9, 11], Brill and Posner (1977) [10], Cohen (1977) [14], Cohen and Rubinovitch
(1977) [15], and Shanthikumar (1981) [39]. This method briefly asserts that for every
level x > 0 of the virtual waiting time, the rate of downcrossing level x is equal to the
rate of upcrossing level x.
We first carry out the analysis for high-priority customers. According to the level-
crossing theorem, the density function of the virtual waiting time for a class 1 customer
is given by
f1(x) = λ1B1(x)P0 + λ2B2(x)P0 + λ1
∫ x
0
B1(x− y)e−ω1yf1(y)dy
+λ2B2(x)
∫ ∞0
e−ω2yf2(y)dy, x > 0, (2.1)
where P0 is the steady-state probability of finding the system empty, and satisfies the
normalizing equation
P0 +
∫ ∞0
f1(x)dx = 1.
In Eq. (2.1), f1(x) on the left hand side (LHS) is the rate of downcrossing level x > 0 on
the virtual waiting time sample path of high-priority customers. The rate of upcrossing
level x > 0, as given on the right hand side (RHS), has four parts: The first two terms
are the upcrossing rates of x due to high- and low-priority customers arriving at an
empty system. The term λ1∫ x0B1(x − y)e−ω1yf1(y)dy is the upcrossing rate caused by
high-priority customers that must wait a positive time 0 < y < x. That is, a “tagged”
high-priority customer arriving at a busy system can cause an upcrossing if its patience
is more than the amount of virtual waiting time y, and its service requirement is in
excess of x− y. The last term on the RHS is the upcrossing rate caused by low-priority
customers arriving at a busy system. These customers do not contribute to the virtual
waiting time of high-priority customers until it is their turn to seize the server, i.e., when
the virtual waiting time of class 1 customers hits level 0. Since the queue is stable due
Chapter 2. Multi-Class Queues with Impatient Customers 11
to reneging, all these customers reach the server in a finite amount of time if they do
not abandon the queue. Therefore, a tagged low-priority customer that must wait for a
positive time y > 0 causes an upcrossing, if it is patient enough to survive this wait (with
probability∫∞0e−ω2yf2(y)dy) and if its service requirement exceeds x. Note that the
virtual waiting time of class 2 with density function f2(x) comprises the amount of work
due to patient high- and low-priority customers that the tagged low-priority customer
finds in the system upon its arrival, plus, the additional work that patient high-priority
customers bring in during the queue time of the tagged low-priority customer.
To obtain the density function f2(x), we need the distribution of the busy period
generated by both high- and low-priority customers. A busy period generated by k high-
priority customers in the queue, with a distribution (density) function of Lk(x) (lk(x)), is
defined as the duration of the period that elapses between the beginning of the service of
the first high-priority customer among k+1 high-priority customers present in the system
(k remaining in the queue) and the instant at which the system is cleared of all high-
priority customers. According to this definition, for instance, the busy period generated
by a high-priority customer arriving at an idle system has a distribution function of
L0(x), because the number of high-priority customers in the queue is 0. We resort to
the result provided by Rao (1967) [38] who studies an M/GI/1 +M queue with a single
class of impatient customers. Observing that the busy-period initiated by k high-priority
customers in the queue in our problem is equivalent to that of the k impatient customers
in queue in Rao’s M/GI/1 +M system with λ1 and ω1 as the arrival and reneging rates,
respectively, and B1 as the service time r.v., the LT lk(s) of lk(x) is
l0(s) =b1(s) +
∑∞r=1
νr
r!ψ(r − 1, s)b1(s+ rω1)
1 +∑∞
r=1νr
r!ψ(r − 1, s)
, (2.2)
lk(s) =b1(s) +
∑∞r=1(−1)rψ(r − 1, s)b1(s+ rω1)θ(k, r)
1 +∑∞
r=1νr
r!ψ(r − 1, s)
, k > 0 (2.3)
where ν = λ1/ω1,
Chapter 2. Multi-Class Queues with Impatient Customers 12
θ(k, r) =
∑r
j=0(−1)jνj
j!
(kr−j), r ≤ k,∑r
j=r−k(−1)jνj
j!
(kr−j), r > k,
and
ψ(r, s) =r∏j=0
[1− b1(s+ jω1)].
The busy period initiated by a low-priority customer arriving at an empty system
is its service time (B2) plus the busy-period generated by high-priority customers that
may be present in the system at the completion B2. We denote the r.v. of the busy
period initiated by such a low-priority customer by H, its distribution function, density
function, and LT by H(x), h(x), and h(s), respectively. Then, we have H = B2 + L,
where L is the busy period generated by high-priority customers who arrive during B2
and do not renege until B2 is over. The LT of H is given by Iravani and Balcıoglu (2008b)
[23] as
h(s) =∞∑j=0
lj−1(s)
∫ ∞0
e−sx(ν(1− e−ω1x))
j
j!e−ν(1−e
−ω1x)b2(x)dx, (2.4)
where l−1(s) = 1 and lj−1(s) for j ≥ 1 are given in Eqs. (2.2) and (2.3).
Employing the level-crossing theorem again, the density function of the virtual waiting
time for a low-priority customer is given by
f2(x) = λ1L0(x)P0 + λ2H(x)P0 + λ2
∫ x
0
H(x− y)e−ω2yf2(y)dy, x > 0, (2.5)
which satisfies the normalizing equation
P0 +
∫ ∞0
f2(x)dx = 1.
In Eq. (2.5), f2(x) on the LHS is the rate of downcrossing level x > 0 on the virtual
waiting time sample path of low-priority customers. The rate of upcrossing level x > 0,
as given on the RHS, has three parts: The terms λ1L0(x)P0 and λ2H(x)P0 give the
upcrossing rates of x due to high- and low-priority customers arriving at an empty system,
Chapter 2. Multi-Class Queues with Impatient Customers 13
respectively. Such customers increase the virtual waiting time for low-priority customers
by the busy period they generate. The last term is the upcrossing rate due to low-priority
customers that must wait a positive time 0 < y < x. Such customers also increase the
virtual waiting time by a busy period if they can survive the offered waiting time y. Thus,
the rate of such upcrossings is λ2∫ x0H(x − y)e−ω2yf2(y)dy. Note that the contribution
of high-priority customers arriving at a busy system in the virtual waiting time of low-
priority customers is already included in these three components presented on the LHS
of Eq. (2.5).
When we take the LT of the workload density function of each class in Eqs. (2.1) and
(2.5), we have
f1(s+ ω1)−f1(s)
λ1β1(s)= −P0 −
λ2β2(s)
λ1β1(s)(P0 + f2(ω2)), (2.6)
f2(s+ ω2)−f2(s)
λ2κ(s)= −
(λ1g0(s)
λ2κ(s)+ 1
)P0, (2.7)
where βi(s) is the LT of the complementary service time distribution for class i, κ(s) is
the LT of H(x), and g0(s) is that of the L0(x). Since f2(ω2) appears on the RHS of Eq.
(2.6), we first look into Eq. (2.7), which is an inhomogeneous difference equation of the
form
u(x+ ω)− a(x)u(x) = b(x), ω > 0,
studied in e.g., Jagerman (2000)[28] (p. 115). If the limit
lim supj→∞
∣∣∣∣b(x+ jω + ω)
b(x+ jω)
1
a(x+ jω + ω)
∣∣∣∣ < 1, (2.8)
holds uniformly in x, then the general solution is given by (Jagerman (2000)[28] (p. 116))
u(x) = cv(x)−∞∑j=0
b(x+ jω)
a(x)a(x+ ω)...a(x+ jω), (2.9)
where c is a constant and v(x) is the solution of the corresponding homogeneous equation
v(x+ ω)− a(x)u(x) = 0.
One can easily check that (2.8) holds for Eqs. (2.6) and (2.7). Also applying the
boundary conditions f1(∞) = 0, f2(∞) = 0, for both equations the constant c = 0, and
Chapter 2. Multi-Class Queues with Impatient Customers 14
hence the unique solution of Eqs. (2.6) and (2.7) has the form
u(x) = −∞∑j=0
b(x+ jω)
a(x)a(x+ ω)...a(x+ jω), (2.10)
with the series being uniformly convergent since the limit in Eq.(2.8) holds uniformly in
x (Jagerman (2000)[28] (p. 115)).
Using Eq. (2.10), we have
f2(s) = P0
∞∑j=0
(1 +
λ1g0(s+ jω2)
λ2κ(s+ jω2)
) j∏m=0
λ2κ(s+mω2). (2.11)
Eq. (2.11) helps to find P0, the probability of having an idle system: by letting s→ 0 in
both sides of Eq. (2.11), and noting that f2(0) = 1− P0, we get
P0 =
(∞∑j=0
(1 +
λ1g0(jω2)
λ2κ(jω2)
) j∏m=0
λ2κ(mω2)
)−1.
In order to obtain f2(ω2), which appears on the RHS of Eq. (2.6), we need the expected
length of busy periods E[L0] and E[H] initiated by high- and low-priority customers,
respectively, which can be computed via Eqs. (2.2) and (2.4). Letting s→ 0 in Eq. (2.7)
gives
f2(ω2) =(1− P0)− (λ1E[L0] + λ2E[H])P0
λ2E[H].
Observing that Eq. (2.6) has the same solution form given in Eq. (2.10), we obtain
f1(s) =∞∑j=0
(P0 +
λ2β2(s+ jω1)
λ1β1(s+ jω1)
(P0 + f2(ω2)
)) j∏m=0
λ1β1(s+mω1). (2.12)
Given fi(s) in Eqs. (2.11) and (2.12), by numerically inverting fi(s)/s using tech-
niques such as the ones due to Abate and Whitt (1995) [1] and Jagerman (1982) [27], one
can obtain Fi(x), i.e., the steady-state probability that the virtual waiting time for class
i is less than x. Let Wi,S, Wi,R and Wi,T be the r.v.s corresponding to the waiting time
distributions of successfully served, reneging and all (total) customers in class i = 1, 2,
respectively. First,
Wi,S(x) = P{Wi,S < x} =P0 +
∫ x0e−ωitfi(t)dt
Pi,S, (2.13)
Chapter 2. Multi-Class Queues with Impatient Customers 15
where Pi,S is the probability that a class i customer is served. Here,∫ x0e−ωitfi(t)dt can
be computed by numerically inverting its LT, fi(ωi + s)/s. Then, following the formulae
provided by Stanford (1979) [41], we can find the following steady-state performance
measures:
Wi,T (x) = P{Wi,T < x} = 1− e−ωix + e−ωixFi(x), (2.14)
and from
Wi,T (x) = (1− Pi,A)Wi,S(x) + Pi,AWi,R(x), (2.15)
one can obtain the CDF of reneging customers, Wi,R(x) = P{Wi,R < x}, in class i,
i = 1, 2. In Eq. (2.15), Pi,A = 1 − Pi,S, is the steady-state probability that a type i
customer reneges before being served and can be found from
1− Pi,A = Pi,S = P0 +
∫ ∞0
e−ωiyfi(y)dy = P0 + fi(ωi). (2.16)
The mean waiting time of class i customers that are served, E[Wi,S], can be found as,
E[Wi,S] =
∫∞0xfi(x)e−ωixdx
Pi,S. (2.17)
The mean waiting time of all class i customers, denoted by E[Wi,T ], can be calculated
more easily. Because, with W i,T (x) = 1−Wi,T (x) and F i(x) = 1− Fi(x),
E[Wi,T ] =
∫ ∞0
W i,T (x)dx =
∫ ∞0
e−ωixF i(x)dx,
which is the LT of F i(x) (expressed in terms of ωi). Thus,
E[Wi,T ] =1− fi(ωi)− P0
ωi=Pi,Aωi
, (2.18)
where the equality of the nominators of the fractions on the RHS is due to Eq. (2.16).
Finally, with E[Wi,T ] and E[Wi,S], using Eq. (2.15), we can find the mean waiting time
of reneging class i customers, E[Wi,R], from
E[Wi,T ] = (1− Pi,A)E[Wi,S] + Pi,AE[Wi,R]. (2.19)
Chapter 2. Multi-Class Queues with Impatient Customers 16
We close this section by demonstrating a nice relationship between P0 and Pi,S. If we
integrate both sides of Eq. (2.1) on (0,∞), we have
1− P0 = ρ1P0 + ρ2P0 + ρ1
∫ ∞0
e−ω1yf1(y)dy + ρ2
∫ ∞0
e−ω2yf2(y)dy,
P0 = 1− ρ1(P0 +
∫ ∞0
e−ω1yf1(y)dy
)− ρ2
(P0 +
∫ ∞0
e−ω2yf2(y)dy
),
= 1− ρ1P1,S − ρ2P2,S,
where ρ1 = λ1/µ1 and ρ2 = λ2/µ2. This expression for P0 is similar to P0 = 1−ρ1−ρ2, the
probability of finding an idle server in a two-class M/GI/1 queue with patient customers
where all customers are served (P1,S = P2,S = 1) provided that ρ1 + ρ2 < 1.
Chapter 2. Multi-Class Queues with Impatient Customers 17
2.2 The Multi-Server Priority Queue with Impatient
Customers
In this section, we extend the model studied in Section 2.1 by assuming c identical and
parallel servers. When service times are non-Exponential r.v.s, an exact analysis of the
M/GI/c queue even with a single class of patient customers is not possible. Thus, we
consider only exponential service times. Furthermore, we assume that the service time
distribution with rate µ is the same for both classes. As in Section 2.1, high-priority (class
1) and low-priority (class 2) customers arrive in accordance with independent Poisson
processes with rate λi, and renege from the system if they are not served before their
patience expires. The service of a low-priority customer cannot be preempted. In order
a waiting low-priority customer to reach a server, there should not be any high-priority
customers waiting in the queue. We study this system in two sections where models differ
due to the time-to-abandon distributions assumed. In Section 2.2.1, we analyze the case
in which both classes have exponential time-to-abandon distributions, and in Section
2.2.2, we study the “time-out problem” where customers have deterministic patience
limits.
2.2.1 The Two-Priority Class M/M/c+M Queue
In this section, we assume that class i customers have exponentially distributed times-to-
abandon with rate ωi, i = 1, 2. This model can apply to call centers that can distinguish
between customer classes with the help of the ACD such as the one analyzed via simu-
lation by Saltzman and Mehrotra (2001) [40].
As in Section 2.1, we need the LT’s of the virtual waiting time density functions for
both classes. Before proceeding further, let Pj be the probability of having j ≤ c − 1
servers busy in steady-state. Since the number of busy servers is a birth-and-death
process, Pj can be expressed as P0ρj/j!, where ρ = λ/µ, λ = λ1+λ2, and P0 is the steady-
Chapter 2. Multi-Class Queues with Impatient Customers 18
state probability of having all servers idle. Using this, we can express the probability of
no wait for a customer (the probability that c− 1 or fewer servers are busy) as
P (W = 0) =c−1∑j=0
ρj
j!P0,
and we have the following normalizing equation
P (W = 0) +
∫ ∞0
fi(y)dy = 1, i = 1, 2. (2.20)
Next, employing the level-crossing theorem for the multi-server model, for high-
priority customers, for x > 0, we have
f1(x) = λPc−1e−cµx + λ1
∫ x
0
e−cµ(x−y)e−ω1yf1(y)dy + λ2e−cµx
∫ ∞0
e−ω2yf2(y)dy.(2.21)
Eq. (2.21) is very similar in spirit to Eq. (2.1). The differences are that arrivals that find
fewer than c − 1 servers do not contribute to the virtual waiting time, and the amount
of contribution of those who find all servers busy and survive the offered waiting time is
exponentially distributed with rate cµ, which is the time until the next departure when
all servers are busy.
To obtain f2(x), we need the distribution of the busy period initiated by high- and
low-priority customers. The busy-period starts when all servers become busy and ends
when no high-priority customers are left in the system. Since service time distributions
are the same for both classes, the distributions of busy periods generated by high- and
low-priority customers are the same, which we denote by Lc(x).
Observe that Lc(x) is the same distribution as the distribution of the busy period
in an M/M/c + M queue receiving a single class of impatient customers according to a
Poisson process with rate λ1, where each server has a service rate of µ and customers a
reneging rate of ω1. In this single-class M/M/c+M queue (similar to the M/M/c queue
with patient customers, see Daley and Servi, 1998 [17]), we define the busy period as the
time starting from the instant when all servers become busy until we have c− 1 servers
busy again. Since all c servers of the single-class M/M/c+M queue are busy during the
Chapter 2. Multi-Class Queues with Impatient Customers 19
busy period, clearing customers at a rate of cµ, the distribution of its busy period is the
same as L0(x), which is the distribution of the busy period in an M/M/1+M queue with
λ1 Poisson arrival rate, ω1 reneging rate, and cµ service rate. Thus, we conclude that
Lc(x) is identical in distribution to L0(x) of the M/M/1+M queue and the LST of Lc(x),
which we denote by lc(s), is found from Eq. (2.2) by substituting b1(s) = cµ/(cµ + s).
Now we employ the level-crossing theorem for the low-priority customers and have
f2(x) = λPc−1Lc(x) + λ2
∫ x
0
Lc(x− y)e−ω2yf2(y)dy, x > 0. (2.22)
Eq. (2.22) is parallel to Eq. (2.5), therefore, we omit explanations that may be repetitive.
If we take the LT of Eqs. (2.21) and (2.22), we get
f1(s+ ω1)−cµ+ s
λ1f1(s) = − λ
λ1Pc−1 −
λ2λ1f2(ω2), (2.23)
f2(s+ ω2)−f2(s)
λ2g0(s)= − λ
λ2Pc−1, (2.24)
where g0(s) is LT the Lc(x).
As in Section 2.1, the solution of Eq. (2.24) can be found by using Eq. (2.10):
f2(s) =λPc−1λ2
∞∑j=0
j∏k=0
λ2g0(s+ kω2). (2.25)
The probability of finding all servers idle, P0, is found by letting s → 0 in Eq. (2.25),
and using Eq. (2.20) with Pc−1 = ρc−1P0/(c− 1)!,
1− P (W = 0) =λ
λ2
ρc−1
(c− 1)!P0
∞∑j=0
j∏k=0
λ2g0(kω2),
P0 =
(c−1∑i=0
ρi
i!+
λ
λ2
ρc−1
(c− 1)!
∞∑j=0
j∏k=0
λ2g0(kω2)
)−1.
In order to obtain f2(ω2), which appears on the RHS of Eq. (2.23), we need the
expected length of a busy period, E[Lc], that can be found from Perry and Asmussen
(1995) [36] and Boxma el al. (2010) [6]:
E[Lc] =∞∑k=0
λk1∏kj=0(cµ+ jω1)
. (2.26)
Chapter 2. Multi-Class Queues with Impatient Customers 20
In the limit as s→ 0, Eq. (2.24) gives
f2(ω2) =(1− P (W = 0))− λPc−1E[Lc]
λ2E[Lc]. (2.27)
Now we can write the solution for Eq. (2.23) with the help of Eq. (2.10) as
f1(s) =λPc−1 + λ2f2(ω2)
λ1
∞∑j=0
j∏k=0
λ1cµ+ s+ kω1
. (2.28)
Let
m(x) =e−cµx
j!
(1− e−ω1x
ω1
)j,
which has the LT (Jagerman, 2000 [28], p. 122)
m(s) =
j∏k=0
1
cµ+ s+ kω1
.
Then, using m(x), we can explicitly invert the LT f1(s) as
f1(x) =λPc−1 + λ2f2(ω2)
λ1λ1e
−cµx∞∑j=0
1
j!
(λ1(1− e−ω1x)
ω1
)j= (λPc−1 + λ2f2(ω2))e
{−cµx+λ1(1−e−ω1x)/ω1}.
We can use Eqs. (2.13), (2.16), and (2.18) by replacing P0 with P (W = 0) to compute
Wi,S(x), Pi,A = 1−Pi,S, and E[Wi,T ]. The other distribution functions and mean waiting
times can be found from Eqs. (2.14), (2.15), (2.17), and (2.19).
We close this section by considering a special case, assuming that high-priority cus-
tomers are patient. This model is relevant to service industry that offers a guarantee to
their VIP customers on service delivery time: if this guarantee is not met, the service will
be free for VIP customers (see Ho and Zheng, 2004 [20], and Saltzman and Mehrotra,
2001 [40]). In this scenario, it is reasonable to assume that high-priority (VIP) customers
are patient, because they know that, in the worst case, if they wait too long, they will
not be charged any service fees. Since high-priority customers are patient, Eq. (2.21)
becomes (the difference is the second term on the RHS)
f1(x) = λPc−1e−cµx + λ1
∫ x
0
e−cµ(x−y)f1(y)dy + λ2e−cµx
∫ ∞0
e−ω2yf2(y)dy,
Chapter 2. Multi-Class Queues with Impatient Customers 21
that has a solution of
f1(x) = (λPc−1 + λ2f2(γ2))e−(cµ−λ1)x.
The busy period distribution required for f2(x) in Eq. (2.22) is identical to the busy
period distribution in an ordinary M/M/1 queue with the same arrival rate and cµ as
the service rate, which has the following LST (e.g., Kleinrock, 1975, [30], p. 215)
lc(s) =λ1 + cµ+ s−
√(λ1 + cµ+ s)2 − 4λ1cµ
2λ1,
from which its mean can be found as
E[Lc] =1
cµ− λ1.
2.2.2 The Two-Priority Class M/M/c+D Queue
In this section, we analyze the multi-server queueing system where the patience limit of
customers are constants: if a class i customer does not start receiving service in τi time
units after its arrival, it abandons the system without being served. The single-class
version of this problem was studied by Boots and Tijms (1999) [5] and Liu and Kulkarni
(2008a, 2008b) [32, 33]. Such models apply to telecommunication systems where data
become useless if not received within a hard deadline.
To include two priority classes, we again employ the level-crossing theorem, and for
high-priority customers, for x > 0, we have
f1(x) = λPc−1e−cµx + λ1
∫ x∧τ1
0
e−cµ(x−y)f1(y)dy + λ2e−cµx
∫ τ2
0
f2(y)dy, (2.29)
where a ∧ b = min(a, b), and f1(x) satisfies the same normalizing equation given in Eq.
(2.20). Eq. (2.29) is similar to Eq. (2.21) with the following differences: The second
term on the RHS is the upcrossing rate caused by high-priority customers arriving at the
system when all servers are busy. In this case, if x > τ1, a tagged high-priority customer
can cause an upcrossing only if it arrives when the virtual waiting time is less than its
Chapter 2. Multi-Class Queues with Impatient Customers 22
patience, i.e., 0 < y < τ1 (otherwise, it abandons the system). If 0 < x < τ1, it suffices
to arrive at a system with a virtual waiting time less than x, i.e., 0 < y < x, because
in this case, the customer will not abandon and receive service. The third term is the
upcrossing rate caused by low-priority customers that must wait for a positive amount
of time y. A tagged low-priority customer causes an upcrossing if it reaches the server
(with probability∫ τ20f2(y)dy) and if the time until next departure after it reaches the
server is in excess of x.
To write the equation for f2(x), we need the busy period distribution Lc(x) as in
Section 2.2.1, this time considering deterministic patience limits. Similar arguments
made in Section 2.2.1 apply here and Lc(x) is identically distributed as the busy period
in a single-class M/M/1 + D queue with λ1 as the arrival rate, cµ as the service rate,
and τ1 as the deterministic patience limit. We next obtain the LT of the busy period in
this M/M/1 + D queue, which we denote by l0(s). To do this, we resort to Perry and
Asmussen (1995) [36] and Liu and Kulkarni (2008a) [32] who provide l0(s, ξ), which is
the conditional LT of the busy period in a single-class M/M/1 +D queue, given that the
service time initiating the busy period is a constant ξ:
l0(s, ξ) =
α1eα1ξ−α2eα2ξ
γ1−γ2 0 ≤ ξ ≤ τ1,
e−s(ξ−τ1)l0(s, τ1) ξ > τ1,
where
α1 =(cµ− s− λ1) +
√(s+ λ1 − cµ)2 + 4cµs
2,
α2 =(cµ− s− λ1)−
√(s+ λ1 − cµ)2 + 4cµs
2,
γi = (cµ− αi −λcµ
s+ cµ)e−αiτ1 , i = 1, 2.
For our problem, we need to remove the condition on the first service time:
l0(s) =
∫ τ1
0
γ1eα1ξ − γ2eα2ξ
γ1 − γ2cµe−cµξdξ +
∫ ∞τ1
e−s(ξ−τ1)l0(s, τ1)cµe−cµξdξ,
Chapter 2. Multi-Class Queues with Impatient Customers 23
which, after some simplification, reduces to
l0(s) =cµ
γ1 − γ2
[γ2(1− e−τ1(cµ−α2)
)α2 − cµ
−γ1(1− e−τ1(cµ−α1)
)α1 − cµ
+(γ1e
α1τ1 − γ2eα2τ1)e−cµτ1
cµ+ s
].
Recalling that Lc(x) denotes the complementary distribution of the busy period,
similar to Eq. (2.22), for low-priority customers we have
f2(x) = λPc−1Lc(x) + λ2
∫ x∧τ2
0
Lc(x− y)f2(y)dy, x > 0. (2.30)
Note that similar to Eq. (2.29), the second term on the RHS in Eq. (2.30) points out
that the upcrossing rate caused by low-priority customers arriving at the system when
all servers are busy depends on the level x.
We start with Eq. (2.30) the solution of which depends on the value of x through
x ∧ τ2. Using
k1(x) = Lc(x) + λ2
∫ x
0
Lc(x− y)k1(y)dy, (2.31)
k2(x) = Lc(x) + λ2
∫ τ2
0
Lc(x− y)k1(y)dy, (2.32)
we can express f2(x) as
f2(x) =
λPc−1k1(x), x < τ2,
λPc−1k2(x), x ≥ τ2.
Using Eq. (2.20) and the fact that Pc−1 = ρc−1P0/(c− 1)!, we write
1− P (W = 0) =λρc−1
(c− 1)!P0
(∫ τ2
0
k1(x)dx+
∫ ∞τ2
k2(x)dx
),
P0 =
(c−1∑i=0
ρi
i!+
λρc−1
(c− 1)!
(∫ τ2
0
k1(x)dx+
∫ ∞τ2
k2(x)dx
))−1.
In order to solve for k1(x), we take the LT of both sides of Eq. (2.31). Letting k1(s)
denote the LT of k1(x), and as in previous sections, g0(s) the LT of Lc(x), we have
k1(s) =g0(s)
1− λ2g0(s), (2.33)
Chapter 2. Multi-Class Queues with Impatient Customers 24
which can be used first to calculate k2(x), and then f2(x). Using Eq. (2.33), we can
also obtain P c2,S, the probability of serving a low-priority customer arriving at the system
when all servers are busy (noting that P (W = 0) + P c2,S = P2,S)
P c2,S =
∫ τ2
0
f2(y)dy = λPc−1
∫ τ2
0
k1(x)dx, (2.34)
where∫ τ20k1(x)dx can be computed by numerically inverting k1(s)/s. However, we need
Pc−1 that requires P0, which in return calls for evaluating∫∞τ2k2(x)dx. As will be demon-
strated shortly, this can be by-passed easily.
The same solution approach taken for f2(x) can be applied to solve Eq. (2.29), which
can be explicitly expressed as
f1(x) =
(λ2P
c2,S + λPc−1
)e−(cµ−λ1)x, x < τ1,(
λ2Pc2,S + λPc−1
)eλ1τ1e−cµx, x ≥ τ1.
To bypass computing k2(x), which requires inverting both k1(s) and g0(s) numerically,
we first note that it is more convenient to use Eq. (2.20) for f1(x), i.e.,
P (W = 0) +(λ2P
c2,S + λPc−1
) [∫ τ1
0
e−(cµ−λ1)xdx+ eλ1τ1∫ ∞τ1
e−cµxdx
]= 1,
P (W = 0) +
(λ2P
c2,S +
λρc−1
(c− 1)!P0
)[1
cµ− λ1(1− e−(cµ−λ1)τ1
)+
1
cµe−(cµ−λ1)τ1
]= 1,
which, after simplification, gives us
P0 =1− λ2P c
2,S
[1
cµ−λ1
(1− e−(cµ−λ1)τ1
)+ 1
cµe−(cµ−λ1)τ1
]∑c−1
i=0ρi
i!+ λρc−1
(c−1)!
[1
cµ−λ1 (1− e−(cµ−λ1)τ1) + 1cµe−(cµ−λ1)τ1
] . (2.35)
Also from Eq. (2.34), we have
P0 =P c2,S
λρc−1
(c−1)!
∫ τ20k1(x)dx
. (2.36)
Equating Eqs. (2.35) and (2.36), we can obtain P c2,S and using either of these equations
gives P0.
Chapter 2. Multi-Class Queues with Impatient Customers 25
We close this section by relating the virtual and actual waiting time distributions.
The virtual waiting time distribution for class i is
Fi(x) = P (W = 0) +
∫ x
0
fi(x)dx.
Thus,
Wi,T (x) =
Fi(x), x < τi,
1, x ≥ τi,
and for served customers
Wi,S(x) =
Fi(x)/Pi,S x < τi,
1, x ≥ τi,
where
Pi,S = P (W = 0) +
∫ τi
0
fi(x)dx.
One can see that waiting time distributions can be calculated by only numerically in-
verting k1(s)/s, without computing k2(x) in Eq. (2.32).
Chapter 2. Multi-Class Queues with Impatient Customers 26
2.3 FCFS Queues with Impatient Customers
In this section, we model first the single server, then the multi-server FCFS queueing
systems with k classes of impatient customers. Class i customers arrive according to
a Poisson process with rate λi, have exponential times-to-abandon with rates ωi, i =
1, . . . , k.
We start with the single server case. When service times are general with possibly
different distributions, using the level crossing theorem, we have
f(x) = P0
k∑i=1
λiBi(x) +k∑i=1
λi
∫ x
0
Bi(x− y)e−ωiyf(y)dy, x > 0, (2.37)
where Bi(x) is the complementary service time distributions for class i customers.
Note that Eq. (2.37) is very similar to Eq. (2.1), except that we have more than
two classes and do not have different virtual waiting time density functions for each
class. Rather, f(x), is the density function of the virtual waiting time for all classes of
customers.
When we take the LT of both sides of Eq. (2.37), we have
f(s) = P0
k∑i=1
λiβi(s) +k∑i=1
λiβi(s)f(s+ ωi), (2.38)
where, as introduced in Section 2.1, βi(s) is the LT of Bi(x).
We are unable to solve for f(s) unless we assume the same reneging rate for each
class. By setting ω1 = . . . = ωk = ω, Eq. (2.38) becomes
f(s+ ω)− (k∑i=1
λiβi(s))−1f(s) = −P0,
the solution of which is (after employing Eq. (2.10))
f(s) = P0
∞∑j=0
j∏m=0
(k∑i=1
λiβi(s+mω)
). (2.39)
In the FCFS multi-server case with c servers, as in Section 2.2, each server has a rate
µ, and we assume that independent service times are exponentially distributed. Then,
Eq. (2.37) can be re-written as
Chapter 2. Multi-Class Queues with Impatient Customers 27
f(x) = λPc−1e−cµx +
k∑i=1
λi
∫ x
0
e−cµ(x−y)e−ωiyf(y)dy, x > 0, (2.40)
where λ =∑k
i=1 λi. Note that f(x) satisfies Eq. (2.20) where we substitute f(x) instead
of fi(y).
To solve Eq. (2.40), we take the derivative with respect to x, which gives us the
following first order differential equation:
f′(x) ≡ df(x)
dx=
k∑i=1
λie−ωixf(x)− cµf(x),
the solution of which has the form
f(x) = Be{∑ki=1
λiωi
(1−e−ωix)−cµx}, (2.41)
where B is a constant, and by setting x = 0 in Eqs. (2.40) and (2.41), is found to be
B = λPc−1 =λρc−1
(c− 1)!P0,
where, as before, ρ = λ/µ. Finally, P0 can be computed from Eq. (2.20) as
P0 =
(c−1∑j=0
ρj
j!+ λ
ρc−1
(c− 1)!
∫ ∞0
e{∑ki=1
λiωi
(1−e−ωix)−cµx}dx
)−1.
With f(s) in Eq. (2.39) for the single server case or f(x) in Eq. (2.41), we can use Eqs.
(2.13)-(2.19) to compute the waiting time distributions, the fraction of customers served
and the mean waiting times for each class (and by replacing P0 with P (W = 0) in these
equations for the multi-server case). Note that in the single-server case with identical
reneging rates, all these measures (e.g., E[Wi,S]) will be the same for each class. The
difference will be in the mean system time of served customers due to different mean
service times added to E[Wi,S].
An alternative approach to obtain f(x) for the multi-server case is to use the single
class M/M/c+Hk model (see Baccelli and Hebuterne, 1981 [3]) with Poisson arrival rate
λ and service rate µ where Hk is a k-stage Hyperexponential r.v., which is an exponential
r.v. with rate ωi with probability λi/λ.
Chapter 3
Queues with Dynamic Priority
Discipline
In this chapter, we study a queueing system with two-classes of customers served accord-
ing to a dynamic priority rule. In addition to the fact that the priority switches from one
class to another, the other difference with respect to the static non-preemptive queueing
system of Chapter 2 is that both classes of customers are patient and do not renege due
to impatience. Customers are served in order of the priority number t + ui (i = 1, 2),
where t is the arrival time and ui is the pre-assigned urgency index of class i. Since we
assume that u2 ≥ u1, class 1 customers tend to receive priority more frequently, thus, we
refer to this class as the high-priority class. Although the mean waiting time analysis can
be found in the literature (Goldberg, 1977 [18]), deriving the waiting time distributions
in this problem is not trivial. Therefore, we propose approximations in Section 3.1. In
specific, in Section 3.1.1, we develop an approximation for the waiting time distribution
of class 2 (i.e., the low-priority) customers, and in Section 3.1.2 we find bounds for the
variance of the waiting time r.v. of class 1 customers. We test the accuracy of our
approximation in Section 3.2.
28
Chapter 3. Queues with Dynamic Priority Discipline 29
3.1 Approximate Waiting Time Distributions
Consider an M/GI/1 queueing system with two types of customers and the dynamic
priority discipline with parameter u = u2 − u1 in effect. As before, class i customers
arrive at the system according to independent Poisson processes with rate λi. The service
requirement of class i customers is an r.v. with mean 1/µi, distribution function Bi(x),
and Laplace–Stieltjes transform (LST) bi(s). Let ρ be the total traffic intensity of the
system given by ρ = λ1/µ1 + λ2/µ2, which is also the server utilization. To ensure
stability, we assume ρ < 1. We aim to analyze the steady-state waiting time of class 1
(W1) and class 2 (W2) customers with LST’s denoted by w1(s) and w2(s), respectively.
3.1.1 Low-Priority Customers
Let V denote the total workload (submitted to the server by both class 1 and 2 customers)
of the system in steady-state, which is equal to the waiting time of all customers under
the FCFS policy. Consider a busy period for class 1 customers initiated by the workload
V as defined in Goldberg (1977) [18]. Let us denote this busy period by LV , its steady-
state distribution by LV (x) and its LST by lV (s). Goldberg obtained an expression for
the average waiting time of class 2 customers by making the following observation: A
tagged class 2 customer arriving at the system in steady-state has to wait for all the
work currently in the system, V , plus the additional work, X1, brought to the system
by future class 1 customers arriving in the next u time units before the tagged customer
reaches the server, that is,
E[W2] = E[V ] + E[X1]
= E[V ] + (λ1/µ1)
∫ u
0
[1− LV (y)]dy. (3.1)
(See [18] for details of the derivation). Although we can proceed and find the LST of V
and X1, one can see that they are not independent because X1 requires LV (y), which in
Chapter 3. Queues with Dynamic Priority Discipline 30
return depends on V . Thus, finding the distribution of the sum of V and X1 is quite
complicated. We pursue a different approach to estimate the waiting time distribution.
Let us first determine the distribution of V and LV . Under any non-anticipating and
work conserving policy, the LST of V denoted by f(s) is
f(s) = E[e−sV ] =(1− ρ)(λ1β1(s) + λ2β2(s))
1− (λ1β1(s) + λ2β2(s)), (3.2)
where βi(s) is the LST of the complementary service time distribution of class i customers
given by (1− bi(s))/s. Furthermore, observe that LV is the so called delayed busy period
of class 1 customers with the delay being the workload V . The LST of LV is hence given
by (see, e.g., Conway, Maxwell, and Moller [16]):
lV (s) = E[e−sLV ] = f(s+ λ1 − λ1l0(s)), (3.3)
where l0(s) is the LST of the busy period distribution in an M/GI/1 queue with class 1
as the only customer class, and is characterized as the solution to the Kendall functional
equation
l0(s) = b1(s+ λ1 − λ1l0(s)). (3.4)
Note that this provides a possible means of using Goldberg’s formula (Eq. (3.1)) to
calculate the first moment of waiting time via numerical inversion of the LST of the
complementary distribution of LV given by (1− lV (s))/s.
Now consider a tagged class 2 customer arriving at the system in steady state. If
the busy period LV ends in the next u time units, i.e., LV ≤ u, then there are no high-
priority customers left in the system, and the tagged class 2 customer enters service with
its waiting time being equal to LV . On the other hand, if the busy period does not end
in the next u time units, then the tagged class 2 customer, who has now waited for u
time units, gains priority over future class 1 arrivals. Therefore, its waiting time is equal
to the work it faced upon its arrival, V , plus the additional work brought by class 1
customers that arrived in the u time units after its arrival, namely X1(u). Therefore, we
Chapter 3. Queues with Dynamic Priority Discipline 31
can write
w2(s) = E[e−sW2 ] = E[e−sLV 1{LV ≤u}] + E[e−s(V+X1(u)]1{LV >u}], (3.5)
where 1a is the indicator function, and equals 1 if event a is true, and 0 otherwise.
Although we are not able to find an explicit expression for w2(s), we propose a
practical way for estimating the tail probabilities for class 2 customers. Note that for
t ≤ u, independent of the length of the busy period, we can write
P (W2 > t) = P (LV > t) = 1− LV (t), t ≤ u. (3.6)
Given the LST of the busy period in Eq. (3.3), we can numerically invert (1 −
lV (s))/s, which is the LST of the complementary distribution of LV , and obtain the tail
probabilities. An interesting and important observation here is that P (W2 > t) remains
the same for all priority parameters, satisfying u ≥ t since LV does not depend on u. We
will discuss this further in Section 3.2.
For t > u, we propose the following approximation to obtain P (W2 > t). We pre-
viously observed that given LV > u, the waiting time of the tagged class 2 customer is
equal to V +X1(u). Clearly, due to the dependence of V and LV , the distribution of V
changes given that LV > u. However, assuming that the dependence is negligible, i.e.,
E[e−sV |LV > u] ≈ f(s),
and since V and X1(u) are independent, we can write for t > u
w2(s) ≈ E[e−s(V+X1(u))] = E[e−sV ]E[e−sX1(u)]. (3.7)
Let N1(u) be the the number of class 1 arrivals in u time units which is a Poisson ran-
dom variable with rate λ1. Conditioning first on N1(u), and then removing the condition
we have
E[e−sX1(u)|N1(u) = n] =(b1(s)
)n,
E[e−sX1(u)] =∞∑n=0
(b1(s)
)n e−λ1u(λ1u)n
n!
= e−λ1u(1−b1(s)). (3.8)
Chapter 3. Queues with Dynamic Priority Discipline 32
Substituting Eqs. (3.8) and (3.2) in Eq. (3.7), we arrive at our final approximation
for t > u as
w2(s) ≈ f(s)e−λ1u(1−b1(s)). (3.9)
The motivation behind this approximation is that the events V +X1(u) > t and LV ≤ u
are approximately mutually exclusive for t > u. We test the accuracy of our approxima-
tion in Section 3.2.
3.1.2 High-Priority Customers
We now turn our attention to class 1 customers. Goldberg (1977) [18] derived an expres-
sion for the average waiting time of high-priority customers observing that a high-priority
customer arriving at the system has to wait for the current work in system, V , excluding
the work brought into the system by class 2 customers which have arrived in the last u
time units and have not yet started service, namely X2, that is
E[W1] = E[V ]− E[X2]
= E[V ]− (λ2/µ2)
∫ u
0
[1− LV (y)]dy. (3.10)
Again having the LST of LV given by Eq. (3.3), one can use numerical Laplace transform
inversion to evaluate the integral above and find the expected waiting time of high-priority
customers.
We first derive the LST of X2. Let N2(u) denote the number of class 2 customers
who have arrived during the last u time units and are still waiting in the queue. We have
P{N2(u) = n} =∞∑i=n
P{N2(u) = n|Y (u) = i}e−(λ2u)(λ2u)i
i!, (3.11)
where Y (u) is the total number of class 2 arrivals in u time units and follows a Poisson
process with rate λ2. Now define q as the probability that an arbitrary class 2 customer
arriving in the past u time units is still in system. Conditioning on the time of its arrival
Chapter 3. Queues with Dynamic Priority Discipline 33
which is uniform on (0, u), using Eq. (3.6) we can write
q =1
u
∫ u
0
[1− LV (y)]dy.
Therefore,
P{N2(u) = n|Y (u) = i} =
(i
n
)qn(1− q)i−n. (3.12)
Now returning to Eq. (3.11) and substituting Eq. (3.12) in it, we have
P{N2(u) = n} =∞∑i=n
P{N2(u) = n|Y (u) = i}e−(λ2u)(λ2u)i
i!
=∞∑i=n
(i
n
)qn(1− q)i−n e
−(λ2u)(λ2u)i
i!
=e−λ2qu(λ2qu)n
n!,
which is a Poisson random variable with mean λ2q. Now we can proceed to find the
LST of X2. Conditioning on the value of N2(u) we have
E(e−sX2 |N2(u) = n) =(b2(s)
)nE(e−sX2) =
∞∑n=0
(b2(s)
)n e−λ2qu(λ2qu)n
n!
= e−λ2qu(1−b2(s)).
The first moment of X2 is given by
E(X2) = − lims→0
d
dsE(e−sX2) = (λ2/µ2)qu, (3.13)
which coincide with the result obtained by Goldberg (see Eq. (3.10)). The second
moment of X2(u) is given by
E(X22 ) = lim
s→0
d2
ds2E(e−sX2) = λ2quE(S2
2) +
(λ2qu
µ2
)2
, (3.14)
where E(S22) is the second moment of the service time of class 2 customers.
Chapter 3. Queues with Dynamic Priority Discipline 34
Having the second moment of X2, we can find bounds on the variance of the waiting
time of class 2 customers. Denoting the variance of an r.v. X by Var(X), noting that
W2 = V −X2
Var(W2) = Var(V ) + Var(X2)− 2Cov(V,X2),
where Cov(V,X2) is the covariance between the two r.v.s. Since V and X2 are clearly
positively correlated, i.e., Cov(V,X2) > 0, we can write,
Var(W2) < Var(V ) + Var(X2), (3.15)
where Var(X2) can be obtained with the first and second moments of X2 given by Eqs.
(3.13) and (3.14) as
Var(X2) = E(X22 )− E(X2)
2,
= λ2quE(S22).
Furthermore, from the Cauchy–Schwarz inequality
Cov(V,X2) ≤ (Var(V )Var(X2))1/2 ,
with which we can write
Var(W2) ≥ Var(V ) + var(X2)− 2 (Var(V )Var(X2))1/2 . (3.16)
We close this section by noting that the above results can be easily applied to a multi-
server system with identical exponential servers. Consider c servers working with rate µ.
The system is stable if (λ/cµ) < 1, where λ = λ1 + λ2. The LST of the total workload
distribution is that of the waiting time of customers in an FCFS system given by
f(s) =λPc−1
s+ (cµ− λ),
where Pc−1 is the steady-state probability of having c− 1 busy servers and equals
Pc−1 =
(λ
µ
)c−1P0
(c− 1)!,
Chapter 3. Queues with Dynamic Priority Discipline 35
where
P0 =
(c−1∑n=0
(λ
µ
)n1
n!+
(λ
µ
)ccµ
c!(cµ− λ)
)−1.
Also in the case of exponentially distributed service times, the LST of the busy period of
class 1 customers, required in Eq. (3.4) to be substituted for l0(s), is available in closed
form:
lc(s) =(λ1 + cµ+ s)− ((λ1 + cµ+ s)2 − 4cµλ1)
1/2
2λ1.
3.2 Numerical Examples
In this section, we present numerical results to first confirm the accuracy of our approx-
imation for tail probabilities of class 2 customers, and then to study how the waiting
time distribution of each class is affected as the priority parameter changes. We should
note that the numerical inversion of LST’s are carried out using the EULER method
of [1]. Also in all simulation experiments, we chose the simulation runs long enough to
guarantee that the half-width of the 95% confidence intervals is less than 1% of the point
estimates.
We consider a multi-server system with c = 20 servers and exponentially distributed
service times with rate µ = 1. Arrival rates of 1 and class 2 customers are λ1 = 10
and λ2 = 8 respectively. For t ≤ u, the results are exact so we test the accuracy of our
approximation by comparing it to results obtained from simulation for t > u in Table
3.1. The approximate values are obtained by numerically inverting the LST in Eq. (3.9).
As expected we can see that the accuracy of the approximation increases in t, but even
for values of t close to u the approximated value remains fairly accurate.
Table 3.2 lists the expected value and the variance of waiting times for different
values of u. The expected values are obtained exactly via numerical Laplace transform
inversion, whereas the variances are obtained via simulation. One can observe that by
Chapter 3. Queues with Dynamic Priority Discipline 36
u t P (W2 > t)Simulation Approximation
0.2 0.3 0.365 0.3720.4 0.305 0.3080.5 0.251 0.2530.7 0.168 0.1700.9 0.112 0.1141.1 0.075 0.0761.3 0.050 0.0511.5 0.034 0.0341.7 0.023 0.023
1 1.1 0.173 0.1831.2 0.146 0.1511.5 0.082 0.0831.8 0.045 0.0462.1 0.025 0.0252.5 0.011 0.0113.0 0.004 0.004
1.5 1.6 0.110 0.1181.9 0.064 0.0652.2 0.035 0.0362.5 0.019 0.0203.0 0.007 0.0073.5 0.003 0.003
2 2.1 0.070 0.0762.5 0.034 0.0343.0 0.012 0.0133.5 0.005 0.0054.0 0.002 0.002
Table 3.1: Comparing simulated and approximated tail probabilities for low-prioritycustomers
Chapter 3. Queues with Dynamic Priority Discipline 37
u E[W1] Var[W1] E[W2] Var[W2]0 0.275 0.200 0.275 0.200
0.2 0.237 0.176 0.323 0.2860.4 0.207 0.154 0.361 0.3700.6 0.181 0.134 0.393 0.4490.8 0.161 0.115 0.419 0.5251.0 0.143 0.099 0.441 0.5961.2 0.129 0.086 0.459 0.6621.4 0.117 0.074 0.474 0.7211.6 0.107 0.064 0.486 0.7761.8 0.098 0.054 0.497 0.8272.0 0.091 0.048 0.506 0.8722.5 0.078 0.034 0.522 0.9653.0 0.070 0.025 0.532 1.0353.5 0.065 0.019 0.539 1.0874.0 0.061 0.015 0.543 1.1254.5 0.059 0.013 0.546 1.1525.0 0.058 0.011 0.548 1.1715.5 0.057 0.010 0.549 1.185∞ 0.055 0.008 0.551 1.215
Table 3.2: Expected value and variance of waiting time for different values of u
increasing the priority parameter u, both the expected waiting time of class 1 and its
variance decrease. The expected waiting time of class 2, on the other hand, increases
along with its variance. Therefore, for high-priority customers the maximum variance is
obtained in the case where u = 0 or FCFS while the lowest variance is achieved in the
case of u = ∞ or static priority. This, of course, provides a tighter bound than the one
than we analytically obtained in the previous section.
In Figure 3.1 and Figure 3.2, we use simulation to plot the waiting time distribution
of class 1 and class 2 customers in a system with c = 8 servers and λ1 = 3.5, λ2 = 2.5, and
µ = 1. As we observed analytically in the previous section, the probability P (W2 < t)
does not depend on u for t ≤ u. Therefore, increasing the priority of class 1 customers
only affects the waiting time distribution of class 2 customers for t > u. On the contrary,
changing the priority parameter affects the waiting time distribution of high-priority
customers for all values of t. This is an important observation in terms of service levels
Chapter 3. Queues with Dynamic Priority Discipline 38
in service systems and telecommunication networks. In such systems, the service levels
are usually defined in terms of the proportion of customers served under a specific time,
e.g., P (W1 < t1) ≥ α1, and P (W2 < t2) ≥ α2. Therefore, for example, if the service
level of class 2 customers is met with a priority parameter u ≥ t2, then one can increase
the priority of class 1 customers (by increasing u) and hence provide a better service to
them without violating the service level of class 2 customers or requiring further capacity.
Nevertheless, this would result in longer waiting times for those customers who will have
to wait more than t2 time units. Thus, to avoid penalizing class 2 customers too much, one
might want to consider another constraint in a higher percentile, i.e., P (W2 < t3) ≥ α3
with t3 > u, for which we obtained an accurate estimate.
Chapter 3. Queues with Dynamic Priority Discipline 39
+
+
+
+
+
++
+ + + + + + +
*
*
*
**
**
** * * * * *
^
^
^
^^
^^
^ ^ ^ ^ ^ ^ ^
0 0.6 1.2 1.8 2.4 3 3.6
0.65
0.75
0.85
0.95
o+*^
u012∞
Time
Probability
Figure 3.1: Waiting time distribution of low-priority customers for different values of u
Chapter 3. Queues with Dynamic Priority Discipline 40
+
+
++
+ + + + + + + + + +
*
*
** * * * * * * * * * *
^
^
^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
0 0.6 1.2 1.8 2.4 3 3.6
0.65
0.75
0.85
0.95
o+*^
u012∞
Time
Probability
Figure 3.2: Waiting time distribution of high-priority customers for different values of u
Chapter 4
Conclusion
In this thesis, we analyze delay systems that are inspired from health-care systems,
customer contact centers, and communication networks.
We present the exact analysis of three models in all of which multiple classes of im-
patient customers are served. The first system involves a single server attending to two
classes of impatient customers in accordance with the non-preemptive priority policy.
Our contribution is incorporating general and class-specific service time distributions in
this setting. The second system has identical parallel servers receiving classes of impa-
tient customers that require the same type of service. Although we assume the same
exponential service time distribution for all customers, we permit different classes to ex-
hibit different times-to-abandon characteristics by assuming class-specific deterministic
patience limits or class-specific reneging rates when patience times follow exponential
distributions. The third system is operating under the FCFS rule. Although, we intro-
duce general and class-specific service time distributions for multiple classes of customers,
we can design a tractable solution only when all customers have the same exponentially
distributed patience limits. In all models, we employ the level-crossing technique to ex-
press the virtual waiting time density functions and obtain their LT’s. We relate these
transforms to the classical system performance measures.
41
Chapter 4. Conclusion 42
We also study a two class queueing system operating under a dynamic priority dis-
cipline which is often used in practice to provide different levels of service to costumers
with different importance. We propose an accurate approximation for the tail probability
of low-priority customers. Unfortunately, we are not able to obtain the tail probability
of high-priority customers, however, using analytical and numerical results we obtain
bounds on the variance of the waiting time of such customers. Our analyses lead us to
obtain some insights in design of service levels, and on the effect of priority assignment
in service systems.
Bibliography
[1] Abate, J. and W. Whitt. 1995. “Numerical inversion of Laplace transforms of prob-
ability distributions”, ORSA Journal of Computing, Vol. 7, 36–43.
[2] Ahghari, M. and B. Balcıoglu. 2009. “Benefits of cross-training in a skill-based rout-
ing contact center with priority queues and impatient customers”, IIE Transaction,
Vol. 41, 524–536.
[3] Baccelli, F. and G. Hebuterne. 1981. “On queues with impatient customers”, Per-
formance ’81, ed. F.J. Kylstra (North Holland, Amsterdam 1981), Vol. 32, 159–179.
[4] Baccelli, F., P. Boyer, and G. Hebuterne. 1984. “Single-server queues with impatient
customers”, Advances in Applied Probability, Vol. 16, 887–905.
[5] Boots, N. K. and H. Tijms. 1999. “A multiserver queueing system with impatient
customers”, Management Science, Vol. 45, No. 3, 444-448.
[6] Boxma, O., D. Perry, W. Stadje, and S. Zacks. 2010. “The busy period of an M/G/1
queue with customer impatience”, Journal of Applied Probability, Vol. 47, 130–145.
[7] Brandt, A. and M. Brandt. 1999. “On a two-queue priority system with impatience
and its applications to a call center”, Methodology and Computing in Applied Prob-
ability, Vol. 1, No. 2, 191–210.
43
Bibliography 44
[8] Brandt, A. and M. Brandt. 2004. “On the two-class M/M/1 system under preemp-
tive resume and impatience of the prioritized customers”, Queueing Systems, Vol. 47,
147–168.
[9] Brill, P. H. 1975. System Point Theory in Exponential Queues, Ph.D. Thesis, De-
partment of Industrial Engineering, University of Toronto.
[10] Brill, P. H. and M. J. M. Posner. 1977. “Level crossings in point processes applied
to queues: Single-server case, Operations Research, Vol. 25, No. 4, 662–674.
[11] Brill, P. H. 1979. “An embedded level crossing technique for dams and queues,
Journal of Applied Probability, Vol. 16, No. 1, 174–186.
[12] Brill, P. H. 2008. Level Crossing Methods in Stochastic Models. Springer.
[13] Choi, B. D., B. Kim, and J. Chung. 2001. “M/M/1 queue with impatient customers
of higher priority,” Queueing Systems, Vol. 38, 49–66.
[14] Cohen, J. W. 1977. “On up- and downcrossings”, Journal of Applied Probability,
Vol. 4, No. 2, 405-410.
[15] Cohen, J. W. and M. Rubinovitch. 1977. “On level crossings and cycles in dam
processes”, Mathematics of Operations Research, Vol. 2, No. 4, 297-310.
[16] Conway, R. W., W. L. Maxwell, and L. W. Moller. 1967. Theory of Scheduling.
Addison-Wesley, Reading Mass.
[17] Daley, D. J. and L. D. Servi. 1998. “Idle and busy periods in stable M/M/k queues”,
Journal of Applied Probability, Vol. 35, 950-962.
[18] Goldberg, H. M. 1977. “Analysis of the earliest due date scheduling rule in queueing
systems”, Mathematics of Operations Research, Vol. 2, No. 2, 145–154.
Bibliography 45
[19] Goldberg, H. M. 1980. “Jackson’s conjecture on earliest due date scheduling”, Math-
ematics of Operations Research, Vol. 5, No. 3, 460–466.
[20] Ho, T. and Y. S., Zheng. 2004. “Setting customer expectations in service delivery:
An integerated marketing-operations prespective”, Management Science, Vol. 50,
479–488.
[21] Holtzman, J. M. 1971. “Bounds for a dynamic priority queue”, Operations Research,
Vol. 19, 461–468.
[22] Iravani, F. and B. Balcıoglu. 2008a. “Approximations for the M/GI/N + GI type
call center”, Queueing Systems, Vol. 58, 137–153.
[23] Iravani, F. and B. Balcıoglu. 2008b. “On priority queues with impatient customers”,
Queueing Systems, Vol. 58, 239–260.
[24] Jackson, J. R. 1960.“Some problems in queueing with dynamic priorities”, Naval
Research Logistics Quarterly, Vol. 7, 235–249.
[25] Jackson, J. R. 1961.“Queues with dynamic priorities”, Management Science, Vol. 8,
18–34.
[26] Jagerman, D. L. 1979. “Analysis of a dynamic priority queueing model”, Unpublished
work.
[27] Jagerman, D. L. 1982. “An inversion technique for the Laplace transform”, Bell
System Technical Journal, Vol. 61, No. 8, 1995–2002.
[28] Jagerman, D. L. 2000. Difference Equations with Applications to Queues, Marcel
Dekker, Inc., New York.
[29] Jouini, O. and Y. Dallery. 2007. “Stationary delays for a two-class priority queue
with impatient customers”, Proceedings of the 2nd International Conference on Per-
formance Evaluation Methodologies and Tools, Nantes, France.
Bibliography 46
[30] Kleinrock, L. 1975. Queueing Systems Volume I: Theory, John Wiley & Sons, New
York.
[31] Koole, G. M., B. F. Nielsen, and T. B. Nielsen. 2009. “Waiting time dependent
multi-server priority queues”, Working paper.
[32] Liu, L. and V. G. Kulkarni. 2008a. “Busy period analysis for M/PH/1 queues with
workload dependent balking”, Queuing Systems, Vol. 59, No. 1, 37–51.
[33] Liu, L. and V. G. Kulkarni. 2008b. “Balking and reneging in M/G/s system ex-
act analysis and approximations”, Probability in the Engineering and Informational
Sciences Vol. 22, 355–371.
[34] Milner, J. M. and T. L. Olsen. 2008. “Service level agreements in call centers: prils
and prescriptions”, Management Science, Vol. 54, 238–252.
[35] Palm, C. 1953. “Methods of judging the annoyance caused by congestion”, Tele
Vol. 2, 1–20.
[36] Perry, D. and S. Asmussen. 1995. “Rejection rules in the M/G/1 queue”, Queueing
Systems, Vol. 19, 105–130.
[37] Prabhu, N. U., P. K. Reeser. 1985. “A random family of queueing systems with a
dynamic priority discipline”, Mathematics of Operations Research, Vol. 10, No. 1,
24–32.
[38] Rao, S. S. 1967. “Queueing with balking and reneging in M/G/1 systems”, Metrika,
Vol. 12,173–188.
[39] Shantikumar, J. G. 1981. ”On level crossing analysis of queues”, The Australian
Journal of Statistics, Vol. 23, 337–342.
[40] Saltzman, S. M. and V. Mehrotra. 2001. “A call center uses simulation to drive
strategic change”, Interfaces, Vol. 31, 87–101.
Bibliography 47
[41] Stanford, R. E. 1979. “Reneging phenomenon in single channel queues,” Mathematics
of Operations Research, Vol. 4, No. 2, 162–178.
[42] Stolletz, R. and S. Helber. 2004. “Performance analysis of an inbound call center
with skills-based routing”, OR Spectrum, Vol. 26, 331–352.
[43] Takacs, L. 1974. “A single server queue with limited virtual waiting time”, Journal
of Applied Probability, Vol. 11, 612–617.
[44] Wang. Q. 2004. “Modeling and analysis of high risk patient queues”, European Jour-
nal of Operational Research, Vol. 155, 502–515.
[45] Zeltyn, S. and A. Mandelbaum. 2005. “Call centers with impatient customers: many-
server asymptotics of the M/M/n+G queue”, Queueing Systems, Vol. 51, No. (3/4),
361–402.