chapter 2 value function approximation in complex queueing...

30
Chapter 2 Value Function Approximation in Complex Queueing Systems Sandjai Bhulai Abstract The application of Markov decision theory to the control of queueing systems often leads to models with enormous state spaces. Hence, direct computa- tion of optimal policies with standard techniques and algorithms is almost impos- sible for most practical models. A convenient technique to overcome this issue is to use one-step policy improvement. For this technique to work, one needs to have a good understanding of the queueing system under study, and its (approximate) value function under policies that decompose the system into less complicated sys- tems. This warrants the research on the relative value functions of simple queueing models, that can be used in the control of more complex queueing systems. In this chapter we provide a survey of value functions of basic queueing models and show how they can be applied to the control of more complex queueing systems. Key words: One-step policy improvement, Relative value function, Complex queueing systems, Approximate dynamic programming 2.1 Introduction In its simplest form, a queueing system can be described by customers arriving for service, waiting for service if it cannot be provided immediately, and leaving the system after being served. The term customer is used in a general sense here, and does not necessarily refer to human customers. The performance of the system is usually measured on the basis of throughput rates or the average time customers S. Bhulai () Faculty of Sciences, Vrije Universiteit Amsterdam, De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands e-mail: [email protected] © Springer International Publishing AG 2017 R.J. Boucherie, N.M. van Dijk (eds.), Markov Decision Processes in Practice, International Series in Operations Research & Management Science 248, DOI 10.1007/978-3-319-47766-4 2 33

Upload: others

Post on 15-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

Chapter 2Value Function Approximation in ComplexQueueing Systems

Sandjai Bhulai

Abstract The application of Markov decision theory to the control of queueingsystems often leads to models with enormous state spaces. Hence, direct computa-tion of optimal policies with standard techniques and algorithms is almost impos-sible for most practical models. A convenient technique to overcome this issue isto use one-step policy improvement. For this technique to work, one needs to havea good understanding of the queueing system under study, and its (approximate)value function under policies that decompose the system into less complicated sys-tems. This warrants the research on the relative value functions of simple queueingmodels, that can be used in the control of more complex queueing systems. In thischapter we provide a survey of value functions of basic queueing models and showhow they can be applied to the control of more complex queueing systems.

Key words: One-step policy improvement, Relative value function, Complexqueueing systems, Approximate dynamic programming

2.1 Introduction

In its simplest form, a queueing system can be described by customers arriving forservice, waiting for service if it cannot be provided immediately, and leaving thesystem after being served. The term customer is used in a general sense here, anddoes not necessarily refer to human customers. The performance of the system isusually measured on the basis of throughput rates or the average time customers

S. Bhulai (�)Faculty of Sciences, Vrije Universiteit Amsterdam, De Boelelaan 1081a,1081 HV Amsterdam, The Netherlandse-mail: [email protected]

© Springer International Publishing AG 2017R.J. Boucherie, N.M. van Dijk (eds.), Markov Decision Processes in Practice,International Series in Operations Research & Management Science 248,DOI 10.1007/978-3-319-47766-4 2

33

Page 2: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

34 S. Bhulai

remain in the system. Hence, the average cost criterion is usually the preferred cri-terion in queueing systems (see, e.g., [18, 23]).

It is hardly necessary to emphasize the applicability of theory on queueing sys-tems in practice, since many actual queueing situations occur in daily life. Duringthe design and operation of such systems, many decisions have to be made; thinkof the availability of resources at any moment in time, or routing decisions. Thiseffect is amplified by the advances in the field of data and information processing,and the growth of communication networks (see, e.g., [1]). Hence, there is a needfor optimal control of queueing systems.

In general, the control of queueing systems does not fit into the framework ofdiscrete time Markov decision problems, in which the time between state transitionsis fixed. When the time spent in a particular state follows an arbitrary probabilitydistribution, it is natural to allow the decision maker to take actions at any point intime. This gives rise to decision models in which the system evolution is describedcontinuously in time, and in which the cost accumulates continuously in time aswell. If the cost function is independent of the time spent in a state, such that itonly depends on the state and action chosen at the last decision epoch, then wecan restrict our attention to models in which the decision epochs coincide with thetransition times. Moreover, if the time spent between decision epochs follows anexponential distribution, then the queueing system under study can be reformulatedas a discrete-time Markov decision problem. This discretization technique, knownas uniformization, is due to [12], and was later formalized by Serfozo [21].

After uniformization, Markov decision theory can, in principle, be applied tothe control of queueing systems, and usually gives rise to infinite state spaces withunbounded cost functions. In this setting, value iteration and policy iteration algo-rithms can be used to derive optimal policies. However, these algorithms requirememory storage of a real-valued vector of at least the size of the state space. Fordenumerably infinite state spaces this is not feasible, and one has to rely on appro-priate techniques to bound the state space (see, e.g., [8]). But even then, memorymay be exhausted by the size of the resulting state space; this holds even more formulti-dimensional models. This phenomenon, known as the curse of dimensional-ity (see [4]), gives rise to high-dimensional systems and calls for approximationmethods to the optimal policies.

A first approximation method can be distilled from the policy iteration algorithm.Suppose that one fixes a policy which, while perhaps not optimal, is not totally un-reasonable either. This policy is evaluated through analytically solving the Poissonequations induced by the policy in order to obtain the long-run expected averagecost and the average cost value function under this policy. Next, using these expres-sions the policy can be improved by doing one policy improvement step. We knowthat this policy is better, i.e., has a smaller or equal (if already optimal) average cost.It must be expected that the improved policy is sufficiently complicated to renderanother policy evaluation step impossible.

The idea of applying one-step policy improvement goes back to [15]. It has beensuccessfully applied by Ott and Krishnan [17] for deriving state-dependent rout-ing schemes for high-dimensional circuit-switched telephone networks. The initial

Page 3: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.2 Difference Calculus for Markovian Birth-Death Systems 35

policy in their system was chosen such that the communication lines were indepen-dent. In that case, the value function of the system is the sum of the value functionsfor the independent lines, which are easier to derive. Since then, this idea has beenused in many papers, see, e.g., [10, 19, 20, 25]. The initial policy in these paperswas chosen such that the queues were independent, reducing the analysis to singlequeues. For this purpose, [5, 6] presented a unified approach to obtain the valuefunction of the various queueing systems for various cost structures.

In this chapter, we review the theory and applications of the relative value func-tions of the most fundamental queueing systems: the M/Cox(r)/1 single-serverqueue, the M/M/s multi-server queue, the M/M/s/s blocking system, and a prior-ity queueing system. Each of these systems has its own distinguishing character-istics. The M/Cox(r)/1 queue is a very general single-server queue that allows forapproximations to single-server systems with non-exponential service distributions.Both the M/M/s and the M/M/s/s multi-server queues typically occur in many ser-vice systems such as telecommunication systems, call centers, cash registers, etc.The priority queueing system is an intriguing example in which the queues are notindependent, and this is reflected as well in the relative value function.

The different characteristics of the queueing systems that we study will be illus-trated by three examples of controlled queueing systems. In the first example, weconsider the problem of routing customers to parallel single-server queues, whereeach server has its own general service time distribution. We demonstrate how theM/Cox(r)/1 queue can approximate the single-server queues after which one-stepof policy improvement leads to nearly optimal policies. In the second example, westudy a skill-based routing problem in a call center. This is a highly complex prob-lem in which agent groups in the system are highly dependent on each others states.We illustrate how the value function of the multi-server queue can be adjusted totake these dependencies into account. In the last example, we focus on a controlledpolling system. Here the value function of the priority queueing system can be usedto take actions that directly consider the dependencies between the states of thedifferent queues.

The remainder of the chapter is structured as follows. In Sect. 2.2 we developdifference calculus that can be used to obtain the relative value function of mostone-dimensional queueing systems. We proceed with the survey of the relative valuefunctions of the fundamental queueing systems in Sect. 2.3 and list all relevant spe-cial cases as well. We then illustrate the use of these value functions through threeexamples in Sect. 2.4 on routing to parallel queues, Sect. 2.5 on skill-based routingin call centers, and Sect. 2.6 on a controlled polling model, respectively.

2.2 Difference Calculus for Markovian Birth-Death Systems

In this section we will study the relative value function for a Markovian birth-deathqueueing system. We shall derive a closed-form expression for the long-run ex-pected average costs and the relative value function by solving the Poisson equa-

Page 4: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

36 S. Bhulai

tions. The Poisson equations give rise to linear difference equations. Due to thenature of the Poisson equations, the difference equations have a lot of structure whenthe state description is one-dimensional. Therefore, it is worthwhile to study differ-ence equations prior to the analysis of the birth-death queueing system. We shallrestrict attention to second-order difference equations, since this is general enoughto model birth-death queueing processes.

Let V (x) be an arbitrary function defined on N0. Define the backward differenceoperator Δ as

ΔV (x) =V (x)−V (x−1),

for x ∈N. Note that the value of V (x) can be expressed as

V (x) =V (k−1)+x

∑i=k

ΔV (i), (2.1)

for every k ∈N such that k ≤ x. This observation is key to solving first-order dif-ference equations, and second-order difference equations when one solution to thehomogeneous equation is known. We first state the result for first-order differenceequations. The result can be found in Chap. 2 of Mickens [14], but is stated lessprecise there.

