![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Geo/Geo/1: the discrete-time single-server queue with geometric interarrival and service times. More...
Go to the source code of this file.
Classes | |
| struct | line::dqsys::GeoGeo1Result< T > |
Namespaces | |
| namespace | line |
| namespace | line::dqsys |
Enumerations | |
| enum class | line::dqsys::GeoConvention { line::dqsys::LAS_DA , line::dqsys::EAS } |
Functions | |
| template<class T> | |
| T | line::dqsys::dqsys_geogeo1_pmf (const GeoGeo1Result< T > &r, int n) |
| Stationary queue-length pmf under the convention of the result. | |
| template<class T> | |
| GeoGeo1Result< T > | line::dqsys::dqsys_geogeo1 (const T &a, const T &s, GeoConvention convention=GeoConvention::LAS_DA) |
| Geo/Geo/1: the discrete-time single-server queue with geometric interarrival and service times. | |
Geo/Geo/1: the discrete-time single-server queue with geometric interarrival and service times.
Templated port of matlab/src/api/qsys/dqsys_geogeo1.m. Two timing conventions are in use in the literature and both are supported, as in MATLAB:
LAS_DA (late arrival, delayed access): an arrival in a slot cannot be served in that slot. Empty probability 1 - rho, mean queue length a(1-a)/(s-a). EAS (early arrival): the arrival is eligible immediately. Empty probability 1 - r with r = a(1-s)/(s(1-a)), mean queue length a(1-s)/(s-a).
The distinction is not cosmetic: the two conventions give different empty probabilities, different mean queue lengths and different mean service times for the same (a, s). Daduna (LNCS 2046, Cor. 2.7) is the reference that ties the LAS_DA form to the continuous-time Geo/Geo/1 term for term.
Everything here is a rational function of a and s, so the exact instantiation gives the stationary quantities with no rounding. That is worth having in the slotted setting, where the interesting regime is s - a small and the double evaluation of a(1-s)/(s(s-a)) loses digits exactly there.
Definition in file dqsys_geogeo1.h.