A Continuous Kolmogorov Equation (CKE) solver for M/M/1 queueing systems.
Overview
mm1cke provides a fast and accurate solver for the transient behavior of M/M/1 queues using the continuous Kolmogorov equations (CKE). It is designed for researchers and practitioners in operations research, queueing theory, and performance analysis.
Features
Transient analysis of M/M/1 queues
Vectorized and efficient implementation
Outputs results as Polars DataFrames
Easy integration with scientific Python stack
Installation
Install with pip:
pip install mm1cke
Requirements
Python >= 3.11
simpy >= 4.1, < 5
matplotlib >= 3.10, < 4
polars >= 1.30, < 4
rich >= 14
scipy >= 1.15
seaborn >= 0.13
pydantic >= 2.11
Usage Example
from mm1cke import TransientCase, solve_transient
case = TransientCase(L_0=9, λ=0.88, μ=1, ls_max=500, time_step=0.5)
probs_df = solve_transient(case)
print(probs_df)
# Calculate performance measures (mean and coefficient of variation)
from mm1cke.utils import calculate_performance_measures
plot_df = calculate_performance_measures(probs_df)
print(plot_df)
# Plotting (optional)
import seaborn as sns
import matplotlib.pyplot as plt
ax = sns.lineplot(plot_df, x="t", y="e_l_s")
plt.show()
API Reference
mm1cke.TransientCase: Configuration for a transient M/M/1 queue case.
mm1cke.solve_transient(case: TransientCase) -> polars.DataFrame: Solves the transient CKE for the given case.
mm1cke.utils.calculate_performance_measures(probs_df: polars.DataFrame): Computes mean and coefficient of variation of the queue length over time.
Project Links
Homepage: https://github.com/smz70/MM1CKE
Bug Tracker: https://github.com/smz70/MM1CKE/issues
License
MIT License. See LICENSE file for details.
Metadata
Release files for mm1cke 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mm1cke-0.4.2.tar.gz | 5.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mm1cke-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / mm1cke-0.4.2.tar.gz
| Download URL | mm1cke-0.4.2.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e50d292293ae471f4a9f74d46f1627c379929d26a407551f2da850b70262bae9
|
|
BLAKE2b-256 checksum How to use checksums |
8988138bed4d5b1f77776ee43bddc28a0fad0318b888cb0f4f0c3e00581198a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.2
|
Release files / mm1cke-0.4.2-py3-none-any.whl
| Download URL | mm1cke-0.4.2-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b5923ce9d9f669996b167e61abbc6136e6bde61957fe3ac570c1410c5ef050f
|
|
BLAKE2b-256 checksum How to use checksums |
caa58b338e874e3d747f1563ce3f6c6798b59baff74508921df9d0cb65ca640e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.2
|