Lemma 2.1. Let f (x) be a function defined on N satisfying the relation

f (x+1)− γ(x) f (x) = r(x), (2.2)

with γ and r arbitrary functions defined on N such that γ(x) �= 0 for all x ∈N. Withthe convention that an empty product equals one, f (x) is given by

f (x) = f (1)Q(x)+Q(x)x−1

∑i=1

r(i)Q(i+1)

, with Q(x) =x−1

∏i=1

γ(i).

Proof. Let the function Q(x) be as stated in the theorem. By assumption we havethat Q(x) �= 0 for all x ∈N. Dividing Eq. (2.2) by Q(x+1) yields

Δ[

f (x+1)Q(x+1)

]=

f (x+1)Q(x+1)

− f (x)Q(x)

=r(x)

Q(x+1).

From Expression (2.1) with k = 2 it follows that

f (x) = Q(x)f (1)Q(1)

+Q(x)x

∑i=2

r(i−1)Q(i)

= f (1)Q(x)+Q(x)x−1

∑i=1

r(i)Q(i+1)

.

Note that the condition γ(x) �= 0 for all x ∈ N is not very restrictive in practice.If there is a state y ∈N for which γ(y) = 0, then the analysis can be reduced to twoother first-order difference equations, namely the part for states x < y, and the partfor states x > y for which γ(y) = 0 is the boundary condition.

Page 5: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.2 Difference Calculus for Markovian Birth-Death Systems 37

The solution to first-order difference equations plays an important part in solvingsecond-order difference equations when one solution to the homogeneous equationis known. In that case, the second-order difference equation can be reduced to afirst-order difference equation expressed in the homogeneous solution. Applicationof Lemma 2.1 then gives the solution to the second-order difference equation. Thefollowing theorem summarizes this result.

Theorem 2.1. Let V (x) be a function defined on N0 satisfying the relation

V (x+1)+α(x)V (x)+β (x)V (x−1) = q(x), (2.3)

with α , β , and q arbitrary functions defined on N such that β (x) �= 0 for all x ∈N.Suppose that one homogeneous solution is known, say V h

1 (x), such that V h1 (x) �= 0

for all x ∈N0. Then, with the convention that an empty product equals one, V (x) isgiven by

V (x)

V h1 (x)

=V (0)

V h1 (0)

+

[Δ[

V (1)

V h1 (1)

]] x

∑i=1

Q(i)+x

∑i=1

Q(i)i−1

∑j=1

q( j)

V h1 ( j+1)Q( j+1)

,

where Q(x) =∏x−1i=1 β (i)V h

1 (i−1)/V h1 (i+1).

Proof. Note that V h1 always exists, since a second-order difference equation has ex-

actly two linearly independent homogeneous solutions (see Theorem 3.11 of Mick-ens [14]). The known homogeneous solution V h

1 (x) satisfies

V h1 (x+1)+α(x)V h

1 (x)+β (x)V h1 (x−1) = 0. (2.4)

Set V (x) = V h1 (x)u(x) for an arbitrary function u defined on N0. Substitution into

Eq. (2.3) yields

V h1 (x+1)u(x+1)+α(x)V h

1 (x)u(x)+β (x)V h1 (x−1)u(x−1) = q(x).

By subtracting Eq. (2.4) u(x) times from this expression, and rearranging the terms,we derive

Δu(x+1)− γ(x)Δu(x) = r(x),

with

γ(x) =V h

1 (x−1)

V h1 (x+1)

β (x), and r(x) =q(x)

V h1 (x+1)

.

From Lemma 2.1 it follows that

Δu(x) = [Δu(1)]Q(x)+Q(x)x−1

∑j=1

r( j)Q( j+1)

, with Q(x) =x−1

∏i=1

γ(i).

From Expression (2.1) it finally follows that

Page 6: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

38 S. Bhulai

u(x) = u(0)+ [Δu(1)]x

∑i=1

Q(i)+x

∑i=1

Q(i)i−1

∑j=1

r( j)Q( j+1)

.

Since V (x) =V h1 (x)u(x) it follows that u(x) =V (x)/V h

1 (x) for x = 1,2.

From Theorem 3.11 of Mickens [14] it follows that a second-order difference equa-tion has exactly two homogeneous solutions that are also linearly independent. InTheorem 2.1 it is assumed that one homogeneous solution V h

1 is known. From thesame theorem it follows that the second homogeneous solution is determined byV h

2 (x) =V h1 (x)∑

xi=1 Q(i). This can be easily checked as follows.

V h2 (x+1)+α(x)V h

2 (x)+β (x)V h2 (x−1) =

V h1 (x+1)

x+1

∑i=1

Q(i)+α(x)V h1 (x)

x

∑i=1

Q(i)+β (x)V h1 (x−1)

x−1

∑i=1

Q(i) =

x

∑i=1

Q(i)[V h

1 (x+1)+α(x)V h1 (x)+β (x)V h

1 (x−1)]+

V h1 (x+1)Q(x+1)−β (x)V h

1 (x−1)Q(x) = 0.

The last equality follows from the fact that

Q(x+1) =V h

1 (x−1)

V h1 (x+1)

β (x)Q(x) =V h

1 (0)V h1 (1)

V h1 (x)V h

1 (x+1)

x

∏i=1

β (i), x ∈N.

Note that the homogeneous solutions V h1 and V h

2 are also linearly independent, sincetheir Casorati determinant C(x)=V h

1 (x)V h1 (x+1)Q(x+1) is non-zero for all x∈N0

(see Sects. 3.2 and 3.3 of Mickens [14]).

With the use of Theorem 2.1 as a tool, we are ready to study birth-death queueingsystems. The name birth-death stems from the fact that arrivals (birth) and depar-tures (death) of customers occur only in sizes of one, i.e., batch arrivals and batchservices are not allowed. Let state x ∈ X =N0 denote the number of customers inthe system. When the system is in state x, customers arrive according to a Poissonprocess with rate λ (x). At the same time, customers receive service with an expo-nentially distributed duration at rate μ(x), such that μ(0) = 0. Moreover, the systemis subject to costs c(x) in state x, where c(x) is a polynomial function of x.

For stability of the system, we assume that

0 < liminfx→∞

λ (x)μ(x)

≤ limsupx→∞

λ (x)μ(x)

< 1.

Moreover, we assume that the transition rates satisfy

0 < infx∈N0

(λ (x)+μ(x)

)≤ sup

x∈N0

(λ (x)+μ(x)

)< ∞.

Page 7: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.2 Difference Calculus for Markovian Birth-Death Systems 39

Without loss of generality we can assume that supx∈N0

(λ (x) + μ(x)

)< 1. This

can always be obtained after a suitable renormalization without changing the long-run system behavior. After uniformization, the resulting birth-death process has thefollowing transition rate matrix.

P0,0 = 1−λ (0), P0,1 = λ (0),Px,x−1 = μ(x), Px,x = 1−λ (x)−μ(x), Px,x+1 = λ (x), x = 1,2, . . . .

Inherent to the model is that the Markov chain has a unichain structure. Hence, weknow that the long-run expected average cost g is constant. Furthermore, the valuefunction V is unique up to a constant. As a result we can use this degree of freedomto set V (0) = 0. Then, the Poisson equations for this system are given by

g+(λ (x)+μ(x)

)V (x) = λ (x)V (x+1)+μ(x)V

([x−1]+

)+ c(x), (2.5)

for x ∈N0, where [x]+ = max{0,x}. When the state space X is not finite, as is thecase in our model, it is known that there are many pairs of the average cost g and thecorresponding value function V that satisfy the Poisson equations (see, e.g., [7]).There is only one pair that is the correct solution, however, which we refer to asthe unique solution. Finding this pair involves constructing a weighted norm suchthat the Markov chain is geometrically recurrent with respect to that norm. Next,this weighted norm poses extra conditions on the solution to the Poisson equationssuch that the unique solution to the Poisson equations can be obtained. Solving thePoisson equations therefore requires two steps; first one has to find an expressionthat satisfies the Poisson equations (existence), then one has to show that it is theunique solution (uniqueness).

In order to show the existence of solutions to the Poisson equations, we use therelation with the difference calculus by rewriting the Poisson equations in the formof Eq. (2.3), with

α(x) =−λ (x)+μ(x)λ (x)

, β (x) =μ(x)λ (x)

, and q(x) =g− c(x)λ (x)

.

Observe that β (x) �= 0 for x ∈N due to the stability assumption. Furthermore, notethat for any set of Poisson equations, the constant function is always a solution tothe homogeneous equations. This follows directly from the fact that P is a transitionprobability matrix. Hence, by applying Theorem 2.1 with V h

1 (x) = 1 for x ∈N0, itfollows that the solution to Eq. (2.5) is given by

V (x) =g

λ (0)

x

∑i=1

Q(i)+x

∑i=1

Q(i)i−1

∑j=1

q( j)Q( j+1)

, with Q(x) =x−1

∏i=1

μ(i)λ (i)

.

We know that this expression is not the unique solution to the Poisson equations(see, e.g., [22]). Hence, we need to construct a weighted norm w such that theMarkov chain is w-geometrically recurrent with respect to a finite set M ⊂ N0 to

Page 8: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

40 S. Bhulai

show uniqueness (see Chap. 2 of Spieksma [22]), i.e., there should be an ε > 0 suchthat ‖MP‖w ≤ 1− ε , where

