![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The knobs of one LDES run. More...
#include <line/solvers/wrappers/ldes/ldes_options.h>
Public Attributes | |
| std::size_t | samples = 200000 |
| -s, service-completion budget | |
| std::size_t | events = 0 |
| 0 = not given; overrides samples when set | |
| long | seed = 23000 |
| –seed; -1 requests a random stream | |
| std::string | method = "default" |
| bool | cnvgon = false |
| –cnvgon | |
| double | cnvgtol = 0.05 |
| –cnvgtol | |
| int | cnvgbatch = 20 |
| –cnvgbatch, batches before the first check | |
| int | cnvgchk = 0 |
| –cnvgchk, events between checks; 0 = samples/50 | |
| std::string | tranfilter = "mser5" |
| –tranfilter: mser5 | fixed | none | |
| int | mserbatch = 5 |
| –mserbatch, MSER batch size | |
| double | warmupfrac = 0.2 |
| –warmupfrac, only for tranfilter=fixed | |
| std::string | cimethod = "obm" |
| –cimethod: obm | bm | spectral | none | |
| double | obmoverlap = 0.5 |
| –obmoverlap; 0 reduces OBM to plain batch means | |
| int | ciminbatch = 10 |
| –ciminbatch | |
| int | ciminobs = 100 |
| –ciminobs, below which no CI is reported | |
| double | confint = 0.95 |
| Confidence level of the reported half-widths. | |
| double | spectral_low_freq_frac = 0.25 |
| –spectrallowfreqfrac | |
| double | run_length_plan_precision = 0.0 |
| options.config.runLengthPlan: ask for the run length this run SHOULD have had, for a target relative precision. | |
| bool | slotted = false |
| –slotted, run on the slot lattice | |
| double | slot_length = 1.0 |
| –slotlength | |
| int | busy_period_orders = 0 |
| –busyperiod: highest busy period order measured, 0 disabling the measurement. | |
| std::vector< std::vector< std::size_t > > | busy_period_subnets |
| –busyperiod-subnet, zero-based station indexes, one flag per set. | |
| int | replications = 0 |
| –replications; 0 = not given (one path) | |
| int | numthreads = 0 |
| –numthreads; 0 = not given | |
| bool | has_timespan = false |
| true when [t0,t1] was set: a TRANSIENT run | |
| double | t0 = 0.0 |
| double | t1 = 0.0 |
| double | timeout = std::numeric_limits<double>::infinity() |
| –maxtime, a COOPERATIVE wall-clock budget the event loop polls. | |
| std::vector< double > | init_sol |
| –initsol, the warm-start placement as a STATION-MAJOR vector [st0_cl0, st0_cl1, ..., stM-1_clK-1]. | |
| bool | export_histogram = false |
| –export-histogram and –trajectory: the joint-state residence-time law and the state path. | |
| bool | export_trajectory = false |
| bool | export_respt = false |
| –respt-samples: every per-visit response time, not just its mean. | |
| std::string | rest_url |
| Base URL of an LDES REST server (the imperialqore/ldes container). | |
| bool | verbose = false |
| echo the resolved command line before running it | |
The knobs of one LDES run.
samples is an EVENT BUDGET (service completions), not a sample size in the statistical sense, and events is the same budget under the name the newer API uses: when set it overrides samples, as it does in both clients.
Definition at line 63 of file ldes_options.h.
| int line::ldes::LdesOptions::busy_period_orders = 0 |
–busyperiod: highest busy period order measured, 0 disabling the measurement.
A busy period of order n for a set of stations runs from the instant an arrival raises the jobs it holds to n up to the instant it falls back below n (Daduna, J. ACM 35(3), 1988). When positive the orders 1..busy_period_orders are measured for every station, for every station-class pair, and for every set in busy_period_subnets.
Definition at line 120 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| std::vector<std::vector<std::size_t> > line::ldes::LdesOptions::busy_period_subnets |
–busyperiod-subnet, zero-based station indexes, one flag per set.
Definition at line 122 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| std::string line::ldes::LdesOptions::cimethod = "obm" |
–cimethod: obm | bm | spectral | none
Definition at line 81 of file ldes_options.h.
Referenced by line::ldes::engine::batch_means_ci(), line::ldes::engine::ci_statistics(), line::ldes::ldes_engine_solve(), and line::ldes::ldes_flags().
| int line::ldes::LdesOptions::ciminbatch = 10 |
–ciminbatch
Definition at line 83 of file ldes_options.h.
Referenced by line::ldes::engine::batch_means_ci(), and line::ldes::ldes_flags().
| int line::ldes::LdesOptions::ciminobs = 100 |
–ciminobs, below which no CI is reported
Definition at line 84 of file ldes_options.h.
Referenced by line::ldes::engine::batch_means_ci(), and line::ldes::ldes_flags().
| int line::ldes::LdesOptions::cnvgbatch = 20 |
–cnvgbatch, batches before the first check
Definition at line 72 of file ldes_options.h.
Referenced by line::ldes::engine::Convergence::init(), and line::ldes::ldes_flags().
| int line::ldes::LdesOptions::cnvgchk = 0 |
–cnvgchk, events between checks; 0 = samples/50
Definition at line 73 of file ldes_options.h.
Referenced by line::ldes::engine::Convergence::init(), and line::ldes::ldes_flags().
| bool line::ldes::LdesOptions::cnvgon = false |
–cnvgon
Definition at line 70 of file ldes_options.h.
Referenced by line::ldes::engine::Convergence::init(), and line::ldes::ldes_flags().
| double line::ldes::LdesOptions::cnvgtol = 0.05 |
–cnvgtol
Definition at line 71 of file ldes_options.h.
Referenced by line::ldes::engine::Convergence::init(), and line::ldes::ldes_flags().
| double line::ldes::LdesOptions::confint = 0.95 |
Confidence level of the reported half-widths.
LDESOptions sets 0.95 where the shared SolverOptions leaves it at 0 (disabled), so the LDES default is intervals ON. It is not a CLI flag: the engine reads it from the options object, so the subprocess client has no way to vary it and the native engine keeps the same default.
Definition at line 93 of file ldes_options.h.
Referenced by line::ldes::engine::batch_means_ci(), line::ldes::engine::Convergence::init(), and line::ldes::ldes_engine_solve().
| std::size_t line::ldes::LdesOptions::events = 0 |
0 = not given; overrides samples when set
Definition at line 65 of file ldes_options.h.
Referenced by line::ldes::engine::batch_means_ci(), line::ldes::ldes_engine_solve_one(), line::ldes::ldes_flags(), and line::ldes::ldes_ln_engine_solve().
| bool line::ldes::LdesOptions::export_histogram = false |
–export-histogram and –trajectory: the joint-state residence-time law and the state path.
A TRANSIENT run fills both unconditionally, because it has to walk the state to produce QNt at all. In STEADY STATE they are opt-in: the histogram costs a map lookup per event and the trajectory grows one row per event, which on a million-completion run is a million rows nobody asked for.
Definition at line 152 of file ldes_options.h.
| bool line::ldes::LdesOptions::export_respt = false |
–respt-samples: every per-visit response time, not just its mean.
It is the input to an EMPIRICAL CDF, which a mean cannot stand in for, and it costs one push per completion, so it is opt-in like the two above.
Definition at line 161 of file ldes_options.h.
| bool line::ldes::LdesOptions::export_trajectory = false |
Definition at line 153 of file ldes_options.h.
| bool line::ldes::LdesOptions::has_timespan = false |
true when [t0,t1] was set: a TRANSIENT run
Definition at line 129 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| std::vector<double> line::ldes::LdesOptions::init_sol |
–initsol, the warm-start placement as a STATION-MAJOR vector [st0_cl0, st0_cl1, ..., stM-1_clK-1].
Empty = the engine's own default (closed jobs at their reference stations).
Definition at line 140 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| std::string line::ldes::LdesOptions::method = "default" |
Definition at line 67 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| int line::ldes::LdesOptions::mserbatch = 5 |
–mserbatch, MSER batch size
Definition at line 77 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| int line::ldes::LdesOptions::numthreads = 0 |
–numthreads; 0 = not given
Definition at line 126 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| double line::ldes::LdesOptions::obmoverlap = 0.5 |
–obmoverlap; 0 reduces OBM to plain batch means
Definition at line 82 of file ldes_options.h.
Referenced by line::ldes::engine::ci_statistics(), and line::ldes::ldes_flags().
| int line::ldes::LdesOptions::replications = 0 |
–replications; 0 = not given (one path)
Definition at line 125 of file ldes_options.h.
Referenced by line::ldes::ldes_engine_solve(), and line::ldes::ldes_flags().
| std::string line::ldes::LdesOptions::rest_url |
Base URL of an LDES REST server (the imperialqore/ldes container).
When set the model is POSTed to <url>/api/v1/solve instead of being handed to a local binary; the wire format is the same on both sides, so a fixed seed gives the same numbers.
Definition at line 169 of file ldes_options.h.
Referenced by line::ldes::solver_ldes_text().
| double line::ldes::LdesOptions::run_length_plan_precision = 0.0 |
options.config.runLengthPlan: ask for the run length this run SHOULD have had, for a target relative precision.
Non-positive leaves the plan uncomputed. The half-widths above pin the ASYMPTOTIC variance of each estimator – not its stationary variance, which on M/M/1 differs from it by a factor blowing up like (1-rho)^-2 – and sim_runlength_plan turns that into the run length that reaches this precision. The plan lands in LdesResult::run_length_plan.
Definition at line 105 of file ldes_options.h.
Referenced by line::ldes::engine::batch_means_ci().
| std::size_t line::ldes::LdesOptions::samples = 200000 |
-s, service-completion budget
Definition at line 64 of file ldes_options.h.
Referenced by line::ldes::engine::batch_means_ci(), line::ldes::ldes_engine_solve_one(), line::ldes::ldes_flags(), and line::ldes::ldes_ln_engine_solve().
| long line::ldes::LdesOptions::seed = 23000 |
–seed; -1 requests a random stream
Definition at line 66 of file ldes_options.h.
Referenced by line::ldes::ldes_engine_solve(), line::ldes::ldes_engine_solve_one(), line::ldes::ldes_flags(), and line::ldes::ldes_ln_engine_solve().
| double line::ldes::LdesOptions::slot_length = 1.0 |
–slotlength
Definition at line 109 of file ldes_options.h.
Referenced by line::ldes::ldes_engine_solve_one(), and line::ldes::ldes_flags().
| bool line::ldes::LdesOptions::slotted = false |
–slotted, run on the slot lattice
Definition at line 108 of file ldes_options.h.
Referenced by line::ldes::engine::ldes_engine_reject(), line::ldes::ldes_engine_solve_one(), and line::ldes::ldes_flags().
| double line::ldes::LdesOptions::spectral_low_freq_frac = 0.25 |
–spectrallowfreqfrac
Definition at line 94 of file ldes_options.h.
Referenced by line::ldes::engine::ci_statistics(), and line::ldes::ldes_flags().
| double line::ldes::LdesOptions::t0 = 0.0 |
Definition at line 130 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| double line::ldes::LdesOptions::t1 = 0.0 |
Definition at line 131 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| double line::ldes::LdesOptions::timeout = std::numeric_limits<double>::infinity() |
–maxtime, a COOPERATIVE wall-clock budget the event loop polls.
Definition at line 133 of file ldes_options.h.
Referenced by line::ldes::ldes_flags(), and line::ldes::solver_ldes_text().
| std::string line::ldes::LdesOptions::tranfilter = "mser5" |
–tranfilter: mser5 | fixed | none
Definition at line 76 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().
| bool line::ldes::LdesOptions::verbose = false |
echo the resolved command line before running it
Definition at line 171 of file ldes_options.h.
Referenced by line::ldes::solver_ldes_text().
| double line::ldes::LdesOptions::warmupfrac = 0.2 |
–warmupfrac, only for tranfilter=fixed
Definition at line 78 of file ldes_options.h.
Referenced by line::ldes::ldes_flags().