Queueing Systems

Single-station queueing system analysis.

The qsys module provides exact and approximate formulas for single queueing systems such as M/M/c, M/G/1, G/G/1, and their variants.

Key function categories:

  • Exact solutions: qsys_mm1(), qsys_mmk(), qsys_mg1(), qsys_gm1()

  • G/G/1 approximations: qsys_gig1_approx_kingman(), qsys_gig1_approx_kimura(), qsys_gig1_approx_marchal()

  • Multi-server approximations: qsys_gigk_approx(), qsys_gigk_approx_kingman()

  • Loss systems: qsys_mm1k_loss(), qsys_mg1k_loss(), qsys_mg1k_loss_mgs()

  • Performance bounds: qsys_gig1_ubnd_kingman()

  • Discrete time (slotted): qsys_geogeo1(), qsys_geoxgeo1(), qsys_geoxgeo1_moments()

Native Python implementations for queueing system analysis.

This module provides pure Python/NumPy implementations for analyzing single queueing systems, including basic queues (M/M/1, M/M/k, M/G/1), G/G/1 approximations, MAP-based queues, and scheduling disciplines.

Key algorithms:

Basic queues: qsys_mm1, qsys_mmk, qsys_mg1, qsys_gm1, qsys_mminf, qsys_mginf G/G/1 approximations: Allen-Cunneen, Kingman, Marchal, Whitt, Heyman, etc. G/G/k approximations: qsys_gigk_approx MAP/D queues: qsys_mapdc, qsys_mapd1 MAP/PH queues: qsys_phph1, qsys_mapph1, qsys_mapm1, qsys_mapmc, qsys_mapmap1 Scheduling: qsys_mg1_prio, qsys_mg1_srpt, qsys_mg1_fb, etc. Loss systems: qsys_mm1k_loss, qsys_mg1k_loss, qsys_mxm1 Exact finite buffer: qsys_mapg1k, qsys_mmapg1k, qsys_mapg1k_perflow, qsys_svclaw_coeffs Synchronous M/G/c/K bounds: qsys_mgck_sync Conditional Lindley: qsys_mm1_lindley, qsys_hh1_lindley, qsys_tandem_lindley Tandem tail bounds: qsys_tandem_ub_ciucu Abandonment: qsys_mgisrgi_whitt (M/GI/s/r+GI), qsys_erlanga (M/M/s/r+M), qsys_ggisgi_fluid (G/GI/s+GI fluid limit) QED regime: qsys_mmk_qed, qsys_mmk_qed_alpha, qsys_mmk_qed_staffing Time-varying: qsys_mtginf (Mt/G/inf, exact) Extremal bounds: qsys_gig1_bnds_extremal Time-varying fluid: qsys_gtmtst_fluid (Gt/Mt/st+GI) Diffusion: qsys_ggnm_diffusion (G/GI/n/m), qsys_ggingi_tga (G/GI/n+GI)