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.5.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.5-py3-none-any.whl (180.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: most_queue-2.5.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.5.tar.gz
Algorithm Hash digest
SHA256 9cdb5ba9136612c25d392f31025e479d46d89eeb6eb3d509ea3d2e33ec6985b8
MD5 38192acbec154beb33719954f5ffa660
BLAKE2b-256 87ecc8aa9067f35921065e75a56fcf0a69c0d999e02bbb15073c8c9dd318fc54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: most_queue-2.5-py3-none-any.whl
  • Upload date:
  • Size: 180.0 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f26be78809fe8467568b19d9e4ddbc8f33caddd09d53c1ddb01d239e99e05937
MD5 6561715489e236fec7869e44ddc771f4
BLAKE2b-256 420ae7a450996c00425d59dd9123ebaa62ef7cdf208f4768179593705bfc877d

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