LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::aoi Namespace Reference

Classes

struct  AoiLstResult
 [meanAoI, lstAoI, peakAoI], mirroring jline.api.aoi.AoiLstResult. More...
struct  AoiPh
 The (alpha, T) PH pair produced by aoi_dist2ph. More...
struct  AoiResult
 [meanAoI, varAoI, peakAoI], mirroring jline.api.aoi.AoiResult. More...

Typedefs

template<class T>
using Lst = std::function<T(const T&)>
 A Laplace-Stieltjes transform evaluated at real arguments.

Functions

template<class T>
AoiPh< T > aoi_dist2ph (const Matrix< T > &D0, const Matrix< T > &D1)
 Convert a MAP (D0, D1) into the PH pair (alpha, T).
template<class T>
AoiPh< T > aoi_dist2ph (const mam::Map< T > &m)
 Convenience overload taking the MAP as line::mam::Map.
template<class T>
AoiResult< T > aoi_fcfs_dm1 (const T &tau, const T &mu)
 Mean, variance and peak Age of Information of a D/M/1 FCFS queue.
template<class T>
AoiLstResult< T > 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.
template<class T>
AoiResult< T > aoi_fcfs_md1 (const T &lambda, const T &d)
 Mean, variance and peak Age of Information of an M/D/1 FCFS queue.
template<class T>
AoiLstResult< T > aoi_fcfs_mgi1 (const T &lambda, const Lst< T > &H_lst, const T &E_H, const T &E_H2)
 Mean Age of Information, its transform and the peak age of an M/GI/1 FCFS queue.
template<class T>
AoiResult< T > aoi_fcfs_mm1 (const T &lambda, const T &mu)
 Mean, variance and peak Age of Information of an M/M/1 FCFS queue.
template<class T>
AoiLstResult< T > aoi_lcfsd_gim1 (const Lst< T > &Y_lst, const T &mu, const T &E_Y)
 Mean and peak Age of Information of a GI/M/1 non-preemptive LCFS queue with discarding (LCFS-D, equivalently GI/M/1/2*).
template<class T>
AoiLstResult< T > aoi_lcfsd_mgi1 (const T &lambda, const T &E_H, const T &E_H2)
 Mean and peak Age of Information of an M/GI/1 non-preemptive LCFS queue with discarding (LCFS-D, equivalently M/GI/1/2*).
template<class T>
AoiResult< T > aoi_lcfspr_dm1 (const T &tau, const T &mu)
 Mean, variance and peak Age of Information of a D/M/1 preemptive LCFS queue.
template<class T>
AoiLstResult< T > aoi_lcfspr_gim1 (const Lst< T > &Y_lst, const T &mu, const T &E_Y)
 Mean Age of Information, its transform and the peak age of a GI/M/1 preemptive LCFS queue.
template<class T>
AoiResult< T > aoi_lcfspr_md1 (const T &lambda, const T &d)
 Mean, variance and peak Age of Information of an M/D/1 preemptive LCFS queue.
template<class T>
AoiLstResult< T > aoi_lcfspr_mgi1 (const T &lambda, const Lst< T > &H_lst, const T &E_H)
 Mean Age of Information, its transform and the peak age of an M/GI/1 preemptive LCFS queue.
template<class T>
AoiResult< T > aoi_lcfspr_mm1 (const T &lambda, const T &mu)
 Mean, variance and peak Age of Information of an M/M/1 preemptive LCFS queue.
template<class T>
AoiLstResult< T > aoi_lcfss_gim1 (const Lst< T > &Y_lst, const T &mu, const T &E_Y)
 Mean and peak Age of Information of a GI/M/1 non-preemptive LCFS queue with set-aside (LCFS-S).
template<class T>
AoiLstResult< T > aoi_lcfss_mgi1 (const T &lambda, const T &E_H, const T &E_H2)
 Mean and peak Age of Information of an M/GI/1 non-preemptive LCFS queue with set-aside (LCFS-S).
template<class T>
Lst< T > aoi_lst_det (const T &d)
 Laplace-Stieltjes transform of a deterministic (constant) distribution.
template<class T>
Lst< T > aoi_lst_erlang (unsigned k, const T &mu)
 Laplace-Stieltjes transform of an Erlang-k distribution.
template<class T>
Lst< T > aoi_lst_exp (const T &mu)
 Laplace-Stieltjes transform of an exponential distribution.
template<class T>
Lst< T > aoi_lst_ph (const std::vector< T > &alpha, const Matrix< T > &Tmat)
 Laplace-Stieltjes transform of a phase-type distribution PH(alpha, T).

Typedef Documentation

◆ Lst

template<class T>
using line::aoi::Lst = std::function<T(const T&)>

A Laplace-Stieltjes transform evaluated at real arguments.

Definition at line 41 of file aoi_types.h.

Function Documentation

◆ aoi_dist2ph() [1/2]

template<class T>
AoiPh< T > line::aoi::aoi_dist2ph ( const mam::Map< T > & m)

Convenience overload taking the MAP as line::mam::Map.

Definition at line 145 of file aoi_dist2ph.h.

References aoi_dist2ph(), line::mam::Map< T >::D0, and line::mam::Map< T >::D1.

◆ aoi_dist2ph() [2/2]

template<class T>
AoiPh< T > line::aoi::aoi_dist2ph ( const Matrix< T > & D0,
const Matrix< T > & D1 )

Convert a MAP (D0, D1) into the PH pair (alpha, T).

Parameters
D0hidden generator
D1arrival matrix

Definition at line 69 of file aoi_dist2ph.h.

References line::aoi::AoiPh< T >::alpha, aoi_dist2ph(), line::Matrix< T >::cols(), line::InputError::InputError(), line::NumericError::NumericError(), line::Matrix< T >::rows(), line::solve(), and line::aoi::AoiPh< T >::Tmat.

Referenced by aoi_dist2ph(), aoi_dist2ph(), and line::fluid::aoi_extract_params().

◆ aoi_fcfs_dm1()

template<class T>
AoiResult< T > line::aoi::aoi_fcfs_dm1 ( const T & tau,
const T & mu )

Mean, variance and peak Age of Information of a D/M/1 FCFS queue.

Parameters
taudeterministic interarrival time, > 0
muservice rate, > 0
Returns
[meanAoI, varAoI, peakAoI]

Definition at line 49 of file aoi_fcfs_dm1.h.

References aoi_fcfs_dm1().

Referenced by aoi_fcfs_dm1().

◆ aoi_fcfs_gim1()

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.

Parameters
Y_lstLST of the interarrival time
muservice rate, > 0
E_Ymean interarrival time, > 0
E_Y2second raw moment of the interarrival time, >= E_Y^2
Returns
[meanAoI, peakAoI, A*(s)]

Definition at line 55 of file aoi_fcfs_gim1.h.

References aoi_fcfs_gim1(), and line::InputError::InputError().

Referenced by aoi_fcfs_gim1().

◆ aoi_fcfs_md1()

template<class T>
AoiResult< T > line::aoi::aoi_fcfs_md1 ( const T & lambda,
const T & d )

Mean, variance and peak Age of Information of an M/D/1 FCFS queue.

Parameters
lambdaarrival rate, > 0
ddeterministic service time, > 0
Returns
[meanAoI, varAoI, peakAoI]

Definition at line 48 of file aoi_fcfs_md1.h.

References aoi_fcfs_md1().

Referenced by aoi_fcfs_md1().

◆ aoi_fcfs_mgi1()

template<class T>
AoiLstResult< T > line::aoi::aoi_fcfs_mgi1 ( const T & lambda,
const Lst< T > & H_lst,
const T & E_H,
const T & E_H2 )

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

Parameters
lambdaarrival rate, > 0
H_lstLST of the service time
E_Hmean service time, > 0
E_H2second raw moment of the service time, >= E_H^2
Returns
[meanAoI, peakAoI, A*(s)]

Definition at line 56 of file aoi_fcfs_mgi1.h.

References aoi_fcfs_mgi1(), and line::InputError::InputError().

Referenced by aoi_fcfs_mgi1().

◆ aoi_fcfs_mm1()

template<class T>
AoiResult< T > line::aoi::aoi_fcfs_mm1 ( const T & lambda,
const T & mu )

