![]() |
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 180 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 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.
|
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.
| int line::ldes::engine::Observations::batch_size = 5 |
Definition at line 270 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 272 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 272 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 272 of file ldes_stats.h.
Referenced by collect(), and Observations().
| bool line::ldes::engine::Observations::enabled = true |
Definition at line 269 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 275 of file ldes_stats.h.
Referenced by Observations(), and truncate().
| 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().
| double line::ldes::engine::Observations::last_time = 0.0 |
Definition at line 276 of file ldes_stats.h.
Referenced by collect().
| 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().
| 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().
| 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().
| 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().
| 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().