Adjust arrival rate λ, service rate μ, and number of servers c to visualize average wait time, queue length, and probability distribution in real time using the Erlang-C formula for optimal design of checkout lanes and call centers.
Parameters
Presets
Utilization ρ ≥ 1. The queue is unstable and will grow without bound. Increase μ or c.
Results
—
Utilization ρ
—
Queue Length Lq
—
Wait Time Wq (min)
—
System Size L
—
Time in System W (min)
—
Empty Probability P₀
Rho
Plots dimensionless waiting time Wq × μ against utilization ρ for c = 1, 2, and 3 servers. The dot marks the current setting.
Pn
State probability P(n): the probability that n people are in the system. Blue indicates idle server capacity (n < c); red indicates waiting (n ≥ c).
Sens
Shows how L, Lq, and Wq × μ change as λ varies while μ and c remain fixed.
Theory & Key Formulas
For arrival rate \(\lambda\), service rate \(\mu\) per server, and number of servers \(c\), define the offered load \(a = \lambda/\mu\) and utilization \(\rho = \lambda/(c\mu) = a/c\). The stability condition is \(\rho < 1\).
Main performance metrics derived from Little's Law \(L = \lambda W\):
\(L_q = C(c,a)\cdot\frac{\rho}{1-\rho},\quad W_q = \frac{L_q}{\lambda},\quad L = L_q + a,\quad W = W_q + \frac{1}{\mu}\)
When \(c = 1\), \(C(1,a) = \rho\), which reduces to the M/M/1 formula \(L_q = \rho^2/(1-\rho)\).
What is Queuing Theory? — Learn Through Conversation
🙋
I've heard the name "Queuing Theory" before, but what is it actually used for? Do you calculate bank queues with math formulas?
🎓
Yes, exactly—banks are the easiest example. This theory calculates the average wait time and queue length when customers "arrive randomly" and "receive service for a random duration." It's not just for banks; it's used for determining how many call center operators are needed, processing requests on cloud servers, and analyzing bottlenecks in factory inspection lines.
🙋
What do the three letters in "M/M/1" mean?
🎓
It's Kendall's notation, an international standard written as "arrival process / service time distribution / number of servers." M stands for memoryless (Markovian), meaning it follows an exponential distribution. So M/M/1 means "Poisson arrival, exponential service, 1 server," and M/M/c means "same conditions with c servers."
🙋
I get that the utilization rate ρ must be less than 1, but how should I intuitively understand that?
🎓
ρ = λ/(cμ) is the ratio of "how much work is arriving relative to processing capacity." If ρ = 0.9, the server is busy 90% of the time. ρ ≥ 1 means the arrival rate exceeds the processing rate, so the queue keeps growing indefinitely. If you slide ρ close to 0.99, you'll see the wait time explode.
🙋
How much does the wait time change if I increase servers from 1 to 2?
🎓
Dramatically. For example, with λ=5, μ=6 (ρ=0.83 for 1 server), Wq ≈ 2.3 minutes with one server. With two servers, ρ=0.42 and Wq ≈ 0.06 minutes—about 1/40th. If you compare c=1,2,3 in the "Wq vs ρ curve" tab, you'll see the difference is especially large in the high ρ region.
🙋
I keep seeing "Little's Law"—what's so great about it?
🎓
It's the super simple formula L = λW: "average number in system = arrival rate × average time in system." This universal law holds for M/M/1, M/M/c, and even non-queuing systems. For example, if 60 people come to a supermarket per hour and stay an average of 5 minutes, there are always about 5 people around the checkout. The practical strength is that you can back-calculate hard-to-measure Lq from easily measurable λ and Wq.
🙋
What does the Erlang C formula do? It looks harder than M/M/1...
🎓
For M/M/c, you first need to find the probability that all servers are busy and you have to wait, C(c,a)—that's the Erlang C formula. With M/M/1, you can get Lq = ρ²/(1-ρ) directly, but multi-server is a bit more complex. However, it quantifies how much you gain by adding more windows at the same arrival rate, so it's essential for optimizing call center operator numbers and designing hospital reception areas.
Frequently Asked Questions
M/M/1 assumes service times are also exponential (random), while M/D/1 assumes everyone finishes in exactly 1/μ minutes. The queue length for M/D/1 is half that of M/M/1 (Lq_D = ρ²/(2(1-ρ))). M/D/1 is more suitable for regular service like machining lines or automated systems.
In practice, this is a danger zone. For M/M/1 with ρ = 0.95, Lq = ρ²/(1-ρ) ≈ 18 people. If demand increases slightly (ρ → 0.99), Lq ≈ 98 people — it explodes. Typically, design targets aim for ρ ≤ 0.8 to ensure peak margin.
Wq is the time spent waiting in the queue only, not including service time. W = Wq + 1/μ is the total wait time plus service time (from entering to leaving). In a bank example, Wq is the time waiting in line, and W is the time from joining the line to completing the transaction.
The M/G/1 model (G for general distribution) can be used. Use the Pollaczek–Khinchine formula: Lq = λ²E[S²]/(2(1-ρ)) + ρ²/(1-ρ). E[S²] is the second moment of service time; larger variance increases wait time. M/G/1 is widely used in real traffic flow, network packets, and factory transport.
It is applied to quality inspection lines (c inspectors handling λ defective items/hour), job scheduling optimization in HPC clusters, and supply chain transport bottleneck analysis. It can also be used to optimize CAE job queues and reduce turnaround time.
P(n) is the probability that exactly n people are in the system in steady state. A high P(0) means the server is often idle (has slack), while non-negligible probabilities for large n indicate that long queues occasionally form. Design criteria like P(n ≥ 10) ≤ 0.01 are sometimes used.
What is Queuing Theory?
Queuing Theory is a fundamental topic in engineering and applied physics. This interactive simulator lets you explore the key behaviors and relationships by directly manipulating parameters and observing real-time results.
By combining numerical computation with visual feedback, the simulator bridges the gap between abstract theory and physical intuition — making it an effective learning tool for students and a rapid-verification tool for practicing engineers.
Physical Model & Key Equations
The simulator is based on the governing equations behind Queuing Theory (M/M/c) CalculatorM/M/1M/M/c. Understanding these equations is key to interpreting the results correctly.
Each parameter in the equations corresponds to a slider in the control panel. Moving a slider changes the equation's solution in real time, helping you build a direct connection between mathematical expressions and physical behavior.
Real-World Applications
Engineering Design: The concepts behind Queuing Theory (M/M/c) CalculatorM/M/1M/M/c are applied across mechanical, structural, electrical, and fluid engineering disciplines. This tool provides a quick way to estimate design parameters and sensitivity before committing to full CAE analysis.
Education & Research: Widely used in engineering curricula to connect theory with numerical computation. Also serves as a first-pass validation tool in research settings.
CAE Workflow Integration: Before running finite element (FEM) or computational fluid dynamics (CFD) simulations, engineers use simplified models like this to establish physical scale, identify dominant parameters, and define realistic boundary conditions.
Common Misconceptions and Points of Caution
Model assumptions: The mathematical model used here relies on simplifying assumptions such as linearity, homogeneity, and isotropy. Always verify that your real system satisfies these assumptions before applying results directly to design decisions.
Units and scale: Many calculation errors arise from unit conversion mistakes or order-of-magnitude errors. Pay close attention to the units shown next to each parameter input.
Validating results: Always sanity-check simulator output against physical intuition or hand calculations. If a result seems unexpected, review your input parameters or verify with an independent method.