Skip to content

Python package for calculation and simulation of queueing systems (QS) and networks.

License

Notifications You must be signed in to change notification settings

xabarov/most-queue

Repository files navigation

Queueing Systems: Simulation & Numerical Methods

Queue

A Python package for simulating and analyzing queueing systems (QS) and networks.

GitHub commit activity

About

This repository focuses on solving steady-state problems in queueing theory.

Key Features:

  • Simulate various types of queueing systems and networks.
  • Numerical methods for solving queueing theory problems.
  • Analyze system performance metrics such as waiting times, soujourn times, load factor and etc.

Use Cases

  • Modeling cloud computing infrastructure.
  • Designing efficient call centers.
  • Optimizing transportation systems.
  • Network traffic analysis.

Contributing

Contributions are welcome! If you find any issues or have suggestions, please open an issue. Your pull requests are also appreciated. You can write me at [email protected]


Installation

Install most-queue with pip

  pip install most-queue

Description of the Project

Most_queue consists of two main parts:

  • most_queue.theory contains programs that implement methods for calculating queueing theory models.
  • most_queue.sim contains simulation programs.

See examples in the tests folder:

FIFO QS

# Kendall Notations Description Example Tutorial
1. Ek/D/c Numerical calculation of a multi-channel system Ek/D/n link
2. GI/M/1 Solving for QS GI/M/1 link
3. GI/M/c Solving for QS GI/M/c link
4. M/D/c Solving for QS M/D/c link link
5. M/G/1 Solving for QS M/G/1 link
6. M/H2/c Numerical calculation of QS M/H2/c by the Takahashi-Takami method with complex parameters when approximating the serving time by the H2-distribution link link
7. M/M/c/r Solving for QS M/M/c/r link link

QS with priorities

# Kendall Notations Description Example Tutorial
1. M/Ph/c/PR Numerical calculation of QS M/Ph/c with 2 classes and PR - priority. Based on the approximation of busy periods link
2. M/M/c/PR Numerical calculation of QS M/M/c with 2 classes, PR - priority by the Takahashi-Takami numerical method based on the approximation of the busy period by the Cox distribution link
3. M/M/c/PR Numerical calculation of QS M/M/c with 3 classes, PR - priority by the Takahashi-Takami numerical method based on the approximation of busy period by the Cox distribution link
4. M/G/1/PR Calculating QS with preemtive priorities (single-channel). link link
5. M/G/1/NP Calculating QS with non-preemtive priorities (single-channel). link link
6. M/G/c/Priority Calculating QS with NP and PR (multi-channel) by method of relation link link

Fork-Join QS

# Kendall Notations Description Example Tutorial
1. M/M/c/Fork-Join Solving for Fork-Join queueing system link
1. M/G/c/Split-Join Solving for Split-Join queueing system link

QS with Batch Arrival

# Kendall Notations Description Example Tutorial
1. Mx/M/1 Solving for the of Mx/M/1 QS with batch arrival link

QS with Vacations

# Kendall Notations Description Example Tutorial
1. M/H2/c Numerical calculation of the M/H2/c system with H2-warming using the Takahasi-Takagi method. link link
2. M/G/1 Solving for QS M/G/1 with warm-up
3. M/Ph/c Multichannel queuing system with H2-serving time, H2-warm-up, H2-cold delay and H2-cold (vacations). The system uses complex parameters, which allows you to calculate systems with arbitrary serving, warm-up, cold-delay and cold variation coefficients link
4. M/M/c Multichannel queuing system with exp serving time, H2-warm-up and H2-cold (vacations). The system uses complex parameters, which allows to calculate systems with arbitrary warm-up and cold variation coefficients link

QS with Impatience

# Kendall Notations Description Example Tutorial
1. M/M/1/D Solving for M/M/1 with exponential impatience link

Closed QS (with finite number of sources)

# Kendall Notations Description Example Tutorial
1. M/M/1/N Solving for the Engset model for M/M/1 with a finite number of sources. link

Queuing Networks

# Kendall Notations Description Example Tutorial
1. General Network Numerical calculation of queuing network with priorities in nodes link

Usage

  • Look here for examples
  • Look here for jupyter tutorials