MPi j =

{Pi j, j /∈M,

0, j ∈M,

and

‖A‖w = supi∈X

1w(i) ∑j∈X

|Ai j|w( j).

Due to stability of the Markov chain there exists a constant K ∈ N0 such thatλ (x)/μ(x) < 1 for all x > K. Let M = {0, . . . ,K}, and assume that w(x) = zx forsome z > 1. Now consider

∑y/∈M

Pxy w(y)

w(x)=

⎧⎪⎨

⎪⎩

λ (K)z, x = K,

λ (K +1)z+(1−λ (K +1)−μ(K +1)

), x = K +1,

λ (x)z+(1−λ (x)−μ(x)

)+ μ(x)

z , x > K +1.

We need to choose z such that all expressions are strictly less than 1. The firstexpression immediately gives z < 1/λ (K). The second expression gives that z <1+μ(K+1)/λ (K+1). Solving the third expression shows that 1 < z < μ(x)/λ (x)for x > K + 1. Define z∗ = min{1/λ (K), infx∈N\M μ(x)/λ (x)}, and note that thechoice of M ensures us that z∗ > 1. Then, the three expressions are strictly less than1 for all z∈ (1,z∗). Thus, we have shown that for w(x) = zx with 1< z< z∗, there ex-ists an ε > 0 such that ‖MP‖w ≤ 1−ε . Hence, the Markov chain is w-geometricallyrecurrent with respect to M.

Note that c is bounded with respect to the supremum norm weighted by w, sincec(x) is a polynomial in x by assumption. We know that the unique value function Vis bounded with respect to the norm w (Chap. 2 of Spieksma [22]). Therefore, thevalue function cannot contain terms θ x with θ > 1, since the weight function canbe chosen such that z ∈ (1,min{θ ,z∗}). Consequently, ‖V‖w = ∞, hence the valuefunction cannot grow exponentially with a growth factor greater than 1. Thus, wehave the following corollary.

Corollary 2.1. The value function of a stable birth-death queueing process cannotgrow exponentially with a growth factor greater than 1.

2.3 Value Functions for Queueing Systems

In this section, we provide the relative value functions of the most fundamentalqueueing systems: the M/Cox(r)/1 single-server queue with its special cases, theM/M/s multi-server queue, the M/M/s/s blocking system, and a priority queueingsystem. The value functions will be used in the examples later to illustrate theireffectiveness in the control of complex queueing systems.

Page 9: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.3 Value Functions for Queueing Systems 41

2.3.1 The M/Cox(r)/1 Queue

Consider a single server queueing system to which customers arrive according toa Poisson process with parameter λ . The service times are independent identicallydistributed and follow a Coxian distribution of order r. Thus, the service of a cus-tomer can last up to r exponential phases. The mean duration of phase i is μi fori = 1, . . . ,r. The service starts at phase 1. After phase i the service ends with prob-ability 1− pi, or it enters phase i+ 1 with probability pi for i = 1, . . . ,r− 1. Theservice is completed with certainty after phase r, if not completed at an earlierphase. We assume that pi > 0 for i = 1, . . . ,r− 1 to avoid trivial situations. LetX = {(0,0)}∪N×{0, . . . ,r− 1} denote the state space, where for (x,y) ∈ X thecomponent x represents the number of customers in the system, and y the numberof completed phases of the service process.

Assume that the system is subject to costs for holding a customer in the system.Without loss of generality we assume that unit costs are incurred for holding a cus-tomer per unit of time in the system. Let ut(x) denote the total expected cost upto time t when the system starts in state x. Let γ(i) = ∏i

k=1 pk for i = 0, . . . ,r− 1with the convention that γ(0) = 1. Note that the Markov chain satisfies the unichaincondition. Assume that the stability condition

r

∑k=1

γ(k−1)λμk

=r

∑k=1

k−1

∏l=1

plλμk

< 1,

holds, such that, consequently, the average cost g= limt→∞ ut(x)/t is independent ofthe initial state x due to Proposition 8.2.1 of Puterman [18]. Therefore, the dynamicprogramming optimality equations for the M/Cox(r)/1 queue are given by

g+λV (0,0) = λV (1,0),

g+(λ +μi)V (x, i−1) = λV (x+1, i−1)+ piμiV (x, i)+

(1− pi)μiV (x−1,0)+ x, i = 1, . . . ,r−1,

g+(λ +μr)V (x,r−1) = λV (x+1,r−1)+μrV (x−1,0)+ x.

The solution to this set of equations is given in the following theorem.

Theorem 2.2 (Theorem 1 in [5]). Let γ(i) = ∏ik=1 pk for i = 0, . . . ,r− 1 with the

convention that γ(0) = 1. Define

α =∑r

k=1γ(k−1)

μk

1−∑rk=1

γ(k−1)μk

λ, and a0 =

r

∑k=1

1− γ(k−1)μk

λα−r

∑k=1

k−1

∑l=1

γ(l−1)μk μl

λ (1+λα).

The solution to the Poisson equations is then given by the average cost g = λ (α+a0) and the corresponding value function

Page 10: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

42 S. Bhulai

V (x,y) = αx(x+1)

2+

[a0 +

[1

γ(y)−1

]α−

y

∑k=1

γ(k−1)γ(y)

1+λαμk

]x

−[

a0 +r

∑k=y+1

γ(k−1)γ(y)

λμk

( k−1

∑l=1

γ(l−1)γ(k−1)

1+λαμl

−[

1γ(k−1)

−1

]α)]

,

for (x,y) ∈ X .

2.3.2 Special Cases of the M/Cox(r)/1 Queue

In this section we consider important special cases of the M/Cox(r)/1 queue. Thisincludes queues with service-time distributions that are modeled by the hyper-exponential (Hr), the hypo-exponential (Hypor), the Erlang (Er), and the exponen-tial (M) distribution.

The M/Hr/1 Queue

The single server queue with hyper-exponentially distributed service times of orderr is obtained by letting the service times consist only of one exponential phase withparameter μi with probability qi for i = 1, . . . ,r. Note that the hyper-exponentialdistribution has the property that the coefficient of variation is greater than or equalto one. Unfortunately, the hyper-exponential distribution is not directly obtainedfrom the Coxian distribution through interpretation, but rather from showing thatthe Laplace-transforms of the distribution functions are equal for specific parameterchoices. In the case of r = 2 this result follows from, e.g., Appendix B of Tijms [24].The general case is obtained by the following theorem.

Theorem 2.3 (Theorem 4 in [5]). Under the assumption that μ1 > · · ·> μr, a Cox-ian distribution with parameters (p1, . . . , pr−1,μ1 . . . ,μr) is equivalent to a hyper-exponential distribution with parameters (q1, . . . ,qr,μ1, . . . ,μr) when the probabil-ities pi are defined by

pi =∑r

j=i+1 q j ∏ik=1(μk−μ j)

μi∑rj=i q j ∏i−1

k=1(μk−μ j), (2.6)

for i = 1, . . . ,r−1.

The M/Hypor/1 Queue

The single server queue with hypo-exponentially distributed service times of orderr is obtained by letting the service be the sum of r independent random variablesthat are exponentially distributed with parameter μi at phase i for i = 1, . . . ,r. Thus,

Page 11: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.3 Value Functions for Queueing Systems 43

it can be obtained from the M/Cox(r)/1 queue by letting p1 = · · · = pr−1 = 1. Theoptimality equations are given by

g+λV (0,0) = λV (1,0),

g+(λ +μi)V (x, i−1) = λV (x+1, i−1)+μiV (x, i)+ x, i = 1, . . . ,r−1,

g+(λ +μr)V (x,r−1) = λV (x+1,r−1)+μrV (x−1,0)+ x.

Define β (i) = ∑ik=1(1/μk), then the average cost is given by

g =λβ (r)

1−λβ (r)− λ 2

1−λβ (r)

r

∑k=1

β (k−1)μk

,

and under the assumption λβ (r)< 1 the value function becomes

V (x,y) =β (r)x(x+1)

2(1−λβ (r)

) − x1−λβ (r)

r

∑k=1

β (k−1)μk

+β (y)]

1−λβ (r)

y

∑k=1

β (k−1)μk

.

The M/Er/1 Queue

The single server queue with Erlang distributed service times of order r is obtainedby letting the service be the sum of r independent random variables having a com-mon exponential distribution. Thus, it can be obtained from the M/Cox(r)/1 queueby letting p1 = · · ·= pr−1 = 1 and μ = μ1 = · · ·= μr. Note that the Erlang distribu-tion can also be seen as a special case of the hypo-exponential distribution, and hasa coefficient of variation equal to 1/r ≤ 1. The optimality equations are given by

g+λV (0,0) = λV (1,0),

g+(λ +μ)V (x, i−1) = λV (x+1, i−1)+μV (x, i)+ x, i = 1, . . . ,r−1,

g+(λ +μ)V (x,r−1) = λV (x+1,r−1)+μV (x−1,0)+ x.

The average cost is given by

g =λ r

μ−λ r− λ 2r(r−1)

2μ(μ−λ r),

and under the assumption λ r/μ < 1 the value function becomes

V (x,y) =rx(x+1)2(μ−λ r)

− x(μ−λ r)

[λ r(r−1)

2μ+ y

]+

λy(y−1)2μ(μ−λ r)

.

Page 12: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

44 S. Bhulai

