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

Inference problem handed to infer_variational. More...

#include <line/api/infer/infer_variational.h>

Collaboration diagram for line::infer::VariationalSpec< T >:

Static Public Member Functions

static T unobserved ()
 Sentinel marking an unobserved entry of obsData.

Public Attributes

std::vector< std::array< std::size_t, 3 > > arcs
 (T x 3) transitions [i j c]; i==0 external source, j==0 sink.
Matrix< T > x0
 (M x R) initial queue lengths.
std::vector< int > sched
 (M) discipline codes.
std::vector< T > nservers
 (M) number of servers.
std::vector< T > routeprob
 (T) routing probability of each transition.
std::vector< std::size_t > arcparam
 (T) index in 1..P of the rate governing the transition, 0 when known.
std::vector< T > arcrate
 (T) known rate for transitions with arcparam == 0.
std::vector< T > alpha0
 (P) Gamma prior shapes and rates.
std::vector< T > beta0
std::vector< T > obsTimes
 (K) observation epochs.
Matrix< T > obsData
 (K x M*R) observed queue lengths; an unobserved entry is unobserved.
std::vector< T > obsRange
 (M*R) support size of the uniform contamination.
epsilon
 probability that a reading is faulty.
std::vector< T > capacity
 (M*R) upper bound on the queue length, empty for none.

Detailed Description

template<class T>
struct line::infer::VariationalSpec< T >

Inference problem handed to infer_variational.

Station-class pairs are flattened column-major, so that pair (m,r) sits at index r*M+m, matching the MATLAB, Java and Python specifications. Station and class indices inside arcs are one-based; index 0 marks the external source or sink.

Definition at line 74 of file infer_variational.h.

Member Function Documentation

◆ unobserved()

template<class T>
T line::infer::VariationalSpec< T >::unobserved ( )
inlinestatic

Sentinel marking an unobserved entry of obsData.

Definition at line 108 of file infer_variational.h.

Referenced by line::infer::infer_variational().

Member Data Documentation

◆ alpha0

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::alpha0

(P) Gamma prior shapes and rates.

Definition at line 90 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ arcparam

template<class T>
std::vector<std::size_t> line::infer::VariationalSpec< T >::arcparam

(T) index in 1..P of the rate governing the transition, 0 when known.

Definition at line 86 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ arcrate

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::arcrate

(T) known rate for transitions with arcparam == 0.

Definition at line 88 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ arcs

template<class T>
std::vector<std::array<std::size_t, 3> > line::infer::VariationalSpec< T >::arcs

(T x 3) transitions [i j c]; i==0 external source, j==0 sink.

Definition at line 76 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ beta0

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::beta0

Definition at line 90 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ capacity

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::capacity

(M*R) upper bound on the queue length, empty for none.

In a closed network this is the chain population, and clamping the load there keeps the expanded state space from crediting a station with more jobs than the network holds.

Definition at line 105 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ epsilon

template<class T>
T line::infer::VariationalSpec< T >::epsilon

probability that a reading is faulty.

Definition at line 98 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ nservers

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::nservers

(M) number of servers.

Definition at line 82 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ obsData

template<class T>
Matrix<T> line::infer::VariationalSpec< T >::obsData

(K x M*R) observed queue lengths; an unobserved entry is unobserved.

Definition at line 94 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ obsRange

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::obsRange

(M*R) support size of the uniform contamination.

Definition at line 96 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ obsTimes

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::obsTimes

(K) observation epochs.

Definition at line 92 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ routeprob

template<class T>
std::vector<T> line::infer::VariationalSpec< T >::routeprob

(T) routing probability of each transition.

Definition at line 84 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ sched

template<class T>
std::vector<int> line::infer::VariationalSpec< T >::sched

(M) discipline codes.

Definition at line 80 of file infer_variational.h.

Referenced by line::infer::infer_variational().

◆ x0

template<class T>
Matrix<T> line::infer::VariationalSpec< T >::x0

(M x R) initial queue lengths.

Definition at line 78 of file infer_variational.h.

Referenced by line::infer::infer_variational().


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