![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The event-spaced observation series MSER-5 and the CI both read. More...
#include <line/solvers/ldes/ldes_stats.h>
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< std::vector< double > > > | arv |
| 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 |
The event-spaced observation series MSER-5 and the CI both read.
Definition at line 202 of file ldes_stats.h.
|
inline |
|
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 227 of file ldes_stats.h.
References line::ldes::engine::Accum::arrived, arv, 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.
|
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 260 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.
| std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::arv |
Definition at line 296 of file ldes_stats.h.
Referenced by collect(), and Observations().
| int line::ldes::engine::Observations::batch_size = 5 |
Definition at line 294 of file ldes_stats.h.
Referenced by Observations(), and truncate().
| std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::bt |
Definition at line 296 of file ldes_stats.h.
Referenced by collect(), and Observations().
| std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::cmp |
Definition at line 296 of file ldes_stats.h.
Referenced by line::ldes::engine::batch_means_ci(), collect(), and Observations().
| std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::drp |
Definition at line 296 of file ldes_stats.h.
Referenced by collect(), and Observations().
| bool line::ldes::engine::Observations::enabled = true |
Definition at line 293 of file ldes_stats.h.
Referenced by Observations(), and truncate().
| std::vector<char> line::ldes::engine::Observations::in_mser |
Whether station i feeds the truncation criterion; every one is still recorded.
Definition at line 299 of file ldes_stats.h.
Referenced by Observations(), and truncate().
| std::vector<std::vector<double> > line::ldes::engine::Observations::last_qt |
Definition at line 297 of file ldes_stats.h.
Referenced by collect(), and Observations().
| double line::ldes::engine::Observations::last_time = 0.0 |
Definition at line 300 of file ldes_stats.h.
Referenced by collect().
| std::size_t line::ldes::engine::Observations::nclasses = 0 |
Definition at line 301 of file ldes_stats.h.
Referenced by line::ldes::engine::batch_means_ci(), collect(), Observations(), and truncate().
| std::size_t line::ldes::engine::Observations::nstations = 0 |
Definition at line 301 of file ldes_stats.h.
Referenced by line::ldes::engine::batch_means_ci(), collect(), Observations(), and truncate().
| std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::qlen |
Definition at line 296 of file ldes_stats.h.
Referenced by line::ldes::engine::batch_means_ci(), collect(), Observations(), and truncate().
| std::vector<std::vector<std::vector<double> > > line::ldes::engine::Observations::qt |
Definition at line 296 of file ldes_stats.h.
Referenced by collect(), and Observations().
| std::vector<double> line::ldes::engine::Observations::time |
Definition at line 295 of file ldes_stats.h.
Referenced by line::ldes::engine::batch_means_ci(), collect(), and truncate().