Skip to content

INFORMSJoC/2025.1626

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INFORMS Journal on Computing Logo

Stationary Coupled-Flow Approximation for Time-Varying Retrial Queues

This archive is distributed in association with the INFORMS Journal on Computing under MIT License.

The software and data in this repository are a snapshot of the software that was used in the research reported in the paper Stationary Coupled-Flow Approximation for Time-Varying Retrial Queues by Ö. Schmiel, B. Legros, and R. Stolletz.

Cite

To cite the contents of this repository, please cite both the paper and this repo, using their respective DOIs.

https://doi.org/10.1287/ijoc.2025.1626

https://doi.org/10.1287/ijoc.2025.1626.cd

Below is the BibTeX for citing this snapshot of the repository.

@misc{Schmiel2026,
  author =     {Ömer Schmiel and Benjamin Legros and Raik Stolletz},
  publisher =  {INFORMS Journal on Computing},
  title =      {{Stationary Coupled-Flow Approximation for Time-Varying Retrial Queues}},
  year =       {2026},
  doi =        {10.1287/ijoc.2025.1626.cd},
  url =        {https://github.com/INFORMSJoC/2025.1626},
  note =       {Available for download at https://github.com/INFORMSJoC/2025.1626},
}

Description

This repository contains the implementation of the Stationary Coupled-Flow (SCF) approximation for the analysis of time-dependent and stationary queueing systems with retrials after reneging.

All source code in this repository was written by the authors for this project, unless otherwise noted.

It includes:

  • a stationary SCF calculation (stationary limit) under constant arrival rates;
  • a time-dependent SCF calculation under time-dependent arrival rates;
  • relevant formulas for the calculation of performance measures and retrial time discretization;
  • precomputed retrial dictionaries for exponential, Erlang, hyperexponential, and deterministic retrial time distributions.

The default executable script, main.py, first prints stationary-limit performance measures and then runs the time-dependent sinusoidal experiment for several retrial-time distributions.

Repository Structure

  • main.py: runs stationary and time-dependent experiments.
  • algorithms/scf.py: SCF algorithms for stationary-limit and time-dependent calculations.
  • problems/sinus.py: sinusoidal offered-load and arrival-rate problem generator.
  • utils/utils.py: relevant formulas for the calculation of performance measures.
  • utils/utils_retrials.py: retrial-time probability calculations.
  • retrial_dictionary/: compressed .pbz2 precomputed retrial dictionaries used by the time-dependent experiments.
  • results/: generated automatically when main.py runs; Excel files are written under results/<YYYY-MM-DD>/SCF/<problem-name>/.

Requirements

Install the Python dependencies with:

pip install -r requirements.txt

Recommended environment: Python 3.11 with the package versions listed in requirements.txt.

Running

From the repository root, run:

python main.py

The script executes:

  1. run_stationary_limit(), which returns relevant stationary performance measures (abandonment probability, utilization, expected queue length, and expected orbit size) based on the stationary limit of the SCF approximation for given parameter combinations
  2. run_time_dependent(), which returns the sinusoidal time-dependent example for exponential, Erlang, hyperexponential, and deterministic retrial time distributions.

Precomputed retrial dictionaries from retrial_dictionary/ can be used when matching files are available. If a matching dictionary is not available, these are computed using utils/utils_retrials.py.

To modify experiments, edit the parameter values in run_time_dependent() or run_stationary_limit() in main.py.

Results

main.py writes time-dependent SCF output to Excel files in:

results/<YYYY-MM-DD>/SCF/<problem-name>/

Each workbook is named according to the retrial-time distribution and parameters, for example:

SCF_exponential_mean120_cv1.xlsx
SCF_erlang_mean120_cv0.5.xlsx

Each workbook contains:

  • Performance Measures: time-indexed arrival rates, server and service parameters, utilization, queue length, orbit size, and abandonment probability.
  • Retrial Specifics: metadata describing the problem set, retrial distribution, and retrial-specific parameters.

The time-dependent analysis utilizes precomputed retrial dictionaries from retrial_dictionary/ when matching files are available. If a matching dictionary is not available, the code attempts to compute the dictionary at runtime using utils/utils_retrials.py.

To change the experiment, edit the parameter values in run_time_dependent() or run_stationary_limit() in main.py.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages