Operations Research & Factory Physics Queueing
Allen-Cuneen G/G/c Multi-Server Queue Formula
Calculate Multi-Server Utilization rho = lambda / (c * mu), Baseline Erlang-C M/M/c Waiting Time, Allen-Cuneen G/G/c Variability-Adjusted Waiting Time W_q, and Little’s Law Queue WIP L_q.
Extend Kingman’s VUT law to parallel multi-tool bays with the Allen-Cuneen formula!
Kingman’s famous VUT equation sizes single-server G/G/1 queues, whereas Erlang-C models c parallel servers ONLY under memoryless Poisson arrivals (C_a^2 = 1) and exponential service times (C_s^2 = 1)! In semiconductor wafer-fab tool groups, hospital imaging suites, and cloud worker pools, c parallel servers face non-Poisson batch arrivals (C_a^2 > 1) and low-variance automated cycle times (C_s^2 < 1). A.O. Allen and Cuneen (1978, Probability, Statistics, and Queueing Theory) combined exact M/M/c waiting time W_q_MMc = P_wait / (c * mu - lambda) with the two-moment variability multiplier (C_a^2 + C_s^2) / 2: W_q_GGc = (P_wait / (c * mu - lambda)) * ((C_a^2 + C_s^2) / 2), and Expected Queue Length L_q = lambda * W_q_GGc by Little’s Law!
Verify on a 2-Tool Lithography Bay—Arrival_Rate lambda = 9.0 lots/hr (B2), Parallel_Servers c = 2 tools (B3), Service_Rate_Per_Tool mu = 7.5 lots/hr (B4 -> Capacity c*mu = 15.0, Utilization rho = 9 / 15 = 0.6000 in E2), Exact_M/M/2_Delay_Prob P_wait = 0.45 (= 2*0.60^2 / 1.60, B5), Bursty_Arrival_SCV C_a^2 = 1.80 (B6), and Automated_Service_SCV C_s^2 = 0.60 (B7 -> Mean Variability Factor = (1.80 + 0.60) / 2 = 1.20): Baseline M/M/c Wait is 0.45 / (15 - 9) = 0.0750 hr (4.50 min, E3); Allen-Cuneen G/G/c Wait is 0.0750 * 1.20 = 0.0900 hr (5.40 min, E4); and Expected Waiting WIP L_q is 9.0 * 0.0900 = 0.8100 lots (E5)!
| Allen-Cuneen G/G/c Metric (lambda=9/hr, c=2, mu=7.5/hr, Pw=0.45, Ca^2=1.8, Cs^2=0.6) | Formula | Verified Output |
|---|---|---|
| Multi-Server Utilization rho | lambda / (c * mu) | 0.6000 (60.00% < 100% Stable) |
| Baseline M/M/c Queue Wait (hr) | P_wait / (c * mu - lambda) | 0.0750 hr (4.50 minutes) |
| Allen-Cuneen G/G/c Wait W_q (hr) | W_q_MMc * ((C_a^2 + C_s^2) / 2) | 0.0900 hr (0.0000 @ D/D/c) |
| Expected Queue WIP L_q (lots) | lambda * W_q_GGc | 0.8100 lots |
Allen-Cuneen Multi-Server G/G/c Waiting Time Formula
Guard lambda >= c * mu ("Unstable Queue (rho >= 1)") and validate c >= 1, 0 < P_wait <= 1, and non-negative squared coefficients of variation C_a^2, C_s^2!
=LET(lm_a, B2, sv_c, B3, mu_s, B4, p_wt, B5, ca_2, B6, cs_2, B7, IF(OR(lm_a <= 0, sv_c < 1, mu_s <= 0, p_wt <= 0, p_wt > 1, ca_2 < 0, cs_2 < 0), "Invalid Queue Input", IF(lm_a >= sv_c * mu_s, "Unstable Queue (rho >= 1)", LET(wq_m, p_wt / (sv_c * mu_s - lm_a), ROUND(wq_m * ((ca_2 + cs_2) / 2), 4)))))Deterministic D/D/c Zero-Wait & M/M/c Exact Recovery Checks
Set C_a^2 = 1 and C_s^2 = 1: Allen-Cuneen recovers exact M/M/c W_q = 0.0750 hr! Synchronize deterministic arrivals and service (C_a^2 = 0, C_s^2 = 0): W_q and L_q drop to 0!
=IF(ISTEXT(E4), E4, ROUND(B2 * E4, 4))Try the example
Use the original values or change them to test your understanding.