Skip to main content

Software package for calculation and simulation of queuing systems

Project description

Queueing Systems: Simulation & Numerical Methods 🔄

Queue

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

GitHub commit activity


Most-Queue 2.0 Release Notes

  1. New similar API for both simulation and calculation classes:
# ... initialize NUM_OF_CHANNELS and other parameters ...

# run calculation
tt = MGnCalc(n=NUM_OF_CHANNELS)

tt.set_sources(l=ARRIVAL_RATE)
tt.set_servers(b=b)

calc_results = tt.run()

# run simulation
qs = QsSim(NUM_OF_CHANNELS)

qs.set_sources(ARRIVAL_RATE, "M")
qs.set_servers(gamma_params, "Gamma")

sim_results = qs.run(NUM_OF_JOBS)

See more examples in tests and tutorials folders.

  1. Refactored code for better readability and maintainability.

🔍 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/G/1/PR Calculating QS with preemtive priorities (single-channel). link link
4. M/G/1/NP Calculating QS with non-preemtive priorities (single-channel). link link
5. 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 Takahashi-Takami 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 tests for examples with comparison of theoretical and simulation results.
  • Look tutorials for jupyter tutorials

👥 Contributing

Contributions are welcome!

  • Open an issue for bugs or suggestions.
  • Submit a pull request for feature enhancements.
  • Contact me at xabarov1985@gmail.com for questions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

most_queue-2.4.tar.gz (5.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

most_queue-2.4-py3-none-any.whl (180.4 kB view details)

Uploaded Python 3

File details

Details for the file most_queue-2.4.tar.gz.

File metadata

  • Download URL: most_queue-2.4.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for most_queue-2.4.tar.gz
Algorithm Hash digest
SHA256 9bd1dcc593037bbbf6e5d6d45cb3f00624cc54e6d9a035254d0eb8c57d752e78
MD5 a9f87c80761dc5f04bf52e9129675f5e
BLAKE2b-256 2618f8415ed883ec2b865205a9ba088e6053713bbf4421c260aa0eef185eb125

See more details on using hashes here.

File details

Details for the file most_queue-2.4-py3-none-any.whl.

File metadata

  • Download URL: most_queue-2.4-py3-none-any.whl
  • Upload date:
  • Size: 180.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for most_queue-2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 afe933bb15e53a34972a84b56091eb8830a45a999a71a14af0266b767e8a1671
MD5 23a2fbcc4b3ddeabc04cd19b25f85cab
BLAKE2b-256 d0a434791108d0f947cf02229b44a2c25f72823d5cd9ff372287ed3425c2c1bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page