LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches

Geo/Geo/1: the discrete-time single-server queue with geometric interarrival and service times. More...

#include <cstddef>
#include <string>
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for dqsys_geogeo1.h:

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>
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.

Detailed Description

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.