LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::mva::MvaSolution< T > Struct Template Reference

Class-level results, the [Q,U,R,T,C,X] of the MATLAB analyzers. More...

#include <line/solvers/mva/mva_types.h>

Collaboration diagram for line::mva::MvaSolution< T >:

Public Attributes

Matrix< T > Q
Matrix< T > U
Matrix< T > R
Matrix< T > Tp
std::vector< T > C
std::vector< T > X
std::string method
int iter = 0
std::optional< bool > converged
 Whether the fixed point met its tolerance, or empty when the handler reports none.
double lG = 0.0
 log of the normalizing constant, the reference's lG.
solvers::FjMetrics< T > fj
 Fork-join section metrics set by the fork-join fixed point (fj_driver.h); empty otherwise.
Matrix< T > AN
 Analyzer-supplied station arrival rates (M x K), NaN where the runner derives them from the routing; empty when the analyzer supplies none.
std::vector< T > QNfcr
 Finite capacity region row (1 x K each), filled by solver_oqnrc alone and EMPTY otherwise: jobs in the region plus WAITQ arrivals waiting to enter it, carried throughput, their ratio, and the rate of arrivals lost under DROP.
std::vector< T > TNfcr
std::vector< T > RNfcr
std::vector< T > DropRateNfcr

Detailed Description

template<class T>
struct line::mva::MvaSolution< T >

Class-level results, the [Q,U,R,T,C,X] of the MATLAB analyzers.

Definition at line 97 of file mva_types.h.

Member Data Documentation

◆ AN

template<class T>
Matrix<T> line::mva::MvaSolution< T >::AN

Analyzer-supplied station arrival rates (M x K), NaN where the runner derives them from the routing; empty when the analyzer supplies none.

The open retrieval analyzers book the fetches to the READ class, which sn.rt does not route from the Cache, so they set the fetch-station rows from their traffic equations.

Definition at line 127 of file mva_types.h.

Referenced by line::mva::solver_mva_retrieval_analyzer(), line::mva::solver_mva_run_analyzer(), and line::nc::solver_nc_avg_table().

◆ C

template<class T>
std::vector<T> line::mva::MvaSolution< T >::C

Definition at line 99 of file mva_types.h.

