Software package for calculation and simulation of queuing systems
Project description
Queueing Systems: Simulation & Numerical Methods 🔄
A Python package for simulating and analyzing queueing systems (QS) and networks.
Most-Queue 2.0 Release Notes
- 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.
- 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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
most_queue-2.4-py3-none-any.whl
(180.4 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bd1dcc593037bbbf6e5d6d45cb3f00624cc54e6d9a035254d0eb8c57d752e78
|
|
| MD5 |
a9f87c80761dc5f04bf52e9129675f5e
|
|
| BLAKE2b-256 |
2618f8415ed883ec2b865205a9ba088e6053713bbf4421c260aa0eef185eb125
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afe933bb15e53a34972a84b56091eb8830a45a999a71a14af0266b767e8a1671
|
|
| MD5 |
23a2fbcc4b3ddeabc04cd19b25f85cab
|
|
| BLAKE2b-256 |
d0a434791108d0f947cf02229b44a2c25f72823d5cd9ff372287ed3425c2c1bb
|