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

Result of the Miner-Ciardo-Donatelli level aggregation. More...

#include <line/api/mdd/mdd_types.h>

Collaboration diagram for line::mdd::MddMcdResult< T >:

Public Attributes

std::vector< T > QLen
 Mean occupancy per station (or place), in station order.
std::vector< T > X
 Per-station throughput; empty when the descriptor carries no queueing parameters.
std::vector< T > U
 Per-station utilization; empty when the descriptor carries no queueing parameters.
std::vector< std::vector< T > > pik
 pik[k] is the level-k stationary vector over M_k, in paper orientation.
std::vector< std::vector< std::pair< int, int > > > Mrows
 Mrows[k][r] = {node id, local value} of row r of M_k.
std::vector< std::size_t > level_sizes
 |M_k| per paper level.
int iters = 0
 Fixed-point iterations performed.
std::vector< double > paths_per_level
 max |A(p)| per paper level: the largest number of distinct root-to-node paths at that level.
bool no_aggregation = false
 True certifies the result is EXACT with no reference solve needed; false means "not certified by this test", never "approximate" – a product-form model is exact however much its diagram shares.

Detailed Description

template<class T>
struct line::mdd::MddMcdResult< T >

Result of the Miner-Ciardo-Donatelli level aggregation.

Definition at line 229 of file mdd_types.h.

Member Data Documentation

◆ iters

template<class T>
int line::mdd::MddMcdResult< T >::iters = 0

Fixed-point iterations performed.

Definition at line 243 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd(), and line::ctmc::solver_ctmc_mdd_analyzer().

◆ level_sizes

template<class T>
std::vector<std::size_t> line::mdd::MddMcdResult< T >::level_sizes

|M_k| per paper level.

Definition at line 241 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd(), and line::ctmc::solver_ctmc_mdd_analyzer().

◆ Mrows

template<class T>
std::vector<std::vector<std::pair<int, int> > > line::mdd::MddMcdResult< T >::Mrows

Mrows[k][r] = {node id, local value} of row r of M_k.

Definition at line 239 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd().

◆ no_aggregation

template<class T>
bool line::mdd::MddMcdResult< T >::no_aggregation = false

True certifies the result is EXACT with no reference solve needed; false means "not certified by this test", never "approximate" – a product-form model is exact however much its diagram shares.

Definition at line 255 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd(), and line::ctmc::solver_ctmc_mdd_analyzer().

◆ paths_per_level

template<class T>
std::vector<double> line::mdd::MddMcdResult< T >::paths_per_level

max |A(p)| per paper level: the largest number of distinct root-to-node paths at that level.

1 means no node there is shared, so conditioning on the node equals conditioning on the whole path above it.

Definition at line 249 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd(), and line::ctmc::solver_ctmc_mdd_analyzer().

◆ pik

template<class T>
std::vector<std::vector<T> > line::mdd::MddMcdResult< T >::pik

pik[k] is the level-k stationary vector over M_k, in paper orientation.

Definition at line 237 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd().

◆ QLen

template<class T>
std::vector<T> line::mdd::MddMcdResult< T >::QLen

Mean occupancy per station (or place), in station order.

Definition at line 231 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd(), and line::ctmc::solver_ctmc_mdd_analyzer().

◆ U

template<class T>
std::vector<T> line::mdd::MddMcdResult< T >::U

Per-station utilization; empty when the descriptor carries no queueing parameters.

Definition at line 235 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd(), and line::ctmc::solver_ctmc_mdd_analyzer().

◆ X

template<class T>
std::vector<T> line::mdd::MddMcdResult< T >::X

Per-station throughput; empty when the descriptor carries no queueing parameters.

Definition at line 233 of file mdd_types.h.

Referenced by line::mdd::mdd_mcd(), and line::ctmc::solver_ctmc_mdd_analyzer().


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