The M/M/1 Queue

The standard single server queue with exponentially distributed service times is ob-tained by having one phase in the M/Cox(r)/1 queue only, i.e., r = 1. Let μ = μ1,then the optimality equations are equivalent to

g+(λ +μ)V (x) = λV (x+1)+μV ([x−1]+)+ x,

where [x]+ = max{x,0}. The average cost is given by g = λ/(μ−λ ), and under theassumption λ/μ < 1, the value function becomes

V (x) =x(x+1)2(μ−λ )

.

2.3.3 The M/M/s Queue

Consider a queueing system with s identical independent servers. The arrivals aredetermined by a Poisson process with parameter λ . The service times are exponen-tially distributed with parameter μ . An arriving customer that finds no idle serverwaits in a buffer of infinite size. We focus on the average number of customers in thesystem represented by generating a cost of x monetary units when x customers arepresent in the system. The Poisson equations for this M/M/s queue are then given by

g+λ V (0) = λ V (1),

g+(λ + xμ)V (x) = x+λ V (x+1)+ xμV (x−1), x = 1, . . . ,s−1,

g+(λ + sμ)V (x) = x+λ V (x+1)+ sμV (x−1), x = s,s+1, . . . ,

From the first equation we can deduce that V (1) = g/λ . The second equation canbe written as Eq. (2.3) with α(x) = −(λ + xμ)/λ , β (x) = xμ/λ , and q(x) = g/λ .From Theorem 2.1 we have that

V (x) =gλ

x

∑i=1

i−1

∑k=0

(i−1)!(i− k−1)!

(λμ

)−k

− 1λ

x

∑i=1

(i−1)i−2

∑k=0

(i−2)!(i− k−2)!

(λμ

)−k

.

Let ρ = λ/(sμ). For x = s,s+1, . . . we have

V (x) =V (s)− (x− s)ρ1−ρ

gλ+