Referenced by line::ag::solver_ag_run_analyzer(), line::mva::solver_amva(), line::mva::solver_amvald(), line::mva::solver_debemva(), line::fluid::solver_fld_cacheqn_analyzer(), line::fluid::solver_fld_cacheqn_tran(), line::mam::solver_mam_basic(), line::mam::solver_mam_basic_mmap_closed(), line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_bgchain(), line::mam::solver_mam_decmmap(), line::mam::solver_mam_dt(), line::mam::solver_mam_fj(), line::mam::solver_mam_ispn(), line::mam::solver_mam_ldqbd(), line::mam::solver_mam_mapmap1_exact(), line::mam::solver_mam_reneging(), line::mam::solver_mam_retrial(), line::mam::solver_mam_run_analyzer(), line::mam::solver_mam_sync(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_cache_analyzer(), line::mva::solver_mva_dps_exact(), line::mva::solver_mva_finite_source_analyzer(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mva_qsys_analyzer(), line::mva::solver_mva_qsys_prio_analyzer(), line::mva::solver_mva_qsys_sizebased_analyzer(), line::mva::solver_mva_run_analyzer(), line::mva::solver_mva_sum(), line::mva::solver_mvablo(), line::mva::solver_mvac_analyzer(), line::mva::solver_mvald(), line::nc::solver_nc_avg_table(), line::nc::solver_nc_solve(), line::mva::solver_oqnrc(), line::mva::solver_qna(), and line::mva::solver_sqd().

◆ converged

template<class T>
std::optional<bool> line::mva::MvaSolution< T >::converged

Whether the fixed point met its tolerance, or empty when the handler reports none.

NOT iter < iter_max: solver_amva increments totiter inside the nested per-chain and inner loops, so it aggregates inner sweeps and can reach the cap on a solve whose outer residual is exactly zero. Only the residual decides there, which is why the flag has to travel with the solution instead of being recomputed by a caller from the count.

Definition at line 110 of file mva_types.h.

Referenced by line::mva::fj_fixed_point(), line::mva::solver_debemva(), line::mva::solver_mva_run_analyzer(), line::mva::solver_mvablo(), and line::mva::solver_oqnrc().

◆ DropRateNfcr

template<class T>
std::vector<T> line::mva::MvaSolution< T >::DropRateNfcr

Definition at line 132 of file mva_types.h.

Referenced by line::mva::solver_mva_run_analyzer(), and line::mva::solver_oqnrc().

◆ fj

template<class T>
solvers::FjMetrics<T> line::mva::MvaSolution< T >::fj

Fork-join section metrics set by the fork-join fixed point (fj_driver.h); empty otherwise.

Definition at line 121 of file mva_types.h.

Referenced by line::mva::fj_fixed_point(), line::mva::solver_mva_run_analyzer(), and line::nc::solver_nc_avg_table().

◆ iter

◆ lG

template<class T>
double line::mva::MvaSolution< T >::lG = 0.0

log of the normalizing constant, the reference's lG.

Only the exact MVA recursion carries one: an AMVA result has no G, and the reference returns 0 there rather than a fabricated value, which is why getProbNormConstAggr re-enters the analyzer at method='exact' instead of reusing whatever the last solve produced.

Definition at line 119 of file mva_types.h.

Referenced by line::mva::solver_debemva(), line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_decmmap(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mvablo(), line::mva::solver_mvac_analyzer(), line::nc::solver_nc_avg_table(), line::nc::solver_nc_solve(), line::mva::solver_oqnrc(), line::mva::solver_qna(), and line::mva::solver_sqd().

◆ method

◆ Q

template<class T>
Matrix<T> line::mva::MvaSolution< T >::Q

Definition at line 98 of file mva_types.h.

Referenced by line::mva::fj_fixed_point(), line::mva::fj_ht_merge(), line::ag::solver_ag_run_analyzer(), line::mva::solver_amva(), line::mva::solver_amvald(), line::mva::solver_debemva(), line::fluid::solver_fld_cacheqn_analyzer(), line::fluid::solver_fld_cacheqn_tran(), line::mam::solver_mam_basic(), line::mam::solver_mam_basic_mmap_closed(), line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_bgchain(), line::mam::solver_mam_decmmap(), line::mam::solver_mam_dt(), line::mam::solver_mam_fj(), line::mam::solver_mam_ispn(), line::mam::solver_mam_ldqbd(), line::mam::solver_mam_mapmap1_exact(), line::mam::solver_mam_reneging(), line::mam::solver_mam_retrial(), line::mam::solver_mam_run_analyzer(), line::mam::solver_mam_sync(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_cache_analyzer(), line::mva::solver_mva_dps_exact(), line::mva::solver_mva_finite_source_analyzer(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mva_qsys_analyzer(), line::mva::solver_mva_qsys_prio_analyzer(), line::mva::solver_mva_qsys_sizebased_analyzer(), line::mva::solver_mva_retrieval_analyzer(), line::mva::solver_mva_run_analyzer(), line::mva::solver_mva_sum(), line::mva::solver_mvablo(), line::mva::solver_mvac_analyzer(), line::mva::solver_mvald(), line::nc::solver_nc_avg_table(), line::nc::solver_nc_solve(), line::mva::solver_oqnrc(), line::mva::solver_qna(), line::mva::solver_rqna(), line::mva::solver_rqt(), line::sens::solver_sensitivity_table(), and line::mva::solver_sqd().

◆ QNfcr

template<class T>
std::vector<T> line::mva::MvaSolution< T >::QNfcr

Finite capacity region row (1 x K each), filled by solver_oqnrc alone and EMPTY otherwise: jobs in the region plus WAITQ arrivals waiting to enter it, carried throughput, their ratio, and the rate of arrivals lost under DROP.

Definition at line 132 of file mva_types.h.

Referenced by line::mva::solver_mva_run_analyzer(), and line::mva::solver_oqnrc().

◆ R

template<class T>
Matrix<T> line::mva::MvaSolution< T >::R

Definition at line 98 of file mva_types.h.

Referenced by line::mva::fj_fixed_point(), line::mva::fj_ht_merge(), line::mva::fj_ht_sync_delays(), line::ag::solver_ag_run_analyzer(), line::mva::solver_amva(), line::mva::solver_amvald(), line::mva::solver_debemva(), line::fluid::solver_fld_cacheqn_analyzer(), line::fluid::solver_fld_cacheqn_tran(), line::mam::solver_mam_basic(), line::mam::solver_mam_basic_mmap_closed(), line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_bgchain(), line::mam::solver_mam_decmmap(), line::mam::solver_mam_dt(), line::mam::solver_mam_fj(), line::mam::solver_mam_ispn(), line::mam::solver_mam_ldqbd(), line::mam::solver_mam_mapmap1_exact(), line::mam::solver_mam_reneging(), line::mam::solver_mam_retrial(), line::mam::solver_mam_run_analyzer(), line::mam::solver_mam_sync(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_cache_analyzer(), line::mva::solver_mva_dps_exact(), line::mva::solver_mva_finite_source_analyzer(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mva_qsys_analyzer(), line::mva::solver_mva_qsys_prio_analyzer(), line::mva::solver_mva_qsys_sizebased_analyzer(), line::mva::solver_mva_retrieval_analyzer(), line::mva::solver_mva_run_analyzer(), line::mva::solver_mva_sum(), line::mva::solver_mvablo(), line::mva::solver_mvac_analyzer(), line::mva::solver_mvald(), line::nc::solver_nc_avg_table(), line::nc::solver_nc_solve(), line::mva::solver_oqnrc(), line::mva::solver_qna(), line::sens::solver_sensitivity_table(), and line::mva::solver_sqd().

◆ RNfcr

template<class T>
std::vector<T> line::mva::MvaSolution< T >::RNfcr

Definition at line 132 of file mva_types.h.

Referenced by line::mva::solver_mva_run_analyzer(), and line::mva::solver_oqnrc().

◆ TNfcr

template<class T>
std::vector<T> line::mva::MvaSolution< T >::TNfcr

Definition at line 132 of file mva_types.h.

Referenced by line::mva::solver_mva_run_analyzer(), and line::mva::solver_oqnrc().

◆ Tp

template<class T>
Matrix<T> line::mva::MvaSolution< T >::Tp

Definition at line 98 of file mva_types.h.

Referenced by line::mva::fj_fixed_point(), line::mva::fj_ht_merge(), line::mva::fj_ht_sync_delays(), line::ag::solver_ag_run_analyzer(), line::mva::solver_amva(), line::mva::solver_amvald(), line::mva::solver_debemva(), line::fluid::solver_fld_cacheqn_analyzer(), line::fluid::solver_fld_cacheqn_tran(), line::mam::solver_mam_basic(), line::mam::solver_mam_basic_mmap_closed(), line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_bgchain(), line::mam::solver_mam_decmmap(), line::mam::solver_mam_dt(), line::mam::solver_mam_fj(), line::mam::solver_mam_ispn(), line::mam::solver_mam_ldqbd(), line::mam::solver_mam_mapmap1_exact(), line::mam::solver_mam_reneging(), line::mam::solver_mam_retrial(), line::mam::solver_mam_run_analyzer(), line::mam::solver_mam_sync(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_cache_analyzer(), line::mva::solver_mva_dps_exact(), line::mva::solver_mva_finite_source_analyzer(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mva_qsys_analyzer(), line::mva::solver_mva_qsys_prio_analyzer(), line::mva::solver_mva_qsys_sizebased_analyzer(), line::mva::solver_mva_retrieval_analyzer(), line::mva::solver_mva_run_analyzer(), line::mva::solver_mva_sum(), line::mva::solver_mvablo(), line::mva::solver_mvac_analyzer(), line::mva::solver_mvald(), line::nc::solver_nc_avg_table(), line::nc::solver_nc_solve(), line::mva::solver_oqnrc(), line::mva::solver_qna(), line::sens::solver_sensitivity_table(), and line::mva::solver_sqd().

◆ U

template<class T>
Matrix<T> line::mva::MvaSolution< T >::U

Definition at line 98 of file mva_types.h.

Referenced by line::mva::fj_fixed_point(), line::mva::fj_ht_merge(), line::ag::solver_ag_run_analyzer(), line::mva::solver_amva(), line::mva::solver_amvald(), line::mva::solver_debemva(), line::fluid::solver_fld_cacheqn_analyzer(), line::fluid::solver_fld_cacheqn_tran(), line::mam::solver_mam_basic(), line::mam::solver_mam_basic_mmap_closed(), line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_bgchain(), line::mam::solver_mam_decmmap(), line::mam::solver_mam_dt(), line::mam::solver_mam_fj(), line::mam::solver_mam_ispn(), line::mam::solver_mam_ldqbd(), line::mam::solver_mam_mapmap1_exact(), line::mam::solver_mam_reneging(), line::mam::solver_mam_retrial(), line::mam::solver_mam_run_analyzer(), line::mam::solver_mam_sync(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_cache_analyzer(), line::mva::solver_mva_dps_exact(), line::mva::solver_mva_finite_source_analyzer(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mva_qsys_analyzer(), line::mva::solver_mva_qsys_prio_analyzer(), line::mva::solver_mva_qsys_sizebased_analyzer(), line::mva::solver_mva_retrieval_analyzer(), line::mva::solver_mva_run_analyzer(), line::mva::solver_mva_sum(), line::mva::solver_mvablo(), line::mva::solver_mvac_analyzer(), line::mva::solver_mvald(), line::nc::solver_nc_avg_table(), line::nc::solver_nc_solve(), line::mva::solver_oqnrc(), line::mva::solver_qna(), line::sens::solver_sensitivity_table(), and line::mva::solver_sqd().

◆ X

template<class T>
std::vector<T> line::mva::MvaSolution< T >::X

Definition at line 99 of file mva_types.h.

Referenced by line::da::da_cacheqn(), line::ag::solver_ag_run_analyzer(), line::mva::solver_amva(), line::mva::solver_amvald(), line::mva::solver_debemva(), line::fluid::solver_fld_cacheqn_analyzer(), line::fluid::solver_fld_cacheqn_tran(), line::mam::solver_mam_basic(), line::mam::solver_mam_basic_mmap_closed(), line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_bgchain(), line::mam::solver_mam_decmmap(), line::mam::solver_mam_dt(), line::mam::solver_mam_fj(), line::mam::solver_mam_ispn(), line::mam::solver_mam_ldqbd(), line::mam::solver_mam_mapmap1_exact(), line::mam::solver_mam_reneging(), line::mam::solver_mam_retrial(), line::mam::solver_mam_run_analyzer(), line::mam::solver_mam_sync(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_cache_analyzer(), line::mva::solver_mva_dps_exact(), line::mva::solver_mva_finite_source_analyzer(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mva_qsys_analyzer(), line::mva::solver_mva_qsys_prio_analyzer(), line::mva::solver_mva_qsys_sizebased_analyzer(), line::mva::solver_mva_retrieval_analyzer(), line::mva::solver_mva_run_analyzer(), line::mva::solver_mva_sum(), line::mva::solver_mvablo(), line::mva::solver_mvac_analyzer(), line::mva::solver_mvald(), line::nc::solver_nc_avg_table(), line::nc::solver_nc_solve(), line::mva::solver_oqnrc(), line::mva::solver_qna(), and line::mva::solver_sqd().


The documentation for this struct was generated from the following file: