![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Mean Age of Information, its transform and the peak age of a GI/M/1 FCFS queue. More...
Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::aoi |
Functions | |
| template<class T> | |
| AoiLstResult< T > | line::aoi::aoi_fcfs_gim1 (const Lst< T > &Y_lst, const T &mu, const T &E_Y, const T &E_Y2) |
| Mean Age of Information, its transform and the peak age of a GI/M/1 FCFS queue. | |
Mean Age of Information, its transform and the peak age of a GI/M/1 FCFS queue.
Templated port of matlab/src/api/aoi/aoi_fcfs_gim1.m, cross-checked against jar/src/main/java/jline/api/aoi/Aoi_fcfs_gim1.java (identical).
sigma solves Y*(mu - mu sigma) = sigma in (0,1); eta = mu (1 - sigma) E[D] = 1/eta E[A] = lambda E[Y^2]/2 + 1/mu + lambda (-Y*'(eta))/eta E[Apeak] = E[Y] + E[D] A*(s) = (lambda/s) * ( T*(s) - Apeak*(s) ) (Theorem 3) with T*(s) = eta/(s + eta) the exponential system time and Apeak*(s) = mu/(s + mu) * ( Y*(s) - s/(s + eta) * Y*(s + eta) )
from Inoue et al. (2019). The stationary system time is exponential with rate eta and independent of the next interarrival, which is why the correlation term reduces to -Y*'(eta)/eta.
static_assert(num_traits<T>::has_transcendental) – a bracketed root of a transcendental equation plus MATLAB's finite-difference derivative.
Note that MATLAB uses the argument E_Y2 in the mean but never validates it against Y_lst, so an inconsistent pair silently produces an inconsistent answer; the port keeps that behaviour and only checks E_Y2 >= E_Y^2.
Definition in file aoi_fcfs_gim1.h.