Queueing theory
This article is missing information about criticism of the scope of applicability of queueing theory to real problems.
(July 2014) 
Queueing theory is the mathematical study of waiting lines, or queues.^{[1]} In queueing theory a model is constructed so that queue lengths and waiting time can be predicted.^{[1]} Queueing theory is generally considered a branch of operations research because the results are often used when making business decisions about the resources needed to provide a service.
Queueing theory has its origins in research by Agner Krarup Erlang when he created models to describe the Copenhagen telephone exchange.^{[1]} The ideas have since seen applications including telecommunication, traffic engineering, computing^{[2]} and the design of factories, shops, offices and hospitals.^{[3]}^{[4]}
Contents
Single queueing nodes
Single queueing nodes are usually described using Kendall's notation in the form A/S/C where A describes the time between arrivals to the queue, S the size of jobs and C the number of servers at the node.^{[5]}^{[6]} Many theorems in queueing theory can be proved by reducing queues to mathematical systems known as Markov chains, first described by Andrey Markov in his 1906 paper.^{[7]}
Agner Krarup Erlang, a Danish engineer who worked for the Copenhagen Telephone Exchange, published the first paper on what would now be called queueing theory in 1909.^{[8]}^{[9]}^{[10]} He modeled the number of telephone calls arriving at an exchange by a Poisson process and solved the M/D/1 queue in 1917 and M/D/k queueing model in 1920.^{[11]} In Kendall's notation:
 M stands for Markov or memoryless and means arrivals occur according to a Poisson process
 D stands for deterministic and means jobs arriving at the queue require a fixed amount of service
 k describes the number of servers at the queueing node (k = 1, 2,...). If there are more jobs at the node than there are servers then jobs will queue and wait for service
The M/M/1 queue is a simple model where a single server serves jobs that arrive according to a Poisson process and have exponentially distributed service requirements. In an M/G/1 queue the G stands for general and indicates an arbitrary probability distribution. The M/G/1 model was solved by Felix Pollaczek in 1930,^{[12]} a solution later recast in probabilistic terms by Aleksandr Khinchin and now known as the Pollaczek–Khinchine formula.^{[11]}^{[13]}
After World War II queueing theory became an area of research interest to mathematicians.^{[13]} In 1953 David Kendall solved the GI/M/k queue^{[14]} and introduced the modern notation for queues, now known as Kendall's notation. In 1957 Pollaczek studied the GI/G/1 using an integral equation.^{[15]} John Kingman gave a formula for the mean waiting time in a G/G/1 queue: Kingman's formula.^{[16]}
The matrix geometric method and matrix analytic methods have allowed queues with phasetype distributed interarrival and service time distributions to be considered.^{[17]}
Problems such as performance metrics for the M/G/k queue remain an open problem.^{[13]}^{[11]}
Service disciplines
Various scheduling policies can be used at queuing nodes:
 First in first out
 This principle states that customers are served one at a time and that the customer that has been waiting the longest is served first.^{[18]}
 Last in first out
 This principle also serves customers one at a time, but the customer with the shortest waiting time will be served first.^{[18]} Also known as a stack.
 Processor sharing
 Service capacity is shared equally between customers.^{[18]}
 Priority
 Customers with high priority are served first.^{[18]} Priority queues can be of two types, nonpreemptive (where a job in service cannot be interrupted) and preemptive (where a job in service can be interrupted by a higher priority job). No work is lost in either model.^{[19]}
 Shortest job first
 The next job to be served is the one with the smallest size
 Preemptive shortest job first
 The next job to be served is the one with the original smallest size^{[20]}
 Shortest remaining processing time
 The next job to serve is the one with the smallest remaining processing requirement.^{[21]}
 Service facility
 Single server:customers line up and there is only one server
 Parallel servers:customers line up and there are several servers
 Tandem queue:there are many counters and customers can decide going where to queue
 Customer’s behavior of waiting
 Balking:customers deciding not to join the queue if it is too long
 Jockeying:customers switch between queues if they think they will get served faster by so doing
 Reneging:customers leave the queue if they have waited too long for service
Queueing networks
Networks of queues are systems in which a number of queues are connected by customer routing. When a customer is serviced at one node it can join another node and queue for service, or leave the network. For a network of m the state of the system can be described by an m–dimensional vector (x_{1},x_{2},...,x_{m}) where x_{i} represents the number of customers at each node.
The first significant results in this area were Jackson networks,^{[22]}^{[23]} for which an efficient productform stationary distribution exists and the mean value analysis^{[24]} which allows average metrics such as throughput and sojourn times to be computed.^{[25]} If the total number of customers in the network remains constant the network is called a closed network and has also been shown to have a product–form stationary distribution in the Gordon–Newell theorem.^{[26]} This result was extended to the BCMP network^{[27]} where a network with very general service time, regimes and customer routing is shown to also exhibit a productform stationary distribution. The normalizing constant can be calculated with the Buzen's algorithm, proposed in 1973.^{[28]}
Networks of customers have also been investigated, Kelly networks where customers of different classes experience different priority levels at different service nodes.^{[29]} Another type of network are Gnetworks first proposed by Erol Gelenbe in 1993:^{[30]} these networks do not assume exponential time distributions like the classic Jackson Network.
Example of M/M/1
 Birth and Death process
 A/B/C

 A:distribution of arrival time

 B:distribution of service time

 C:the number of parallel servers
 A system of interarrival time and service time showed exponential distribution, we denoted M.

 λ：the average arrival rate

 µ：the average service rate of a single service

 P : the probability of n customers in system

 n :the number of people in system
 Let E represent the number of times of entering state n, and L represent the number of times of leaving state n. We have . When the system arrives at steady state, which means t, we have, therefore arrival rate=removed rate.
 Balance equation

 situation 0:

 situation 1:

 situation n:

 By balance equation,

 By mathematical induction,

 Because
 we get
