Papers
Topics
Authors
Recent
2000 character limit reached

G-Queue Framework: Unified Queueing Models

Updated 27 December 2025
  • G-Queue Framework is a comprehensive model that incorporates general arrival, service, and customer behavior processes for unified queue analysis.
  • It employs a recursive algorithmic structure to compute waiting, service, and unserved times, enabling detailed simulation of complex systems.
  • The framework supports facility optimization by balancing operational costs and user delays, providing practical insights for resource provisioning.

The G-Queue Framework encompasses a broad class of queueing models featuring general arrival, service, and customer behavior processes, and forms the foundation for recursive, simulation-based, and analysis-driven approaches in queueing systems. The framework unifies diverse queue models—incorporating general interarrival and service distributions, multiple servers, complex queue capacity constructs, and path-dependent user behaviors—under a recursive algorithmic structure suitable for both performance evaluation and optimization in practical and theoretical settings (O'Neill, 2021).

1. Formal Model Definition and Variants

The canonical notation G/G/n/G/+G/G/n/G/+ encodes the most general member of this family, characterized by the following elements:

  • Arrivals: Arbitrary (general) interarrival process A(t)A(t) or interarrival times {Xi}\{X_i\}.
  • Service: General service-time distribution with per-user service requirements {Yi}\{Y_i\}.
  • Servers: nn identical servers (nNn\in\mathbb{N}).
  • Queue and Patience: General capacity definition and per-customer patience functions wi(k)w_i(k) specifying maximum wait conditioned on queue position.
  • Generalizations: Additional features (+), including server revival (reset/cleaning time r0r\ge 0) and closure times (Tarr,Tstart,Tend)(T_{\mathrm{arr}},T_{\mathrm{start}},T_{\mathrm{end}}) that restrict system operation.

Key state variables include each customer's arrival time tit_i, waiting time WiW_i, start of service σi=ti+Wi\sigma_i = t_i + W_i, completion time Ci=σi+uiC_i = \sigma_i + u_i, facility assignment Fi{1,,n}{NA}F_i\in\{1,\dots,n\}\cup\{\mathrm{NA}\}, and unserved time UiU_i. The system tracks each server's busy period via Dk,iD_{k,i} (delay until server ii next free at arrival of kkth customer), and recursively establishes queue-priority and effective patience per user: Πk(w)=1+i<k1{ti+Wi>tk+w}\Pi_k(w) = 1 + \sum_{i<k} \mathbf{1}\{ t_i + W_i > t_k + w \}

K^k=max{K:1Kk,  Πk(wk(K))K},Wkmax=wk(K^k)\hat K_k = \max\left\{K: 1\le K\le k,\;\Pi_k(w_k(K))\ge K\right\},\qquad W_k^{\mathrm{max}} = w_k(\hat K_k)

Wk=min{miniDk,i,Wkmax,Tstarttk}W_k = \min\left\{\,\min_i D_{k,i},\,W_k^{\mathrm{max}},\,T_{\mathrm{start}}-t_k\right\}

This generalizes special cases such as G/G/nG/G/n, G/G/n/sG/G/n/s, and models with explicit abandonment and state-dependent capacity (O'Neill, 2021).

2. Recursive Algorithmic Framework

Analysis and simulation of the G-Queue are founded on a stepwise recursive algorithm. For each customer k=1,,Kk=1,\ldots,K:

  • Server Delay Update: For each i=1,,ni=1,\dots,n,

Dk,imax{Dk1,i(tktk1),  0}D_{k,i} \leftarrow \max\{\,D_{k-1,i} - (t_k-t_{k-1}),\;0\}

  • Arrival After Closure: If tkTarrt_k\ge T_{\mathrm{arr}}, mark customer as unserved.
  • Wait Computation: Compute provisional wait W~k=miniDk,i\tilde W_k = \min_i D_{k,i}, maximal allowable wait via K^k\hat K_k, and set

Wk=min{W~k,wk(K^k),Tstarttk}W_k = \min\{\tilde W_k,\,w_k(\hat K_k),\,T_\mathrm{start}-t_k\}

  • Service Assignment: If Wk<W~kW_k<\tilde W_k, assign Fk=argminiDk,iF_k=\arg\min_i D_{k,i}, initiate service, and update server's release time. If not, record as unserved.
  • Unserved Time: Calculate UkU_k accounting for TendT_{\mathrm{end}}.

Pseudocode formalizing these recursions is included in (O'Neill, 2021).

This recursive mechanism enables computation of all relevant output sequences:

  • Waiting times ({Wk})(\{W_k\})
  • Use (service) times ({σk,Ck})(\{\sigma_k, C_k\})
  • Unserved (abandonment) times ({Uk})(\{U_k\})

For the special case of G/G/mG/G/m, the dynamics further reduce to explicit recursions involving max, min, and addition only (Krivulin, 2012): \begin{align*} A_{n} &= A_{n-1} + \alpha_{n} \ C_{n} &= \max(A_{n}, D_{n-m}) + \tau_{n} \ D_{n} &= \text{n-th order statistic of } {C_1,\ldots,C_{n+m-1}} \end{align*} This algebraic minimalism underpins both theoretical and simulation-based studies, admitting direct computation of waiting and sojourn time distributions.

3. Simulation and Visual Representation

Monte Carlo simulation within G-Queue proceeds by repeatedly sampling the input process—arrival epochs, service times, and patience profiles—followed by application of the recursive algorithm for each synthetic dataset. Typical steps:

  1. Generate {ti}\{t_i\}, {ui}\{u_i\}, and patience matrices wi(k)w_i(k) from the chosen generative laws (arbitrary, e.g., Poisson, Weibull, empirical distributions).
  2. Execute the recursive G-Queue algorithm for each simulation replicate.
  3. Aggregate metrics: sums/means of waiting, service, and unserved durations.

Variance reduction can be incorporated via common random numbers for server-count comparisons, antithetic sampling, or control variates.

To facilitate interpretation, the queuing plot provides a time-aligned graphical representation:

  • Horizontal axis: time.
  • Vertical: customers and servers.
  • Colors or styles: distinguish waiting, service, and unserved intervals.
  • Annotations: closure times and server revivals.

Post-processing includes empirical CDFs, histograms, and kernel density estimates of the key sample statistics. The simulation approach is directly realized in the R utilities package, with functions for system definition, execution, summary statistics, and graphical output (O'Neill, 2021).

4. Performance Optimization and Facility Sizing

A core application of the G-Queue framework is facilities optimization, where the number of servers nn is tuned to balance competing operational costs. The optimization functional is: L(n)=CFn+Cwi=1KWi+Cui=1KUi1{ti<Tarr}L(n) = C_F\,n + C_w\sum_{i=1}^K W_i + C_u\sum_{i=1}^K U_i\,\mathbf{1}\{t_i<T_{\mathrm{arr}}\} Estimated risk is computed as the mean loss over MM simulation runs: R^(n)=1Mm=1ML(m)(n)\widehat{R}(n) = \frac{1}{M} \sum_{m=1}^M L^{(m)}(n) Grid search in nn identifies

n^=argminnR^(n)\hat n = \arg\min_n \widehat{R}(n)

This formulation allows explicit cost-tradeoff analysis between facility provisioning, user delays, and abandonment, and supports statistical assessment via risk curves and boxplots across nn (O'Neill, 2021). Variance-reduction via common random numbers enhances the robustness of sensitivity assessments.

5. Specializations and Extensions Within the G-Queue Paradigm

The G-Queue framework encompasses and generalizes numerous classical and modern queueing structures:

  • Classical G/G/nG/G/n, G/G/1G/G/1, and G/G/n/sG/G/n/s queues: Reduced by specifying constant patience, infinite buffer, and omitting revival/closure times.
  • Finite buffer and shared resource control: Incorporated via constraints on ixi\sum_i x_i (total buffer occupancy) and via generalized patience functions.
  • State-space collapse and heavy-traffic theory: In multi-class models with shared capacity, the G-Queue recursive formalism supports diffusion approximations, yielding explicit asymptotically optimal control via the Harrison–Taksar free-boundary methodology, and proving near one-dimensional state-space collapse along minimizing-cost trajectories (Shifrin, 2015).
  • Network and information-theoretic extensions: In distributed network settings (e.g., cooperative relay), the G-Queue logic is carried over to virtual queue architectures, which succinctly model multi-hop, state-dependent, and coding-aware dynamics, with the same event-driven recursive backbone and Lyapunov-stability tools (Jose et al., 2010).
  • Product-form and algebraic extensions: In cases such as the original G-queue with positive/negative customers, the framework admits algebraic stationary analysis with product-form equilibrium and Poisson departure processes (0707.3449).
  • Scheduling and prioritization: In single-server (M/G/1) specialized G-Queue environments, the framework forms the analytical substrate for index-based (e.g., Gittins or cμc\mu) scheduling, optimality proofs, and policy evaluation (Scully et al., 2021).

6. Implementation and Computational Tools

The R utilities package provides a direct instantiation of the G-Queue framework, encapsulating arrival, service, patience, server configuration, and closure-time specification. Core functions include:

  • queue(): constructs and simulates the queuing instance.
  • plot.queue(): generates queue plots.
  • summary.queue(): computes aggregate statistics.
  • plot.summary.queue(): visualizes histogram summaries.

User interaction involves specifying input distributions, patience matrices, and facility counts, and then executing grid comparison, cost evaluation, and visualization procedures. Sample R code provided in (O'Neill, 2021) operationalizes batch simulations and facilities optimization in practice, allowing users to identify optimal provisioning strategies under complex and realistic behavioral and input assumptions.


The G-Queue Framework thus synthesizes generality, analytical tractability, and computational pragmatism, configuring a unified basis for queueing analysis under broad modeling assumptions and supporting both simulation-based and rigorous optimization of complex queueing systems (O'Neill, 2021, Krivulin, 2012, Jose et al., 2010, Shifrin, 2015, Scully et al., 2021, 0707.3449).

Whiteboard

Topic to Video (Beta)

Follow Topic

Get notified by email when new papers are published related to G-Queue Framework.