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 xabarov1985@gmail.com


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