Skip to content

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


🔍 Key Features

  • Simulation: Model various types of queueing systems and networks.
  • Numerical Methods: Solve steady-state problems in queueing theory.
  • Performance Metrics: Analyze waiting times, sojourn times, load factors, and more.

📌 Use Cases

  • Cloud Computing: Model infrastructure scalability and performance.
  • Call Centers: Optimize staffing and customer wait times.
  • Transportation: Improve traffic flow and logistics.
  • Network Traffic: Analyze and predict data flow patterns.

📦 Installation

  pip install most-queue

Or install from the repository:

  pip install -e .

📚 Project Overview

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.

🧪 Example Use Cases

FIFO Queueing Systems

# 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

Queueing Systems 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

Queueing Systems 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

Queueing Systems with Negative arrivals

# Kendall Notations Description Example Tutorial
1. M/G/1 RCS Exact calculation of sojourn time for M/G/1 with RCS (remove customer from service) negative arrivals. Service time approximates by H2 or Gamma distribution link
2. M/G/c RCS Numerical calculation of M/G/c with RCS negative arrivals. Service time approximates by H2 distribution link
3. M/G/c disaster Numerical calculation of M/G/c with disaster (remove all customer from service and queue by negative arrival). Service time approximates by H2 distribution link

Fork-Join Queueing Systems

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

Others

# Kendall Notations Description Example Tutorial
1. Mx/M/1 Solving for the of Mx/M/1 QS with batch arrival link
2. M/M/1/D Solving for M/M/1 with exponential impatience link
3. M/M/1/N Solving for the Engset model for M/M/1 with a finite number of sources. link
4. Queuing Network Numerical calculation of queuing network link
5. Queuing Network with Priorities Numerical calculation of queuing network with priorities in nodes link link
6. Queuing Network Optimization Optimization of queuing network transition matrix link

🔍 Search & Indexing Keywords

  • Queueing theory
  • Simulation
  • Numerical methods
  • Queueing networks
  • Performance analysis
  • Cloud computing
  • Call center optimization
  • Transportation systems
  • Network traffic
  • Python package

📁 Examples & Tutorials

  • Look here for examples
  • Look here for jupyter tutorials

👥 Contributing

Contributions are welcome!

  • Open an issue for bugs or suggestions.
  • Submit a pull request for feature enhancements.
  • Contact me at [email protected] for questions.