Mean, variance and peak Age of Information of an M/M/1 FCFS queue.

Parameters
lambdaarrival rate, > 0
muservice rate, > 0
Returns
[meanAoI, varAoI, peakAoI]

Definition at line 47 of file aoi_fcfs_mm1.h.

References aoi_fcfs_mm1().

Referenced by aoi_fcfs_mm1().

◆ aoi_lcfsd_gim1()

template<class T>
AoiLstResult< T > line::aoi::aoi_lcfsd_gim1 ( const Lst< T > & Y_lst,
const T & mu,
const T & E_Y )

Mean and peak Age of Information of a GI/M/1 non-preemptive LCFS queue with discarding (LCFS-D, equivalently GI/M/1/2*).

Parameters
Y_lstLST of the interarrival time
muservice rate, > 0
E_Ymean interarrival time, > 0
Returns
[meanAoI, peakAoI], no LST

Definition at line 53 of file aoi_lcfsd_gim1.h.

References aoi_lcfsd_gim1(), and line::InputError::InputError().

Referenced by aoi_lcfsd_gim1().

◆ aoi_lcfsd_mgi1()

template<class T>
AoiLstResult< T > line::aoi::aoi_lcfsd_mgi1 ( const T & lambda,
const T & E_H,
const T & E_H2 )

Mean and peak Age of Information of an M/GI/1 non-preemptive LCFS queue with discarding (LCFS-D, equivalently M/GI/1/2*).

Parameters
lambdaarrival rate, > 0
E_Hmean service time, > 0
E_H2second raw moment of the service time, >= E_H^2
Returns
[meanAoI, peakAoI], no LST

Definition at line 47 of file aoi_lcfsd_mgi1.h.

References aoi_lcfsd_mgi1(), and line::InputError::InputError().

Referenced by aoi_lcfsd_mgi1().

◆ aoi_lcfspr_dm1()

template<class T>
AoiResult< T > line::aoi::aoi_lcfspr_dm1 ( const T & tau,
const T & mu )

Mean, variance and peak Age of Information of a D/M/1 preemptive LCFS queue.

Parameters
taudeterministic interarrival time, > 0
muservice rate, > 0
Returns
[meanAoI, varAoI, peakAoI]

Definition at line 43 of file aoi_lcfspr_dm1.h.

References aoi_lcfspr_dm1().

Referenced by aoi_lcfspr_dm1().

◆ aoi_lcfspr_gim1()

template<class T>
AoiLstResult< T > line::aoi::aoi_lcfspr_gim1 ( const Lst< T > & Y_lst,
const T & mu,
const T & E_Y )

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

Parameters
Y_lstLST of the interarrival time
muservice rate, > 0
E_Ymean interarrival time, > 0
Returns
[meanAoI, peakAoI, A*(s)]

Definition at line 47 of file aoi_lcfspr_gim1.h.

References aoi_lcfspr_gim1(), line::InputError::InputError(), and line::NumericError::NumericError().

Referenced by aoi_lcfspr_gim1().

◆ aoi_lcfspr_md1()

template<class T>
AoiResult< T > line::aoi::aoi_lcfspr_md1 ( const T & lambda,
const T & d )

Mean, variance and peak Age of Information of an M/D/1 preemptive LCFS queue.

Parameters
lambdaarrival rate, > 0
ddeterministic service time, > 0
Returns
[meanAoI, varAoI, peakAoI]

Definition at line 45 of file aoi_lcfspr_md1.h.

References aoi_lcfspr_md1().

Referenced by aoi_lcfspr_md1().

◆ aoi_lcfspr_mgi1()

template<class T>
AoiLstResult< T > line::aoi::aoi_lcfspr_mgi1 ( const T & lambda,
const Lst< T > & H_lst,
const T & E_H )

Mean Age of Information, its transform and the peak age of an M/GI/1 preemptive LCFS queue.

Parameters
lambdaarrival rate, > 0
H_lstLST of the service time
E_Hmean service time, > 0
Returns
[meanAoI, peakAoI, A*(s)]

Definition at line 49 of file aoi_lcfspr_mgi1.h.

