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

CTMC bookkeeping of a heterogeneous-server station, written by ctmc::ctmc_pools on the solver's private copy of the struct (MATLAB sn.nodeparam{ind}.ctmcpool). More...

#include <line/lang/qn/network_struct.h>

Collaboration diagram for line::qn::CtmcPool< T >:

Public Member Functions

std::size_t perm_index (const std::vector< std::size_t > &order) const
 1-based index of order in perms, 0 when absent.

Public Attributes

std::size_t ntypes = 0
std::vector< double > count
 servers per pool
std::vector< std::vector< bool > > compat
 compat[t-1][r-1]
lang::HeteroSchedPolicy policy = lang::HeteroSchedPolicy::ORDER
std::vector< std::vector< std::size_t > > pools
 pools[r-1]: compatible pools of r, ascending
std::vector< std::vector< std::size_t > > off
std::vector< std::vector< std::size_t > > len
 offset and length of block k of class r
std::vector< std::vector< std::vector< T > > > alpha
 entry vector of block k of class r
std::vector< std::vector< std::vector< T > > > exit
 exit rates of block k of class r
std::vector< std::vector< Matrix< T > > > D0
 D0 of block k of class r.
std::vector< std::vector< double > > fsfrate
 fsfrate[t-1][r-1] = 1/mean (FSF)
std::vector< std::size_t > alfsorder
 pools by ascending class count (ALFS)
bool rotate = false
 ALIS/FAIRNESS order is part of the state.
std::vector< std::vector< std::size_t > > perms
 every pool order, identity first

Detailed Description

template<class T>
struct line::qn::CtmcPool< T >

CTMC bookkeeping of a heterogeneous-server station, written by ctmc::ctmc_pools on the solver's private copy of the struct (MATLAB sn.nodeparam{ind}.ctmcpool).

The class-r service law there is a block-diagonal phase-type law with one block per compatible pool, in ascending pool order, so the phase of a job in service names its pool. All indices below are 1-based pools and classes, as in MATLAB.

Definition at line 861 of file network_struct.h.

Member Function Documentation

◆ perm_index()

template<class T>
std::size_t line::qn::CtmcPool< T >::perm_index ( const std::vector< std::size_t > & order) const
inline

1-based index of order in perms, 0 when absent.

Definition at line 876 of file network_struct.h.

References perms.

Referenced by line::qn::after_event_station_pool().

Member Data Documentation

◆ alfsorder

template<class T>
std::vector<std::size_t> line::qn::CtmcPool< T >::alfsorder

pools by ascending class count (ALFS)

Definition at line 872 of file network_struct.h.

Referenced by line::qn::after_event_station_pool(), and line::ctmc::pools_detail::pool_station().

◆ alpha

template<class T>
std::vector<std::vector<std::vector<T> > > line::qn::CtmcPool< T >::alpha

entry vector of block k of class r

Definition at line 868 of file network_struct.h.

Referenced by line::qn::pool_detail::pool_start(), and line::ctmc::pools_detail::pool_station().

◆ compat

template<class T>
std::vector<std::vector<bool> > line::qn::CtmcPool< T >::compat

compat[t-1][r-1]

Definition at line 864 of file network_struct.h.

Referenced by line::qn::pool_detail::pool_serve_next(), and line::ctmc::pools_detail::pool_station().

◆ count

template<class T>
std::vector<double> line::qn::CtmcPool< T >::count

servers per pool

Definition at line 863 of file network_struct.h.

Referenced by line::qn::after_event_station_pool(), and line::ctmc::pools_detail::pool_station().

◆ D0

template<class T>
std::vector<std::vector<Matrix<T> > > line::qn::CtmcPool< T >::D0

D0 of block k of class r.

Definition at line 870 of file network_struct.h.

Referenced by line::qn::after_event_station_pool(), and line::ctmc::pools_detail::pool_station().

◆ exit

template<class T>
std::vector<std::vector<std::vector<T> > > line::qn::CtmcPool< T >::exit

exit rates of block k of class r

Definition at line 869 of file network_struct.h.

Referenced by line::qn::after_event_station_pool(), and line::ctmc::pools_detail::pool_station().

◆ fsfrate

template<class T>
std::vector<std::vector<double> > line::qn::CtmcPool< T >::fsfrate

fsfrate[t-1][r-1] = 1/mean (FSF)

Definition at line 871 of file network_struct.h.

Referenced by line::qn::after_event_station_pool(), and line::ctmc::pools_detail::pool_station().

◆ len

template<class T>
std::vector<std::vector<std::size_t> > line::qn::CtmcPool< T >::len

offset and length of block k of class r

Definition at line 867 of file network_struct.h.

Referenced by line::qn::after_event_station_pool(), line::qn::from_marginal_pool(), and line::ctmc::pools_detail::pool_station().

◆ ntypes

template<class T>
std::size_t line::qn::CtmcPool< T >::ntypes = 0

◆ off

template<class T>
std::vector<std::vector<std::size_t> > line::qn::CtmcPool< T >::off

◆ perms

template<class T>
std::vector<std::vector<std::size_t> > line::qn::CtmcPool< T >::perms

◆ policy

◆ pools

template<class T>
std::vector<std::vector<std::size_t> > line::qn::CtmcPool< T >::pools

◆ rotate

template<class T>
bool line::qn::CtmcPool< T >::rotate = false

ALIS/FAIRNESS order is part of the state.

Definition at line 873 of file network_struct.h.

Referenced by line::qn::after_event_station_pool(), line::qn::from_marginal_pool(), and line::ctmc::pools_detail::pool_station().


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