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

Mean Age of Information, its transform and the peak age of a GI/M/1 FCFS queue. More...

Include dependency graph for aoi_fcfs_gim1.h:

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.

Detailed Description

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.