References aoi_lcfspr_mgi1(), line::InputError::InputError(), and line::NumericError::NumericError().

Referenced by aoi_lcfspr_mgi1().

◆ aoi_lcfspr_mm1()

template<class T>
AoiResult< T > line::aoi::aoi_lcfspr_mm1 ( const T & lambda,
const T & mu )

Mean, variance and peak Age of Information of an M/M/1 preemptive LCFS queue.

Parameters
lambdaarrival rate, > 0
muservice rate, > 0
Returns
[meanAoI, varAoI, peakAoI]

Definition at line 41 of file aoi_lcfspr_mm1.h.

References aoi_lcfspr_mm1().

Referenced by aoi_lcfspr_mm1().

◆ aoi_lcfss_gim1()

template<class T>
AoiLstResult< T > line::aoi::aoi_lcfss_gim1 ( const Lst< T > & Y_lst,
const T & mu,
const T & E_Y )

Mean and peak Age of Information of a GI/M/1 non-preemptive LCFS queue with set-aside (LCFS-S).

Parameters
Y_lstLST of the interarrival time
muservice rate, > 0
E_Ymean interarrival time, > 0
Returns
[meanAoI, peakAoI], no LST

Definition at line 49 of file aoi_lcfss_gim1.h.

References aoi_lcfss_gim1(), and line::InputError::InputError().

Referenced by aoi_lcfss_gim1().

◆ aoi_lcfss_mgi1()

template<class T>
AoiLstResult< T > line::aoi::aoi_lcfss_mgi1 ( const T & lambda,
const T & E_H,
const T & E_H2 )

Mean and peak Age of Information of an M/GI/1 non-preemptive LCFS queue with set-aside (LCFS-S).

Parameters
lambdaarrival rate, > 0
E_Hmean service time, > 0
E_H2second raw moment of the service time, >= E_H^2
Returns
[meanAoI, peakAoI], no LST

Definition at line 50 of file aoi_lcfss_mgi1.h.

References aoi_lcfss_mgi1(), line::InputError::InputError(), and line::num_pow_int().

Referenced by aoi_lcfss_mgi1().

◆ aoi_lst_det()

template<class T>
Lst< T > line::aoi::aoi_lst_det ( const T & d)

Laplace-Stieltjes transform of a deterministic (constant) distribution.

Parameters
dconstant value, > 0
Returns
s -> exp(-s d)

Definition at line 37 of file aoi_lst_det.h.

References aoi_lst_det().

Referenced by aoi_lst_det().

◆ aoi_lst_erlang()

template<class T>
Lst< T > line::aoi::aoi_lst_erlang ( unsigned k,
const T & mu )

Laplace-Stieltjes transform of an Erlang-k distribution.

Parameters
knumber of phases, >= 1
muper-phase rate, > 0
Returns
s -> (mu/(mu+s))^k

Definition at line 37 of file aoi_lst_erlang.h.

References aoi_lst_erlang(), line::InputError::InputError(), and line::num_pow_int().

Referenced by aoi_lst_erlang().

◆ aoi_lst_exp()

template<class T>
Lst< T > line::aoi::aoi_lst_exp ( const T & mu)

Laplace-Stieltjes transform of an exponential distribution.

Parameters
murate, > 0 (mean 1/mu)
Returns
s -> mu/(mu+s)

Definition at line 36 of file aoi_lst_exp.h.

References aoi_lst_exp().

Referenced by aoi_lst_exp().

◆ aoi_lst_ph()

template<class T>
Lst< T > line::aoi::aoi_lst_ph ( const std::vector< T > & alpha,
const Matrix< T > & Tmat )

Laplace-Stieltjes transform of a phase-type distribution PH(alpha, T).

Parameters
alphainitial probability row vector, length n
Tmatsub-generator, n x n
Returns
s -> alpha (sI - Tmat)^{-1} (-Tmat e)

Definition at line 48 of file aoi_lst_ph.h.

References aoi_lst_ph(), line::Matrix< T >::cols(), line::InputError::InputError(), line::lu_factor(), line::lu_solve(), line::mulvec(), line::ones(), and line::Matrix< T >::rows().

Referenced by aoi_lst_ph().