Queueing theory is the mathematical study of waiting lines, or queues. This field of study enables the analysis of various models that describe the behavior of queues and provides tools to predict their performance. Queueing systems are ubiquitous in daily life, from supermarket checkout lines to call centers, traffic patterns to computer network packet processing. Understanding queueing theory helps organizations optimize resources, minimize wait times, and improve overall system efficiency.
The foundations of queueing theory were laid by Agner Krarup Erlang in the early 20th century while working for the Copenhagen Telephone Company. Erlang developed mathematical models to determine the optimal number of telephone circuits needed to carry calls with an acceptable waiting probability. His work laid the foundation for teletraffic engineering and operations research.
Since Erlang's pioneering contributions, queueing theory has evolved considerably. During World War II, queueing models were applied to military logistics and operations. In the latter half of the 20th century, applications expanded to computer systems, manufacturing processes, healthcare, transportation, and many other domains. Modern queueing theory incorporates concepts from probability theory, stochastic processes, and optimization techniques.
Queueing systems can be characterized by six fundamental components:
The most common notation for describing queueing models is Kendall's notation, which uses the format A/S/c/K/N/D, where:
A = Arrival process distribution
S = Service time distribution
c = Number of servers
K = System capacity (default is infinity)
N = Customer population (default is infinity)
D = Queue discipline (default is FIFO)
Commonly used distributions include:
The M/M/1 model is the simplest queueing system with a single server, Poisson arrivals, exponential service times, infinite capacity, and FIFO queue discipline. If represents the arrival rate and represents the service rate, the system is stable only if < .
Utilization () = /
Average number of customers in the system (L) = /(-)
Average time spent in the system (W) = 1/(-)
Average number of customers in the queue (Lq) = /((-))
Average time spent in the queue (Wq) = /((-))
The M/M/c model extends the M/M/1 system by considering c parallel servers. This model is more complex but more realistic for many service systems. The key difference is that customers can be served simultaneously by multiple servers.
When analyzing M/M/c queues, special attention must be paid to the probability that an arriving customer has to wait. This value, often denoted as C(c, ), can be calculated using Erlang's C formula.
In the M/D/1 model, service times are constant (deterministic) rather than exponentially distributed. This model provides different performance measures compared to M/M/1, demonstrating how service time variability affects queueing behavior.
Average time spent in the queue (Wq) = /(2(-))
The G/G/1 model allows for arbitrary distributions for both arrival and service processes. While exact solutions are generally not available, approximations using diffusion approximation or the Kingman formula provide useful estimates:
Average time spent in the queue (Wq) (/((-))) ((Ca + Cs)/2)
Where Ca and Cs are the squared coefficients of variation of arrival and service times, respectively.
Several key metrics are used to evaluate the performance of queueing systems:
| Metric | Definition | Significance |
|---|---|---|
| Utilization () | Proportion of time servers are busy | Measures resource efficiency |
| Throughput | Number of customers served per unit time | Indicates system capacity |
| Response time (W) | Total time a customer spends in the system | Customer service level indicator |
| Waiting time (Wq) | Time a customer spends waiting in queue | Directly affects customer satisfaction |
| Queue length (Lq) | Number of customers in the queue | Indicates space requirements |
| System length (L) | Total number of customers in the queue plus being served | Indicates total system capacity needed |
| Blocking probability | Probability that an arriving customer is rejected | Important for systems with finite capacity |
One of the most important fundamental results in queueing theory is Little's Law, which relates the average number of customers in a system to the arrival rate and the average time spent in the system:
L = W
Where L is the average number of customers in the system, is the arrival rate, and W is the average time a customer spends in the system.
This remarkably general law applies to virtually any stable queueing system, regardless of arrival process distribution, service time distribution, queue discipline, or system configuration.
Queueing theory has applications in numerous fields:
Queueing models help design telephone networks, cellular systems, and internet infrastructure. They determine the necessary bandwidth, server capacity, and routing protocols to handle traffic loads while maintaining acceptable service quality.
In computer systems, queueing theory is used to design scheduling algorithms, analyze disk access times, optimize web server performance, and manage network traffic. These models help ensure efficient resource utilization and minimize response times.
Production lines can be modeled as queueing systems to analyze throughput, identify bottlenecks, and optimize buffer sizes between workstations. This helps manufacturers improve efficiency while minimizing work-in-process inventory.
Traffic engineers use queueing theory to analyze traffic flows at intersections, design toll booth configurations, plan airport runway operations, and optimize public transportation schedules.
Hospitals apply queueing models to manage patient flow, allocate resources, schedule appointments, and reduce waiting times in emergency departments. These models help balance healthcare quality with efficient resource utilization.
Restaurants, call centers, banks, and retail stores use queueing theory to determine staffing levels, manage customer expectations, and improve service delivery. These applications help reduce abandonment rates and improve customer satisfaction.
In priority queueing systems, customers are classified into categories with different service priorities. This model helps manage systems where certain customers require faster service than others, such as computer systems with different process priority levels or healthcare systems with triage protocols.
Queueing networks consist of several interconnected queueing systems where customers may move between nodes. These models represent complex systems like manufacturing plants, communication networks, or computer centers where jobs go through multiple service stations.
While most queueing analysis focuses on steady-state performance, transient analysis examines system behavior during the initial phase or during periods when arrival or service rates change. This is particularly relevant for systems with time-dependent demand.
Many complex queueing systems cannot be analyzed analytically due to their complexity. In such cases, discrete event simulation provides a powerful tool for evaluating system performance, testing design alternatives, and identifying optimization opportunities.
Queueing theory provides a robust mathematical framework for analyzing waiting lines and optimizing system performance. From its origins in telephony to its modern applications in computer networks, healthcare, and manufacturing, queueing theory remains an essential tool for understanding and designing efficient systems.
The fundamental insight of queueing theory is that variability in arrivals or service inevitably leads to waiting, and managing this variability is key to system optimization. By understanding the trade-offs between resource utilization, customer waiting time, and system capacity, organizations can make informed decisions that balance operational efficiency with service quality.
As systems continue to grow in complexity, queueing theory evolves to address new challenges, incorporating advanced statistical techniques, computational methods, and interdisciplinary approaches. Despite these advances, the core principles established by early pioneers like Erlang continue to inform how we think about and optimize service systems in an increasingly crowded and interconnected world.
