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

CTMC pair form of a MAP service at an FCFS station, written by ctmc::ctmc_mapc on the solver's private copy of the struct (MATLAB sn.ctmcmapc{ist,r}). More...

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

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

Public Attributes

std::size_t p = 0
 phases of the original MAP
bool single = false
 c = 1: carried phase, no pairs
std::vector< std::pair< std::size_t, std::size_t > > pairs
 0-based (i,j), i-major, V(i,j) > 0
Matrix< T > V
 landing law (-D0)^-1 D1
std::vector< T > done
 completion rate D1(i,j)/V(i,j)

Detailed Description

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

CTMC pair form of a MAP service at an FCFS station, written by ctmc::ctmc_mapc on the solver's private copy of the struct (MATLAB sn.ctmcmapc{ist,r}).

JMT and both LDES engines chain ONE sampler per (station, class) in service-start order, so with V = (-D0)^-1 D1 a busy server is a pair (i,j): current phase i, landing phase j drawn at the start. The class memory variable holds the 1-based landing of the most recently STARTED draw; a start from h enters pair (h,j) w.p. V(h,j) and sets it to j.

A SINGLE server keeps the original law instead (single, no pairs), as the reference does: the memory is the phase the last completion left the MAP in, a start enters it, and while the class is in service the memory tracks the phase of that one job.

Definition at line 896 of file network_struct.h.

Member Data Documentation

◆ done

template<class T>
std::vector<T> line::qn::CtmcMapc< T >::done

completion rate D1(i,j)/V(i,j)

Definition at line 901 of file network_struct.h.

◆ p

template<class T>
std::size_t line::qn::CtmcMapc< T >::p = 0

◆ pairs

template<class T>
std::vector<std::pair<std::size_t, std::size_t> > line::qn::CtmcMapc< T >::pairs

0-based (i,j), i-major, V(i,j) > 0

Definition at line 899 of file network_struct.h.

Referenced by line::qn::after_event_station_arv(), and line::qn::after_event_station_dep().

◆ single

template<class T>
bool line::qn::CtmcMapc< T >::single = false

◆ V

template<class T>
Matrix<T> line::qn::CtmcMapc< T >::V

landing law (-D0)^-1 D1

Definition at line 900 of file network_struct.h.

Referenced by line::qn::after_event_station_arv(), and line::qn::after_event_station_dep().


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