![]() |
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< 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 191 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 215 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.
|
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 247 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.
| int line::ldes::engine::Observations::batch_size = 5 |
Definition at line 281 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 283 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 283 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 283 of file ldes_stats.h.
Referenced by collect(), and Observations().
| bool line::ldes::engine::Observations::enabled = true |
Definition at line 280 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 286 of file ldes_stats.h.
Referenced by Observations(), and truncate().
| std::vector<std::vector<double> > line::ldes::engine::Observations::last_qt |
Definition at line 284 of file ldes_stats.h.
Referenced by collect(), and Observations().
| double line::ldes::engine::Observations::last_time = 0.0 |
Definition at line 287 of file ldes_stats.h.
Referenced by collect().
| std::size_t line::ldes::engine::Observations::nclasses = 0 |
Definition at line 288 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 288 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 283 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 283 of file ldes_stats.h.
Referenced by collect(), and Observations().
| std::vector<double> line::ldes::engine::Observations::time |
Definition at line 282 of file ldes_stats.h.
Referenced by line::ldes::engine::batch_means_ci(), collect(), and truncate().