![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
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). | |
| 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.
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.
| 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).
| D0 | hidden generator |
| D1 | arrival 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().
| 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.
| tau | deterministic interarrival time, > 0 |
| mu | service rate, > 0 |
Definition at line 49 of file aoi_fcfs_dm1.h.
References aoi_fcfs_dm1().
Referenced by aoi_fcfs_dm1().
| 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.
| Y_lst | LST of the interarrival time |
| mu | service rate, > 0 |
| E_Y | mean interarrival time, > 0 |
| E_Y2 | second raw moment of the interarrival time, >= E_Y^2 |
Definition at line 55 of file aoi_fcfs_gim1.h.
References aoi_fcfs_gim1(), and line::InputError::InputError().
Referenced by aoi_fcfs_gim1().
| 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.
| lambda | arrival rate, > 0 |
| d | deterministic service time, > 0 |
Definition at line 48 of file aoi_fcfs_md1.h.
References aoi_fcfs_md1().
Referenced by aoi_fcfs_md1().
| 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.
| lambda | arrival rate, > 0 |
| H_lst | LST of the service time |
| E_H | mean service time, > 0 |
| E_H2 | second raw moment of the service time, >= E_H^2 |
Definition at line 56 of file aoi_fcfs_mgi1.h.
References aoi_fcfs_mgi1(), and line::InputError::InputError().
Referenced by aoi_fcfs_mgi1().
| 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.
| lambda | arrival rate, > 0 |
| mu | service rate, > 0 |
Definition at line 47 of file aoi_fcfs_mm1.h.
References aoi_fcfs_mm1().
Referenced by aoi_fcfs_mm1().
| 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*).
| Y_lst | LST of the interarrival time |
| mu | service rate, > 0 |
| E_Y | mean interarrival time, > 0 |
Definition at line 53 of file aoi_lcfsd_gim1.h.
References aoi_lcfsd_gim1(), and line::InputError::InputError().
Referenced by aoi_lcfsd_gim1().
| 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*).
| lambda | arrival rate, > 0 |
| E_H | mean service time, > 0 |
| E_H2 | second raw moment of the service time, >= E_H^2 |
Definition at line 47 of file aoi_lcfsd_mgi1.h.
References aoi_lcfsd_mgi1(), and line::InputError::InputError().
Referenced by aoi_lcfsd_mgi1().
| 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.
| tau | deterministic interarrival time, > 0 |
| mu | service rate, > 0 |
Definition at line 43 of file aoi_lcfspr_dm1.h.
References aoi_lcfspr_dm1().
Referenced by aoi_lcfspr_dm1().
| 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.
| Y_lst | LST of the interarrival time |
| mu | service rate, > 0 |
| E_Y | mean interarrival time, > 0 |
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().
| 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.
| lambda | arrival rate, > 0 |
| d | deterministic service time, > 0 |
Definition at line 45 of file aoi_lcfspr_md1.h.
References aoi_lcfspr_md1().
Referenced by aoi_lcfspr_md1().
| 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.
| lambda | arrival rate, > 0 |
| H_lst | LST of the service time |
| E_H | mean service time, > 0 |
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().
| 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.
| lambda | arrival rate, > 0 |
| mu | service rate, > 0 |
Definition at line 41 of file aoi_lcfspr_mm1.h.
References aoi_lcfspr_mm1().
Referenced by aoi_lcfspr_mm1().
| 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).
| Y_lst | LST of the interarrival time |
| mu | service rate, > 0 |
| E_Y | mean interarrival time, > 0 |
Definition at line 49 of file aoi_lcfss_gim1.h.
References aoi_lcfss_gim1(), and line::InputError::InputError().
Referenced by aoi_lcfss_gim1().
| 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).
| lambda | arrival rate, > 0 |
| E_H | mean service time, > 0 |
| E_H2 | second raw moment of the service time, >= E_H^2 |
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().
| Lst< T > line::aoi::aoi_lst_det | ( | const T & | d | ) |
Laplace-Stieltjes transform of a deterministic (constant) distribution.
| d | constant value, > 0 |
Definition at line 37 of file aoi_lst_det.h.
References aoi_lst_det().
Referenced by aoi_lst_det().
| Lst< T > line::aoi::aoi_lst_erlang | ( | unsigned | k, |
| const T & | mu ) |
Laplace-Stieltjes transform of an Erlang-k distribution.
| k | number of phases, >= 1 |
| mu | per-phase rate, > 0 |
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().
| Lst< T > line::aoi::aoi_lst_exp | ( | const T & | mu | ) |
Laplace-Stieltjes transform of an exponential distribution.
| mu | rate, > 0 (mean 1/mu) |
Definition at line 36 of file aoi_lst_exp.h.
References aoi_lst_exp().
Referenced by aoi_lst_exp().
| 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).
| alpha | initial probability row vector, length n |
| Tmat | sub-generator, n x n |
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().