Bank Branch Queue Design: Single Queue Versus Multiple Queues
A bank branch has c identical tellers. Customers arrive approximately as a Poisson process at rate lambda, and each teller has independent exponential service times with rate mu. Compare two designs:
-
A single serpentine line feeding the first available teller, an M/M/c system.
-
c independent lines, one per teller, where customers choose a line uniformly at random, approximated as c parallel M/M/1 queues each with arrival rate lambda/c.
Constraints & Assumptions
-
Assume first-come, first-served service and no balking or reneging initially.
-
Compare both average waiting time and variability.
-
State the stability condition.
-
Discuss practical deviations such as shortest-line choice, customer psychology, and fairness.
Clarifying Questions to Ask
-
Are tellers identical, and can any teller serve any customer?
-
Do customers choose lines randomly, shortest-line, or based on perceived speed?
-
Does the branch optimize average wait, tail wait, fairness, or customer satisfaction?
-
Are there priority customers or specialized service types?
Part 1 - Expected Waiting and Variance
Compare expected waiting time and waiting-time variance for the two designs.
What This Part Should Cover
-
Define utilization rho = lambda / (c mu).
-
For a single queue, discuss pooling and Erlang C for M/M/c.
-
For multiple random queues, describe each line as M/M/1 with arrival rate lambda/c.
-
Explain why pooling generally reduces average wait and variability.
Part 2 - Product and Operations Interpretation
Explain which design you would recommend and why.
What This Part Should Cover
-
Discuss fairness, customer perception, tail waits, teller utilization, physical space, and implementation complexity.
-
Mention that shortest-line choice improves multiple queues but can still underperform pooling.
-
Include cases where specialized queues might be justified.
Follow-up Questions
-
What happens as utilization approaches one?
-
How would reneging or balking change the analysis?
-
How would you validate the queue design with branch data?