Routing algorithms
In discrete time networks where there is a constraint on which service nodes can be active at any time, the maxweight scheduling algorithm chooses a service policy to give optimal throughput in the case that each job visits only a single service node. In the more general case where jobs can visit more than one node, backpressure routing gives optimal throughput.
A network scheduler must choose a queuing algorithm, which affects the characteristics of the larger network.
Mean field limits
Mean field models consider the limiting behaviour of the empirical measure (proportion of queues in different states) as the number of queues (m above) goes to infinity. The impact of other queues on any given queue in the network is approximated by a differential equation. The deterministic model converges to the same stationary distribution as the original model.^{[31]}
Fluid limits
Fluid models are continuous deterministic analogs of queueing networks obtained by taking the limit when the process is scaled in time and space, allowing heterogeneous objects. This scaled trajectory converges to a deterministic equation which allows us stability of the system to be proven. It is known that a queueing network can be stable, but have an unstable fluid limit.^{[32]}
Heavy traffic/diffusion approximations
In a system with high occupancy rates (utilisation near 1) a heavy traffic approximation can be used to approximate the queueing length process by a reflected Brownian motion,^{[33]} Ornstein–Uhlenbeck process or more general diffusion process.^{[34]} The number of dimensions of the RBM is equal to the number of queueing nodes and the diffusion is restricted to the nonnegative orthant.
Software for simulation/analysis
 Java Modelling Tools, a GPL suite of queueing theory tools written in Java^{[35]}
 Queueing Package for GNU Octave^{[36]}
See also
 Ehrenfest model
 Erlang unit
 Industrial engineering
 Network simulation
 Queue area
 Queueing delay
 Queueing Systems (a journal of queueing theory)
 Random early detection
 Renewal theory
 Throughput
 Scheduling (computing)
 Traffic jam
 Traffic generation model
References
 ↑ ^{1.0} ^{1.1} ^{1.2} Sundarapandian, V. (2009). "7. Queueing Theory". Probability, Statistics and Queueing Theory. PHI Learning. ISBN 8120338448.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Lawrence W. Dowdy, Virgilio A.F. Almeida, Daniel A. Menasce. http://www.cs.gmu.edu/~menasce/perfbyd/. Missing or empty
title=
(help)<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>  ↑ Schlechter, Kira (March 2, 2009). "Hershey Medical Center to open redesigned emergency room". The PatriotNews.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Mayhew, Les; Smith, David (December 2006). Using queuing theory to analyse completion times in accident and emergency departments in the light of the Government 4hour target. Cass Business School. ISBN 9781905752065. Retrieved 20080520.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Tijms, H.C, Algorithmic Analysis of Queues", Chapter 9 in A First Course in Stochastic Models, Wiley, Chichester, 2003
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ A.A. Markov, Extension of the law of large numbers to dependent quantities, Izvestiia Fiz.Matem. Obsch. Kazan Univ., (2nd Ser.), 15(1906), pp. 135–156 [Also [37], pp. 339–361].
 ↑ "Agner Krarup Erlang (1878  1929)  plus.maths.org". Pass.maths.org.uk. Retrieved 20130422.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ "The theory of probabilities and telephone conversations" (PDF). Nyt Tidsskrift for Matematik B. 20: 33–39. 1909.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ ^{11.0} ^{11.1} ^{11.2} Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Pollaczek, F., Ueber eine Aufgabe der Wahrscheinlichkeitstheorie, Math. Z. 1930
 ↑ ^{13.0} ^{13.1} ^{13.2} Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Kendall, D.G.:Stochastic processes occurring in the theory of queues and their analysis by the method of the imbedded Markov chain, Ann. Math. Stat. 1953
 ↑ Pollaczek, F., Problèmes Stochastiques posés par le phénomène de formation d'une queue
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ ^{18.0} ^{18.1} ^{18.2} ^{18.3} Penttinen A., Chapter 8 – Queueing Systems, Lecture Notes: S38.145  Introduction to Teletraffic Theory.
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Marzolla, Moreno. "The queueing Package" (PDF). Retrieved 31 July 2014.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
Further reading
 Gross, Donald; Carl M. Harris (1998). Fundamentals of Queueing Theory. Wiley. ISBN 047132812X.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles> Online
 Deitel, Harvey M. (1984) [1982]. An introduction to operating systems (revisited first ed.). AddisonWesley. p. 673. ISBN 0201145022.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles> chap.15, pp. 380–412
 Lazowska, Edward D.; John Zahorjan; G. Scott Graham; Kenneth C. Sevcik (1984). Quantitative System Performance: Computer System Analysis Using Queueing Network Models. PrenticeHall, Inc. ISBN 0137469756.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Zukerman, Moshe. Introduction to Queueing Theory and Stochastic Teletraffic Models (PDF).<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
External links
 Pages with citations lacking titles
 Pages with citations having bare URLs
 Articles to be expanded from July 2014
 Stochastic processes
 Production and manufacturing
 Services management and marketing
 Operations research
 Formal sciences
 Queueing theory
 Rationing and licensing
 Network performance
 Markov models
 Markov processes