[(x− s)(x− s+1)ρ

2(1−ρ)+

(x− s)(ρ+ s(1−ρ)

(1−ρ)2

]1λ+

(1/ρ)x−s−11−ρ

1−ρgλ+h(s)−h(s−1)−

(ρ+ s(1−ρ)

λ (1−ρ)2

].

Page 13: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.3 Value Functions for Queueing Systems 45

The long-term expected average costs, which represents the average number of cus-tomers in the system in this case, is given by

g =(sρ)sρ

s!(1−ρ)2

[ s−1

∑n=0

(sρ)n

n!+

(sρ)s

s!(1−ρ)

]−1

+ sρ .

2.3.4 The Blocking Costs in an M/M/s/s Queue

Consider the previous queueing system with s identical independent servers but withno buffers for customers to wait. An arriving customer that finds no idle server isblocked and generates a cost of one monetary unit. Let state x denote the numberof customers in the system. The Poisson equations for this M/M/s/s queue are thengiven by

g+λ V (0) = λ V (1),

g+(λ + xμ)V (x) = λ V (x+1)+ xμV (x−1), x = 1, . . . ,s−1,

g+ sμV (s) = λ + sμV (s−1).

In order to obtain the relative value function V , we repeat the argument as in thecase of the M/M/s queue. This yields the following value function.

V (x) =gλ

x

∑i=1

i−1

∑k=0

(i−1)!(i− k−1)!

(λμ

)−k

=(λ/μ)s/s!

∑si=0(λ/μ)i/i!

x

∑i=1

i−1

∑k=0

(i−1)!(i− k−1)!

(λμ

)−k

.

(2.7)

The average costs is given by

g =(λ/μ)s/s!

∑si=0(λ/μ)i/i!

λ .

2.3.5 Priority Queues

Consider a queueing system with two classes of customers arriving according toa Poisson process. There is only one server available serving either a class-1 or aclass-2 customer with exponentially distributed service times. A class-i customerhas arrival rate λi, and is served with rate μi for i = 1,2. The system is subject toholding costs and switching costs. The cost of holding a class-i customer in the sys-tem for one unit of time is ci for i= 1,2. The cost of switching from serving a class-1to a class-2 customer (from a class-2 to a class-1 customer) is s1 (s2, respectively).

Page 14: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

46 S. Bhulai

The system follows a priority discipline indicating that class-1 customers havepriority over class-2 customers. The priority is also preemptive, i.e., when serving aclass-2 customer, the server switches immediately to serve a class-1 customer uponarrival of a class-1 customer. Upon emptying the queue of class-1 customers, theservice of class-2 customers, if any present, is resumed from the point where it wasinterrupted. Due to the exponential service times, this is equivalent to restarting theservice for this customer.

Let state (x,y,z) for x,y ∈ N0, z ∈ {1,2} denote that there are x class-1 and yclass-2 customers present in the system, with the server serving a class-z customer, ifpresent. Let ρi = λi/μi for i= 1,2 and assume that the stability condition ρ1+ρ2 < 1holds. Then the Markov chain is stable and g < ∞ holds. Furthermore, the Markovchain satisfies the unichain condition, hence the Poisson equations are given by

g+(λ1 +λ2 +μ1)V (x,y,1) = c1x+ c2y+λ1V (x+1,y,1)+λ2V (x,y+1,1)+

μ1V (x−1,y,1), x > 0,y≥ 0,

V (0,y,1) = s1 +V (0,y,2), y > 0,

V (x,y,2) = s2 +V (x,y,1), x > 0,y≥ 0,

g+(λ1 +λ2 +μ2)V (0,y,2) = c2y+λ1V (1,y,2)+λ2V (0,y+1,2)+

μ2V (0,y−1,2), y > 0,

g+(λ1 +λ2)V (0,0,z) = λ1V (1,0,z)+λ2V (0,1,z), z = 1,2.

First observe that, given the values of V (x,y,1), the values of V (x,y,2) are easilyobtained by considering the difference equations: V (x,y,2) = V (x,y,1) + (λ1s2−λ2s1)/(λ1 +λ2)1(x = 0,y = 0)− s11(x = 0,y > 0)+ s21(x > 0,y≥ 0). Therefore,we will only show the expression for V (x,y,1), as V (x,y,2) is easily derived from it.Let V =Vg +Vc1 +Vc2 +Vs1 +Vs2 be the decomposition of the value function. Thenthe previous observation directly prescribes that Vg, Vc1 , and Vc2 are independentof z. Furthermore, the value function Vc1 equals the value function of the singleserver queue due to the preemptive priority behavior of the system.

The other value functions can be derived by setting V (x,y) = c1 x2+c2 x+c3 y2+c4 y+ c5 xy+ c6 with constants ci for i = 1, . . . ,6 to be determined. Substitution ofthis equality into the optimality equations yields a new set of equations that is easierto solve. Let θ be the unique root θ ∈ (0,1) of the equation

λ1x2− (λ1 +λ2 +μ1)x+μ1 = 0.

Then, solving for the constants yields the solution to the optimality equations, whichis given by

Vg(x,y,z) = −x

μ1 (1−ρ1)g,

Vc1(x,y,z) =x(x+1)

2μ1 (1−ρ1)c1 +

ρ1 xμ1 (1−ρ1)2 c1,

Page 15: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.4 Application: Routing to Parallel Queues 47

Vc2(x,y,z) =λ2 x(x+1)

2μ21 (1−ρ1)(1−ρ1−ρ2)

c2 +ρ2 (μ1−λ1 +μ2ρ1)x

μ21 (1−ρ1)2 (1−ρ1−ρ2)

c2 +

y(y+1)2μ2 (1−ρ1−ρ2)

c2 +xy

μ1 (1−ρ1−ρ2)c2,

Vsi(x,y,1) =λ1 θ

λ1 +λ2

ρ1ρ2 x1−ρ1

si +λ1 θ

λ1 +λ2

λ1 yμ2

si +λ1

λ1 +λ2si1(y > 0)+

λ1

λ1 +λ2(1−θ x)si1(x > 0,y = 0), i = 1,2,

with

g =ρ1

1−ρ1c1 +

ρ2 (μ1−μ1ρ1 +μ2ρ1)

μ1 (1−ρ1)(1−ρ1−ρ2)c2 +(s1 + s2)×

[λ1

{ρ1

(λ1 θλ +λ2

−1

)+

λ1

λ1 +λ2(1−θ)

}+λ2

{λ1 θ

λ1 +λ2

λ1

μ2+

λ1

λ1 +λ2

}].

2.4 Application: Routing to Parallel Queues

In this section we illustrate how the value function can be used to obtain nearlyoptimal policies for dynamic routing problems to parallel single server queues. Thegeneral idea is to start with a policy such that each queue behaves as an independentsingle server queue. By doing so, the average cost and the value function can bereadily determined from the results of the previous sections. Next, one step of policyiteration is performed to obtain an improved policy without having to compute thepolicy iteratively.

The control problem that we study can be formalized as follows. Consider twoparallel infinite buffer single server queues. The service times of server i are Coxiandistributed with order ri with parameters (pi

1, . . . , piri−1,μ

i1, . . . ,μ

iri) for i = 1,2. Fur-

thermore, queue i has holding costs hi for i = 1,2. An arriving customer can be sentto either queue 1 or queue 2. The objective is to minimize the average costs. Notethat the distribution of the service times does not necessarily need to be Coxian.Since the class of Coxian distributions is dense in the set of non-negative distribu-tion functions, we can approximate these distributions with a Coxian distributionby using, e.g., the Expectation-Maximization (EM) algorithm (see [2]). The EMalgorithm is an iterative scheme that minimizes the information divergence given bythe Kullback-Leibler information for a fixed order r. For the cases we have consid-

Page 16: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

48 S. Bhulai

ered, a Coxian distribution of order r = 5 was sufficiently adequate to describe theoriginal distribution.

Let xi be the number of customers in queue i, and yi the number of completedphases of the customer in service, if there is one, at queue i for i = 1,2. Given thatthe service time distribution is adequately described by a Coxian distribution, theoptimality equations for this system are given by

g+(λ +1{x1>0} μ1

y1+1 +1{x2>0} μ2y2+1

)V (x1,y1,x2,y2) = h1x1 +h2x2+

λ min{V (x1 +1,x2,y1,y2),V (x1,x2 +1,y1,y2)}+

1{x1>0} μ1y1+1[p

1y1+1V (x1,x2,y1 +1,y2)+ p1

y1+1V (x1−1,x2,0,y2)]+

1{x2>0} μ2y2+1[p

2y2+1V (x1,x2,y1,y2 +1)+ p2

y2+1V (x1,x2−1,y1,0)],

for (xi,yi)∈ {(0,0)}∪N×{0, . . . ,ri−1}with piri= 0 and pi

y = 1− piy when i= 1,2.

Take as initial control policy the Bernoulli policy with parameter η ∈ [0,1],i.e., the policy that splits the arrivals into two streams such that arrivals occurwith rate ηλ at queue 1, and with rate (1−η)λ at queue 2. Under the Bernoullipolicy, the optimality equation is obtained by replacing the term λ min{V (x1 +1,x2,y1,y2),V (x1,x2 +1,y1,y2)} with ηλV (x1 +1,x2,y1,y2)+(1−η)λV (x1,x2 +1,y1,y2). Hence, it follows that the two queues behave as independent single serverqueues for which the average cost gi and the value function Vi for i = 1,2 can bedetermined from Theorem 2.2. The average cost g′ and the value function V ′ for thewhole system is then given by the sum of the individual average costs g = g1 + g2

and the sum of the individual value functions V ′ = V1 +V2, respectively. Note thatfor a specified set of parameters, the optimal Bernoulli policy obtained by minimiz-ing with respect to η is straightforward. We shall therefore use the optimal Bernoullipolicy in the numerical examples. The policy improvement step now follows fromthe minimizing action in min{V ′(x1 +1,x2,y1,y2),V ′(x1,x2 +1,y1,y2)}.

The Coxian distribution allows for many interesting numerical experiments.Therefore, we restrict ourselves to four representative examples that display themain ideas. We shall use the notation gB, g′, and g∗ for the average cost obtainedunder the optimal Bernoulli policy, the one-step improved policy, and the optimalpolicy, respectively. Moreover, we set h1 = h2 = 1, and λ = 3

2 for the first example,and λ = 1 for the other three examples.

We first start with two queues having a Coxian C(2) distribution. Queue 1 has anErlang E2 distribution with parameter μ = 2, such that the mean and the varianceof the service time is 1 and 2, respectively. The parameters at queue 2 are chosensuch that the mean remains 1, but the variance increases to 3, 4, and 5, respectively.Table 2.1 summarizes the results, and shows that the one-step improved policy hasa close to optimal value. The proportional extra cost (g′ −g∗)/g∗ is practically zeroin all cases.

Page 17: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.4 Application: Routing to Parallel Queues 49

Parameters for queue 2 gB g′ g∗

p2 = 23 ,μ

2 = (2, 43 ) 5.147786 3.208688 3.208588

p2 = 12 ,μ

2 = (2,1) 5.405949 3.332179 3.332038p2 = 2

5 ,μ2 = (2, 4

5 ) 5.652162 3.445815 3.445787

Table 2.1: Numerical results for r = 2 with p1 = 1,μ1 = (2,2)

Next, we show a similar experiment with r = 5. The service distribution at queue 1is fixed at a hypo-exponential Hypo5 distribution with parameter μ = (2,3,2,3,4).Again the one-step improved policy performs quite well. Table 2.2 shows that thegreatest proportional extra cost is given by 0.03 (the third experiment).

Parameters for queue 2 gB g′ g∗

p2 = ( 910 ,

45 ,

710 ,

35 ),μ

2 = (2,3,2,3,4) 6.175842 3.787954 3.783727p2 = ( 3

5 ,710 ,

45 ,

910 ),μ

2 = (2,3,2,3,4) 3.729859 2.493349 2.480818p2 = ( 2

5 ,15 ,

45 ,

12 ), μ2 = (3,2,4,2,3) 1.399628 1.169286 1.132408

Table 2.2: Numerical results for r = 5 with p1 = (1,1,1,1),μ1 = (2,3,2,3,4)

In the third example we take an Erlang E2 distribution with parameter μ = 2 at queue1, and a lognormal distribution with parameters μ = 0.5 and σ = 1 at queue 2. Recallthat the probability density function f of the lognormal distribution is given by

f (x) =1

x√

2πσ· e−

12

(ln(x)−μ

σ

)2

,

for x > 0. We approximate the lognormal distribution with a Cox(r) distribution oforder r = 2,5,10, and 20, respectively, using the EM-algorithm. We also comparethis with a two-moment fit of the Coxian distribution. Let X be a random vari-able having a coefficient of variation cX ≥ 1

2

√2, then the following is suggested

by Marie [13]: μ1 = 2/EX , p1 = 0.5/c2X , and μ2 = p1μ1.

The results of the EM-algorithm and the 2-moment fit are displayed in Fig. 2.1.The fit with the Cox(20) distribution is omitted, since it could not be distinguishedfrom the lognormal probability density. Therefore, the optimal value when using theCox(20) distribution can be considered representative for the optimal value whenusing the lognormal distribution. Note that the EM-approximation with the Cox(2)distribution captures more characteristics of the lognormal distribution than the2-moment fit. This result is also reflected in Table 2.3, since the value of the optimalpolicy g∗ for the Cox(2) distribution is closer to the value of g∗ when the Cox(20)distribution is used. The greatest proportional extra cost for the EM-approximationsis given by 0.02 (EM fit with r = 2).

Page 18: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

50 S. Bhulai

0 1 2 3 4 5 6 7 80

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

x

f(x)

2−moment fitEM Cox−2 fitEM Cox−5 fitEM Cox−10 fitLognormal

Fig. 2.1: Lognormal (μ = 0.5, σ = 1) probability density

Approximation for queue 2 gB g′ g∗

2-moment fit 4.617707 3.021571 2.976950EM algorithm with r = 2 4.554838 2.982955 2.933345EM algorithm with r = 5 4.526013 2.965625 2.919847EM algorithm with r = 10 4.527392 2.963318 2.917011EM algorithm with r = 20 4.527040 2.963311 2.917169

Table 2.3: Lognormal distribution: numerical results with p1 = 1,μ1 = (2,2)

In the final example we take an Erlang E2 distribution with parameter μ = 2 at queue1, and a Weibull distribution with parameters a = 0.3 and b = 0.107985. Recall thatthe probability density function f of the Weibull distribution is given by

f (x) = axa−1 e−(xb )

a

ba ,

for x > 0. Note that the parameters a and b are chosen such that the Weibull distribu-tion has mean 1. We approximate the Weibull distribution by a Cox(r) distributionof order r = 2,5,10, and 20, respectively, using the EM-algorithm. The results of theEM-algorithm are depicted in Fig. 2.2. Again we omitted the fit of the Cox(20) dis-tribution, since it could not be distinguished from the Weibull probability density.Moreover, since the coefficient of variation is less than 1

2

√2 we also omitted the

two-moment fit. The results in Table 2.4 again indicate that the one-step improvedpolicy has a close to optimal value, since the proportional extra cost is practicallyzero.

Page 19: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.4 Application: Routing to Parallel Queues 51

0 0.5 1 1.5 2 2.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

x

f(x)

EM Cox−2 fitEM Cox−5 fitEM Cox−10 fitWeibull

Fig. 2.2: Weibull (a = 1.8, b = 1) probability density

Approximation for queue 2 gB g′ g∗

EM algorithm with r = 2 1.563547 1.167233 1.167232EM algorithm with r = 5 1.524032 1.148638 1.148511EM algorithm with r = 10 1.522566 1.148570 1.148100EM algorithm with r = 20 1.522387 1.148826 1.148552

Table 2.4: Weibull distribution: numerical results with p1 = 1,μ1 = (2,2)

The previous examples show that the one-step policy improvement method yieldsnearly optimal policies, even when non-Markovian service distributions are approx-imated by a Coxian distribution. For the lognormal and the Weibull distribution thatwe studied, a Coxian distribution of order r = 5 was already sufficient for an ade-quate approximation. Note that the one-step improved policy can be easily obtainedfor more than two queues. In this section we restricted attention to two queues, sincethe numerical computation of the value of the optimal policy g∗ becomes rapidly in-tractable for more than two queues. Observe that the computational complexity isexponential in the number of queues in contrast to a single step of policy iterationthat has linear complexity in the number of queues.

Page 20: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

52 S. Bhulai

2.5 Application: Dynamic Routing in Multiskill Call Centers

Consider a multi-skill call center in which agents handle calls that require differentskills. We represent the skill set S by S = {1, . . . ,N}. We assume that calls thatrequire skill s ∈ S arrive to the call center according to a Poisson process with rateλs. Let G = P(S) denote the groups with different skill sets defined by the powerset of all the skills. Let Gs = {G ∈ G |s ∈ G} denote all skill groups that includeskill s ∈ S . The agents are grouped according to their skills and can therefore beindexed by the elements of G. Each group G ∈ G consists of SG agents, and serves acall that requires a skill within group G with independent exponentially distributedtimes with parameter μG.

Scenario 1: A Call Center with No Waiting Room

Suppose that we are dealing with a loss system, i.e., there are no buffers at all in ourmodel. Hence, there is no common queue for calls to wait, so every arriving call haseither to be routed to one of the agent groups immediately, or has to be blocked andis lost. Also, when a call is routed to a group that has no idle servers left, the call islost. The objective in this system is to minimize the average number of lost calls.

Let us formulate the problem as a Markov decision problem. Fix an order of theelements of G, say G = (G1, . . . ,G2N−1), and define the state space of the Markov

decision problem by X =∏2N−1i=1 {0, . . . ,SGi}. Then the |G|-dimensional vector x ∈

X denotes the state of the system according to the fixed order, i.e., xG is the numberof calls in service at group G∈ G. Also, represent by the |G|-dimensional unit vectoreG the vector with zero at every entry, except for a one at the entry correspondingto G according to the fixed order. When a call that requires skill s ∈ S arrives, thedecision maker can choose to block the call, or to route the call to any agent groupG ∈ Gs for which xG < SG. Hence, the action set is defined by As = {G ∈ Gs |xG <SG}∪ {b}, where action b stands for blocking the call. Therefore, for an arrivingcall that requires skill s ∈ S the transition rates p(x,a,y) of going from x ∈ X toy ∈ X after taking decision a ∈ As are given by p(x,b,x) = λs, p(x,a,x+ ea) = λs

when a �= b, and zero otherwise. The transition rates for the service completions aregiven by p(x,a,x−eG) = xGμG for x ∈X , G ∈ G and any action a. The objective ismodeled by the cost function c(x,a) = 1 for any x ∈ X and a = b.

The tuple (X ,{As}s∈S , p,c) defines the Markov decision problem. After uni-formizing the system (see Sect. 11.5 of Puterman [18]) we obtain the dynamic pro-gramming optimality equation for the system given by

Page 21: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.5 Application: Dynamic Routing in Multiskill Call Centers 53

g+[∑s∈S

λs + ∑G∈G

SGμG

]V (x) = ∑

s∈Sλs min{1+V (x),V (x+ eG) |G ∈ Gs,xG < SG}

+ ∑G∈G

xGμG V (x− eG)+ ∑G∈G

(SG− xG)μG V (x), (2.8)

where g is the long-term expected average costs, and V is the relative value function.Note the unusual place of the minimization in Expression (2.8): the actions in our

case depend on the type of arriving call. It is easy to rewrite the optimality equationin standard formulation (see, e.g., Chap. 5 of Koole [11]), but this would complicatethe notation considerably.

For the problem of skill-based routing we will base the approximate relativevalue function on a static randomized policy for the initial routing policy. LetG(n) = {G ∈ G

∣∣ |G| = n} be all agent groups that have exactly n skills for

n = 1, . . . ,N. Define accordingly, G(n)s = {G ∈ G(n) |s ∈ G} to be all agent groupsthat have n skills, including skill s ∈ S . For a given skill s, this creates a hier-

archical structure G(1)s , . . . ,G(N)s from specialized agents having only one skill to

cross-trained generalists having all skills. For a call center with three skills, wewould have three levels in the hierarchy: the specialists (groups {1}, {2}, and {3}),the agents with two skills (groups {1, 2}, {1, 3}, and {2, 3}), and the generalists(group {1, 2, 3}). In the following paragraphs we will describe the steps in theone-step policy improvement algorithm in more detail using this call center withthree skills as illustration.

Initial Policy

The initial policy π , on which we will base the approximate relative value function,

tries to route a call requiring skill s through the hierarchy, i.e., it tries G(1)s first, and

moves to G(2)s if there are no idle agents in G(1)s . In G(2)s there may be more thanone group that one can route to. The initial policy routes the call according to fixed

probabilities to the groups in G(2)s , i.e., it splits the overflow stream from G(1)s into

fixed fractions over the groups in G(2)s . The call progresses through the hierarchywhenever it is routed to a group with no idle agents until it is served at one of the

groups, or it is blocked at G(N)s eventually. The rationale behind the policy that sends

calls to the agents with the fewest number of skills first has been rigorously justifiedin [9, 16]. To illustrate this for three skills: the overflow of calls from group {1}are split by fixed fractions α and α = 1−α in order to be routed to groups {1,2}and {1,3}, respectively. The overflow process from groups {2} and {3} are treatedaccordingly by the fractions β and γ , respectively.

We have yet to define how to choose the splitting probabilities in the initial rout-ing policy. In order to define these, we ignore the fact that the overflow process isnot a Poisson process, and we consider all overflows to be independent. Thus, we do

Page 22: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

54 S. Bhulai

as if the overflow process at group G ∈ G(i)s is a Poisson process with rate λG timesthe blocking probability. Together with the splitting probabilities, one can computethe rate of the Poisson arrivals at each station in G(i+1) composed of the assumedindependent Poisson processes. The splitting probabilities are then chosen such thatthe load at every group in G(i+1) is balanced. To illustrate this for the call centerwith three skills, recall the Erlang loss formula B(λ ,μ ,S) for an M/M/S/S queuewith arrival rate λ and service rate μ ,

B(λ ,μ ,S) =(λ/μ)S/S!

∑Si=0(λ/μ)i/i!

. (2.9)

The overflow rate at group {i} for i = 1,2,3 is then given by λi B(λi,μ{i},S{i}).Hence, the arrival rate at the groups in G(2) are given by

λ{1,2} = λ1 B(λ1,μ{1},S{1})α+λ2 B(λ2,μ{2},S{2})β ,λ{1,3} = λ1 B(λ1,μ{1},S{1})(1−α)+λ3 B(λ3,μ{3},S{3})γ ,

λ{2,3} = λ2 B(λ2,μ{2},S{2})(1−β )+λ3 B(λ3,μ{3},S{3})(1− γ).

The splitting probabilities can be determined by minimizing the average cost inthe system. Since the average cost under this policy is the sum of the blockingprobabilities of each queue in the system, the optimal splitting probability couldcreate asymmetry in the system, i.e., one queue has a very low blocking probabilitywhereas another has a high blocking probability. Numerical experiments show thata situation with a more balanced blocking probability over all queues leads to betterone-step improved policies. Therefore, we choose the splitting probabilities suchthat

λ{1,2}S{1,2}μ{1,2}

=λ{1,3}

S{1,3}μ{1,3}=

λ{2,3}S{2,3}μ{2,3}

.

In case this equation does not have a feasible solution, we choose the splitting prob-abilities such that we minimize

∣∣∣∣

λ{1,2}S{1,2}μ{1,2}

−λ{1,3}

S{1,3}μ{1,3}

∣∣∣∣+

∣∣∣∣

λ{1,2}S{1,2}μ{1,2}

−λ{2,3}

S{2,3}μ{2,3}

∣∣∣∣ +

∣∣∣∣

λ{1,3}S{1,3}μ{1,3}

−λ{2,3}

S{2,3}μ{2,3}

∣∣∣∣ .

Finally, the arrival rate at the last group with all skills is given by

λ{1,2,3} = ∑G∈G(2)

λG B(λG,μG,SG).

Page 23: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.5 Application: Dynamic Routing in Multiskill Call Centers 55

Policy Evaluation

In the policy evaluation step, one is required to solve the long-run expected averagecosts and the relative value function from the Poisson equations for the policy π .Note that for our purpose of deriving an improved policy, it suffices to have therelative value function only. Under the initial policy this leads to solving the rela-tive value function of a series of multi-server queues in tandem. This is a difficultproblem that is yet unsolved even for tandem series of single server queues. There-fore, we choose to approximate the relative value function based on the assumptionsmade in defining the initial policy.

For the approximation we assume that the overflow process is indeed a Poisonprocess and that they are independent from all other overflow processes. We ap-proximate the relative value function by the sum of the relative value functions foreach agent group. More formally, let VG(xG,λG,μG,SG) be the relative value func-tion for an M/M/SG/SG system with arrival rate λG and service rate μG, evaluatedwhen there are xG calls present. The value function for the whole system is thenapproximated by

V (x) = ∑G∈G

VG(xG,λG,μG,SG). (2.10)

Policy Improvement

By substitution of the relative value function determined in the policy evaluationstep into the optimality equations, one can derive a better policy by evaluating

min{1+V (x),V (x+ eG) |G ∈ Gs,xG < SG} =

min{1,VG(xG +1,λG,μG,SG)−VG(xG,λG,μG,SG) |G ∈ Gs,xG < SG}.

The last term follows from subtracting V (x) from all terms in the minimization andusing the linear structure of V (x).

In Table 2.5 we find the results of the one-step policy improvement algorithmfor scenario 1. The parameters for λX , μX , and SX in the table are organized forthe groups {1}, {2}, and {3}. The parameters for μXY and SXY are ordered forgroups {1,2}, {1,3}, and {2,3}, respectively. The greatest proportional extra costΔ = (g′ − g∗)/g∗ over all experiments in Table 2.5 is 12.9% (the last experiment).Other experiments show that the proportional extra costs lies within the range of0–13%. Thus, we can see that the improved policy has a good performance alreadyafter one step of policy improvement.

Page 24: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

56 S. Bhulai

Scenario 2: A Call Center with Specialists and Generalists Only

Suppose that we are dealing with a call center having agents with one skill (special-ists) and fully cross-trained agents (generalists) only, i.e., G = (G1, . . . ,G|S|,G|S|+1)= ({1}, . . . ,{N},{1, . . . ,N}). In this scenario we assume that calls that require skills ∈ S are pooled in a common infinite buffer queue after which they are assigned to

λX μX μXY SX SXY g g′ g∗ Δ6 6 6 1.0 1.0 1.0 1.0 1.0 1.0 2 2 2 2 2 2 0.361 0.349 0.344 1.5056 5 4 2.0 1.5 1.0 1.5 1.0 1.0 2 2 2 2 2 2 0.170 0.147 0.143 2.7817 6 5 2.0 1.5 1.0 1.5 1.5 1.0 3 3 3 2 2 2 0.119 0.099 0.096 3.2647 6 5 1.5 1.0 1.0 1.5 1.0 1.0 3 3 3 3 3 2 0.130 0.107 0.103 3.9306 5 4 2.0 1.5 1.0 1.5 1.0 1.0 3 3 3 2 2 2 0.072 0.057 0.054 5.6726 5 4 2.0 1.5 1.0 1.5 1.5 1.0 3 3 3 2 2 2 0.061 0.046 0.042 8.01110 4 4 1.5 1.0 1.0 1.5 1.5 1.0 2 2 2 2 2 2 0.281 0.274 0.252 8.81610 6 3 1.5 1.0 1.0 1.5 1.0 1.0 3 3 3 3 3 2 0.160 0.148 0.131 12.851

Table 2.5: Numerical results for scenario 1 with μ{1,2,3} = 1 and S{1,2,3} = 2

a specialist or a generalist in a first-come first-served order. The objective in thissystem is to minimize the average number of calls in the system, which in its turn isrelated to the average waiting time of a call.

In addition to the state of the agents groups, we also have to include the stateof the queues in the state space. For this purpose, let the |S|-dimensional vectorq denote the state of the queues, i.e., qs is number of calls in queue s that requireskill s ∈ S . Moreover, the system also has to address the agent-selection problemand the call-selection problem. The first problem occurs when one has to assign anagent to an arriving call. The second problem occurs when an agent becomes idleand a potential call in the queue can be assigned. Following the same approach asin scenario 1, we obtain the dynamic programming optimality equation given by

g+[∑s∈S

λs + ∑G∈G

SGμG

]V (q,x) = ∑

s∈Sqs + ∑

G∈GxG +∑

s∈SλsV (q+ es,x)+

∑G∈G

xGμG V (q,x− eG)+ ∑G∈G

(SG− xG)μG V (q,x),(2.11)

where V (q,x) = min{V (q−es,x+eG) |s∈ S,G∈ Gs,qs > 0,xG < SG}∪{V (q,x)}.The first two terms on the right-hand side represent the cost structure, i.e., the num-ber of calls in the system. The third and fourth term represent the agent-selectionand the call-selection decisions, respectively.

Page 25: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.5 Application: Dynamic Routing in Multiskill Call Centers 57

Initial Policy

In principle, we could take as initial policy π a similar policy as used in scenario 1: afraction αs of type s calls are assigned to the corresponding specialists, and a fraction1−αs are assigned to the generalists. Instead of using the relative value function forthe M/M/S/S queue, we could use the relative value function for the M/M/S queue.However, this approximation would then assume a dedicated queue in front of thegroup of generalists. Consequently, a customer that is sent to the group of generaliststhat are all busy would still have to wait when a specialist of that call type is idle.Therefore, this Bernoulli policy does not efficiently use the resources in the system,and leads to an inefficient one-step improved policy. To overcome the inefficiencyof the Bernoulli policy, we instead use a policy that uses the specialists first, andassigns a call to a generalist only if a generalist is available while all specialiststhat can handle that call type are busy. The effectiveness of this policy has beenrigorously justified in [9, 16].

Policy Evaluation

The relative value function for the policy π , that uses specialists first and then gen-eralists, is complicated. The policy π creates a dependence between the differentagent groups that prohibit the derivation of a closed-form expression for the relativevalue function. Therefore, we approximate the relative value function by V as fol-lows. Let VW (x,λ ,μ ,S) be the relative value function of an M/M/S queueing system.The approximation V for the policy π is then given by

V (q,x) = ∑s∈S

VW (qs + xs, λs,μ{s},S{s})+

VW((q1 + x1−S1)

++ · · ·+(qN + xN−SN)++ xN+1,λGN+1 ,μGN+1 ,SGN+1

),

with λs = λs(1−B(λs,μ{s},S{s})

)the approximate rate to the specialists of call type

s, and λGN+1 =∑s∈S λsB(λs,μ{s},S{s}) the approximate rate to the generalists. Notethat this approximation follows the idea of the motivating initial policy in that itensures that all idle specialists of type s, given by Ss−xs, are used for all calls in thequeue of the same type. This results in (qs− [Ss−xs])

+ = max{qs +xs−Ss,0} callsthat cannot be served. These calls are therefore waiting for a generalist to becomeidle. The approximation does take into account also the fact that a specialist canbecome idle before a generalist, and immediately assigns a call to the specialist.

The idea behind the approximation is that it roughly estimates the different flowsto the different agent groups and then computes the value function as if the callsare waiting simultaneously at the two queues where they can be served. Note thatstrictly hierarchical architectures in which agents groups are structured so that nooverflow of calls has to be split between two possible subsequent agent pools canbe dealt with similarly. Observe that it might be possible that the overflow to thegeneralists is larger than their service rate. However, the system will still be stable

Page 26: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

58 S. Bhulai

because the actual number of calls that will be served by the specialists will behigher, unless the system load is quite close to one.

Policy Improvement

In the policy improvement step, the initial policy π is improved by evaluating

min{V (q− es,x+ eG) |s ∈ S,G ∈ Gs,qs > 0,xG < SG}∪{V (q,x)}.

Note that in this case the policy has to be determined for both the agent-assignmentand the call-selection decisions.

The results for scenario 2 with also three skills are given in Table 2.6. The firstline seems to suggest that no significant gains over the static policy can be obtainedwhen the service rates of the specialists and the generalists are equal to each other. InTables 2.7, 2.8, 2.9 we have varied the service rate of the generalists under differentloads. The results show that as the system is offered higher loads, the gains byusingthe one-step improved policy are also higher as compared to the static routing

λX μX SX μ{1,2,3} S{1,2,3} g g′ g∗ Δ6 6 6 2.0 2.0 2.0 3 3 3 2.0 3 11.043 10.899 10.746 1.4296 3 3 1.5 1.0 1.0 3 3 3 1.0 3 20.122 19.259 18.361 4.8926 5 4 2.5 2.0 1.5 2 2 2 2.0 3 13.186 11.562 11.314 2.1876 5 4 1.8 1.8 1.2 3 3 3 1.2 3 16.348 14.931 14.602 2.2537 6 5 2.5 2.0 1.5 3 3 3 2.0 2 15.269 13.310 13.127 1.3977 6 5 1.8 1.8 1.2 3 3 3 1.8 3 23.260 20.091 19.125 5.054

10 6 3 3.0 2.0 1.0 3 3 3 1.0 2 31.834 26.844 25.184 6.5946 5 4 3.0 2.0 1.0 3 3 3 1.0 2 20.083 14.403 13.795 4.404

Table 2.6: Numerical results for scenario 2

policy. Next, we scale the system such that the increase in the offered load wascompensated by faster service rates or by an increase in the number of servers.Table 2.10 shows that when the service rates are scaled, the gains over the staticpolicy remain roughly unaffected. However, when more servers are added, it slightlydecreases. From the other lines in Table 2.6 we can conclude that the gain over thestatic policy is greater in asymmetric systems. In conclusion, we can observe thatthe improved policy has good performance and that its performance is close to theperformance of the optimal policy.

Note that our proposed method is scalable, and can easily be used for bigger callcenters. In this section, however, we restricted ourselves to a call center with threeskills, since the computation of optimal policies becomes numerically difficult forbigger call centers. The optimal policy grows exponentially in the number of skills,while a single step of policy iteration has linear complexity.

Page 27: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

2.5 Application: Dynamic Routing in Multiskill Call Centers 59

μ{1,2,3} g g′ g∗ Δ1.5 9.012 8.933 8.928 0.0511.6 8.773 8.707 8.703 0.0451.7 8.559 8.504 8.500 0.0471.8 8.366 8.320 8.316 0.0451.9 8.192 8.154 8.150 0.0442.0 8.035 8.006 7.999 0.0912.1 7.892 7.864 7.851 0.1662.2 7.762 7.713 7.675 0.4962.3 7.644 7.561 7.489 0.9622.4 7.535 7.405 7.302 1.4182.5 7.436 7.238 7.118 1.690

Table 2.7: Scenario 2—λX = 5, μX = 2, SX = 3, and S{1,2,3} = 3

μ{1,2,3} g g′ g∗ Δ1.5 13.674 13.142 12.877 2.0551.6 12.995 12.595 12.344 2.0351.7 12.405 12.106 11.872 1.9691.8 11.891 11.665 11.453 1.8481.9 11.440 11.265 11.080 1.6712.0 11.043 10.899 10.746 1.4292.1 10.692 10.449 10.445 0.0462.2 10.379 10.179 10.160 0.1892.3 10.101 9.934 9.881 0.5322.4 9.851 9.712 9.610 1.0622.5 9.626 9.494 9.347 1.568

Table 2.8: Scenario 2—λX = 6, μX = 2, SX = 3, and S{1,2,3} = 3

μ{1,2,3} g g′ g∗ Δ1.5 27.101 25.142 23.387 7.5021.6 25.138 22.841 21.638 5.5591.7 23.306 20.923 20.099 4.0971.8 21.623 19.326 18.755 3.0421.9 20.099 17.992 17.586 2.3042.0 18.737 16.867 16.571 1.7842.1 17.533 15.910 15.690 1.4012.2 16.475 15.086 14.920 1.1142.3 15.551 14.370 14.240 0.9152.4 14.746 13.741 13.631 0.8022.5 14.044 13.183 13.082 0.771

Table 2.9: Scenario 2—λX = 7, μX = 2, SX = 3, and S{1,2,3} = 3

Page 28: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

60 S. Bhulai

λX μX SX μ{1,2,3} S{1,2,3} g g′ g∗ Δ6 5 4 2.5 2.0 1.5 2 2 2 2.0 3 13.186 11.562 11.314 2.18712 10 8 5.0 4.0 3.0 2 2 2 4.0 3 13.187 11.564 11.313 2.21524 20 16 10.0 8.0 6.0 2 2 2 8.0 3 13.190 11.567 11.310 2.27312 10 8 2.5 2.0 1.5 4 4 4 2.0 6 18.625 17.789 17.562 1.29024 20 16 5.0 4.0 3.0 4 4 4 4.0 6 18.628 17.792 17.559 1.32624 20 16 2.5 2.0 1.5 8 8 8 2.0 12 31.925 31.380 30.991 1.25330 20 10 2.5 2.0 1.5 15 15 15 2.0 15 28.924 27.996 27.256 2.71430 20 20 2.5 2.0 1.5 20 20 20 2.0 20 35.290 34.829 32.015 8.788

Table 2.10: Scenario 2—scaling of the system

2.6 Application: A Controlled Polling System

The relative value function of the priority queue in Sect. 2.3.5 can be seen as a serverassignment problem in which a fixed priority discipline is used, namely the preemp-tive priority resume policy. When the server can change at any instant, more freedomis introduced leading to lower average costs under the optimal policy. The questionthen becomes what the optimal policy is.

Let c1 > 0 and c2 > 0. In the case that the switching costs are identical to zero theoptimal policy is equal to the well-known μc rule (see, e.g., [3]). This means thatpriority is given to a class-i customer based on the value of μici; priority is given tothe queue with higher values of μici. When switching costs are greater than zero, theoptimal policy is not known and a numerical method such as policy or value iterationhas to be used. In this section we illustrate how to use one-step policy improvementfor this problem.

In principle, one could apply a Bernoulli policy to the server, i.e., the server worksa fraction α of the time on queue 1 and a fraction 1−α on queue 2. However, inorder to take the dependencies between the two queues into account in the initialpolicy, we can also use the priority policy, of which we denote the value function byVp, of Sect. 2.3.5. Let λ1 = λ2 = 1, μ1 = 6, μ2 = 3, c1 = 2, c2 = 1, and s1 = s2 =2. Note that with these parameters, the priority policy coincides with the μc rule.Define μ = max{μ1,μ2}. Then, define for some fixed x and y

zk,l = sk1{k �=l}+ c1x+ c2y+λ1Vp(x+1,y, l)+λ2Vp(x,y+1, l)+

μlVp(((x,y)− el)

+, l)+(μ−μl)Vp(x,y, l)

as the expected bias if the server immediately switches from position k to positionl and uses the preemptive priority rule afterwards. The one-step improved policy issimply the policy that minimizes for each (x,y,k) the expression mina{zk,a}. Hence,the actions are defined by ax,y,k = argmin{zk,a}.

Table 2.11 shows the results for the one-step policy improvement. The averagecost resulting from using a single step of policy iteration is 3.09895. This is a reduc-tion of the costs by 14.6% as compared to using the μc rule where the average cost

Page 29: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

References 61

is 3.62894. By using policy iteration to find the optimal policy the results hardlyimprove; the average cost is at lowest 3.09261. Surprisingly enough, the optimalpolicy is found in two steps of policy iteration. The fast convergence of the policyiteration algorithm is not coincidental; the average cost of the policies generated bypolicy iteration converge at least exponentially fast to the minimum cost, with thegreatest improvement in the first few steps.

Iteration Average cost Comment

0 3.62894 μc rule1 3.09895 One-step policy improvement2 3.09261 Optimal policy

Table 2.11: Policy iteration results

References

1. E. Altman, Applications of Markov decision processes in communication net-works: a survey, in Handbook of Markov Decision Processes, edited by E.A.Feinberg, A. Shwartz (Kluwer, Dordrecht, 2002)

2. S. Asmussen, O. Nerman, M. Olsson, Fitting phase type distributions via theEM algorithm. Scand. J. Stat. 23, 419–441 (1996)

3. J.S. Baras, D.-J. Ma, A.M. Makowski, k competing queues with geometric ser-vice requirements and linear costs: the μc rule is always optimal. Syst. ControlLett. 6, 173–180 (1985)

4. R. Bellman, Adaptive Control Processes: A Guided Tour (Princeton UniversityPress, Princeton, NJ, 1961)

5. S. Bhulai, On the value function of the M/Cox(r)/1 queue. J. Appl. Probab.43(2), 363–376 (2006)

6. S. Bhulai, G.M. Koole, On the structure of value functions for threshold policiesin queueing models. J. Appl. Probab. 40, 613–622 (2003)

7. S. Bhulai, F.M. Spieksma, On the uniqueness of solutions to the Poisson equa-tions for average cost Markov chains with unbounded cost functions. Math.Meth. Oper. Res. 58(2), 221–236 (2003)

8. S. Bhulai, A.C. Brooms, F.M. Spieksma, On structural properties of the valuefunction for an unbounded jump Markov process with an application to aprocessor-sharing retrial queue. Queueing Syst. 76(4), 425–446 (2014)

9. P. Chevalier, N. Tabordon, R. Shumsky, Routing and staffing in large call cen-ters with specialized and fully flexible servers. Working paper (2004)

10. E. Hyytia, J. Virtamo, Dynamic routing and wavelength assignment using firstpolicy iteration. Technical Report COST 257, Helsinki University of Technol-ogy (2000)

11. G.M. Koole, Stochastic Scheduling and Dynamic Programming. CWI Tract,vol. 113 (CWI, Amsterdam, 1995)

Page 30: Chapter 2 Value Function Approximation in Complex Queueing Systemssbhulai/publications/MDPchapter... · 2017-07-28 · Chapter 2 Value Function Approximation in Complex Queueing Systems

62 S. Bhulai

12. S.A. Lippman, Applying a new device in the optimization of exponential queue-ing systems. Oper. Res. 23, 687–710 (1975)

13. R.A. Marie, Calculating equilibrium probabilities for λ (m)/Ck/1/N queues, inProceedings of the International Symposium on Computer Performance Mod-eling (1980)

14. R.E. Mickens, Difference Equations: Theory and Applications (Chapman &Hall, London, 1990)

15. J.M. Norman, Heuristic Procedures in Dynamic Programming (ManchesterUniversity Press, Manchester, 1972)

16. E.L. Ormeci, Dynamic admission control in a call center with one shared andtwo dedicated service facilities. IEEE Trans. Autom. Control 49, 1157–1161(2004)

17. T.J. Ott, K.R. Krishnan, Separable routing: a scheme for state-dependent rout-ing of circuit switched telephone traffic. Ann. Oper. Res. 35, 43–68 (1992)

18. M.L. Puterman, Markov Decision Processes: Discrete Stochastic Dynamic Pro-gramming (Wiley, New York, 1994)

19. H. Rummukainen, J. Virtamo, Polynomial cost approximations in markov de-cision theory based call admission control. IEEE/ACM Trans. Netw. 9(6),769–779 (2001)

20. S.A.E. Sassen, H.C. Tijms, R.D. Nobel, A heuristic rule for routing customersto parallel servers. Statistica Neerlandica 51, 107–121 (1997)

21. R.F. Serfozo, An equivalence between continuous and discrete time Markovdecision processes. Oper. Res. 27, 616–620 (1979)

22. F.M. Spieksma, Geometrically ergodic Markov chains and the optimal controlof queues. Ph.D. thesis, Leiden University (1990)

23. S. Stidham Jr., R.R. Weber, A survey of Markov decision models for control ofnetworks of queues. Queueing Syst. 13, 291–314 (1993)

24. H.C. Tijms, Stochastic Models: An Algorithmic Approach (Wiley, New York,1994)

25. D. Towsley, R.H. Hwang, J.F. Kurose, MDP routing for multi-rate loss net-works. Comput. Netw. ISDN 34, 241–261 (2000)