LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::ldes::engine::Observations Struct Reference

The event-spaced observation series MSER-5 and the CI both read. More...

#include <line/solvers/ldes/ldes_stats.h>

Collaboration diagram for line::ldes::engine::Observations:

Public Member Functions

 Observations (std::size_t M, std::size_t K, bool mser_on, int batch)
void collect (const Accum &acc, double now)
 Record one observation.
Truncation truncate () const
 The truncation point, on the AGGREGATE queue length first.

Public Attributes

bool enabled = true
int batch_size = 5
std::vector< double > time
std::vector< std::vector< std::vector< double > > > qlen
std::vector< std::vector< std::vector< double > > > qt
std::vector< std::vector< std::vector< double > > > bt
std::vector< std::vector< std::vector< double > > > cmp
std::vector< std::vector< std::vector< double > > > drp
std::vector< std::vector< double > > last_qt
std::vector< char > in_mser
 Whether station i feeds the truncation criterion; every one is still recorded.
double last_time = 0.0
std::size_t nstations = 0
std::size_t nclasses = 0

Detailed Description

The event-spaced observation series MSER-5 and the CI both read.

Definition at line 180 of file ldes_stats.h.

Constructor & Destructor Documentation

◆ Observations()

line::ldes::engine::Observations::Observations ( std::size_t M,
std::size_t K,
bool mser_on,
int batch )
inline

Definition at line 181 of file ldes_stats.h.

References batch_size, bt, cmp, drp, enabled, in_mser, last_qt, nclasses, nstations, qlen, and qt.

Member Function Documentation

◆ collect()

void line::ldes::engine::Observations::collect ( const Accum & acc,
double now )
inline

Record one observation.

The queue-length entry is the INTERVAL TIME-AVERAGE, not the instantaneous count: it is the integral delivered since the previous observation over the interval length, which is what makes a sequence of them comparable even though the intervals differ in duration. The other three are CUMULATIVE, because the estimators difference them against the truncation point rather than averaging them.

Definition at line 204 of file ldes_stats.h.

References bt, cmp, line::ldes::engine::Accum::completed, drp, line::ldes::engine::Accum::join_dropped, last_qt, last_time, nclasses, nstations, line::ldes::engine::Accum::qlen, qlen, qt, time, line::ldes::engine::Accum::tot_busy, and line::ldes::engine::Accum::tot_qlen.

◆ truncate()

Truncation line::ldes::engine::Observations::truncate ( ) const
inline

The truncation point, on the AGGREGATE queue length first.

The per-series fallback is not a refinement, it is the closed-network case: a closed model holds a constant total population, so the aggregate series is flat and carries no transient signal at all, however long the warmup actually was. The most conservative per-series point is taken then.

BOTH RUN OVER THE SERVICE STATIONS ONLY, which is the range applyMSER5Truncation walks. A Join is measured like a station but is not one of them, and folding its series in would move the truncation point of every fork-join model away from the reference's.

Definition at line 236 of file ldes_stats.h.

References line::ldes::engine::Truncation::applied, batch_size, enabled, in_mser, line::ldes::engine::Truncation::index, line::ldes::engine::mser5_truncation(), nclasses, nstations, qlen, time, and line::ldes::engine::Truncation::warmup_end.

Member Data Documentation

◆ batch_size

int line::ldes::engine::Observations::batch_size = 5

Definition at line 270 of file ldes_stats.h.

Referenced by Observations(), and truncate().

◆ bt

std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::bt

Definition at line 272 of file ldes_stats.h.

Referenced by collect(), and Observations().

◆ cmp

std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::cmp

Definition at line 272 of file ldes_stats.h.

Referenced by line::ldes::engine::batch_means_ci(), collect(), and Observations().

◆ drp

std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::drp

Definition at line 272 of file ldes_stats.h.

Referenced by collect(), and Observations().

◆ enabled

bool line::ldes::engine::Observations::enabled = true

Definition at line 269 of file ldes_stats.h.

Referenced by Observations(), and truncate().

◆ in_mser

std::vector<char> line::ldes::engine::Observations::in_mser

Whether station i feeds the truncation criterion; every one is still recorded.

Definition at line 275 of file ldes_stats.h.

Referenced by Observations(), and truncate().

◆ last_qt

std::vector<std::vector<double> > line::ldes::engine::Observations::last_qt

Definition at line 273 of file ldes_stats.h.

Referenced by collect(), and Observations().

◆ last_time

double line::ldes::engine::Observations::last_time = 0.0

Definition at line 276 of file ldes_stats.h.

Referenced by collect().

◆ nclasses

std::size_t line::ldes::engine::Observations::nclasses = 0

Definition at line 277 of file ldes_stats.h.

Referenced by line::ldes::engine::batch_means_ci(), collect(), Observations(), and truncate().

◆ nstations

std::size_t line::ldes::engine::Observations::nstations = 0

Definition at line 277 of file ldes_stats.h.

Referenced by line::ldes::engine::batch_means_ci(), collect(), Observations(), and truncate().

◆ qlen

std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::qlen

Definition at line 272 of file ldes_stats.h.

Referenced by line::ldes::engine::batch_means_ci(), collect(), Observations(), and truncate().

◆ qt

std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::qt

Definition at line 272 of file ldes_stats.h.

Referenced by collect(), and Observations().

◆ time

std::vector<double> line::ldes::engine::Observations::time

Definition at line 271 of file ldes_stats.h.

Referenced by line::ldes::engine::batch_means_ci(), collect(), and truncate().


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