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

Controls, defaulting to SolverOptions('NC') in the reference. More...

#include <line/solvers/nc/nc_types.h>

Collaboration diagram for line::nc::NcSolverOptions:

Public Attributes

std::string method = "default"
double tol = 1e-4
 options.tol
double iter_tol = 1e-4
 options.iter_tol, the eta stopping test
int iter_max = 1000
std::string highvar = "interp"
 options.config.highvar.
std::string fork_join = "default"
 options.config.fork_join: which fork-join arm the shared fixed point takes on a model with a Fork.
std::string multiserver = "default"
 options.config.multiserver: how a finite multiserver station is represented.
std::size_t samples = 100000
 options.samples, read by the estimators
unsigned long seed = 23000
 options.seed, read by the estimators
std::size_t aghq_nodes = 3
 options.config.mcmc_batches: the non-overlapping batches the Chen-O'Cinneide estimator splits its run into for the batch-means confidence intervals.
std::size_t mcmc_batches = 30
double mcmc_burnin = 0.1
 options.config.mcmc_burnin: the warm-up fraction that estimator discards before it starts accumulating.
std::string cdf_algorithm = "exact"
 options.config.algorithm for getCdfRespT: 'exact' selects pfqn_stdf, 'rd' the heuristic pfqn_stdf_heur.
double mem_tol = 1e-6
 options.config.mem_tol / mem_maxiter, read by the MEM fixed point.
long mem_maxiter = 1000
bool base_has_fork = false
 Whether the model this solve came from has a Fork, which the model handed to the analyzer no longer does.
bool slotted = false
 options.config.slotted.
double slotlength = 1.0
 options.config.slotlength, the slot length in model time units.

Detailed Description

Controls, defaulting to SolverOptions('NC') in the reference.

Definition at line 33 of file nc_types.h.

Member Data Documentation

◆ aghq_nodes

std::size_t line::nc::NcSolverOptions::aghq_nodes = 3

options.config.mcmc_batches: the non-overlapping batches the Chen-O'Cinneide estimator splits its run into for the batch-means confidence intervals.

30 is Schmeiser (1982), the count used in the tables of the paper. options.config.aghq_nodes: nodes per simplex direction of the adaptive Gauss-Hermite rule. q = 1 reproduces pfqn_le; the rule costs q^(M-1) evaluations, so the default stays small.

Definition at line 77 of file nc_types.h.

◆ base_has_fork

bool line::nc::NcSolverOptions::base_has_fork = false

Whether the model this solve came from has a Fork, which the model handed to the analyzer no longer does.

Same role as MvaOptions::base_has_fork.

Definition at line 98 of file nc_types.h.

Referenced by line::nc::solver_nc_solve().

◆ cdf_algorithm

std::string line::nc::NcSolverOptions::cdf_algorithm = "exact"

options.config.algorithm for getCdfRespT: 'exact' selects pfqn_stdf, 'rd' the heuristic pfqn_stdf_heur.

The reference defaults this field into the options struct when it is absent.

Definition at line 90 of file nc_types.h.

◆ fork_join

std::string line::nc::NcSolverOptions::fork_join = "default"

options.config.fork_join: which fork-join arm the shared fixed point takes on a model with a Fork.

default/mmt/fjt is the MMT transform, ht/heidelberger-trivedi the Heidelberger-Trivedi one. See MvaOptions::fork_join; the driver is the same function for both solvers.

Definition at line 51 of file nc_types.h.

◆ highvar

std::string line::nc::NcSolverOptions::highvar = "interp"

options.config.highvar.

SolverOptions('NC') overrides the global default and sets this to 'interp', so a non-product-form FCFS station is rescaled by the WSC 2020 interpolation and the analyzer iterates. Setting it to 'default' makes the outer loop run exactly once.

Definition at line 44 of file nc_types.h.

◆ iter_max

int line::nc::NcSolverOptions::iter_max = 1000

Definition at line 37 of file nc_types.h.

◆ iter_tol

double line::nc::NcSolverOptions::iter_tol = 1e-4

options.iter_tol, the eta stopping test

Definition at line 36 of file nc_types.h.

◆ mcmc_batches

std::size_t line::nc::NcSolverOptions::mcmc_batches = 30

Definition at line 78 of file nc_types.h.

◆ mcmc_burnin

double line::nc::NcSolverOptions::mcmc_burnin = 0.1

options.config.mcmc_burnin: the warm-up fraction that estimator discards before it starts accumulating.

The paper discards none and ignores the initialization bias.

Definition at line 84 of file nc_types.h.

◆ mem_maxiter

long line::nc::NcSolverOptions::mem_maxiter = 1000

Definition at line 93 of file nc_types.h.

◆ mem_tol

double line::nc::NcSolverOptions::mem_tol = 1e-6

options.config.mem_tol / mem_maxiter, read by the MEM fixed point.

Definition at line 92 of file nc_types.h.

◆ method

std::string line::nc::NcSolverOptions::method = "default"

◆ multiserver

std::string line::nc::NcSolverOptions::multiserver = "default"

options.config.multiserver: how a finite multiserver station is represented.

default keeps the historical dispatch (Seidmann on default, the exact mu(n)=min(n,c) lattice on exact/is/panald, and the lattice on the 2-station Delay+multiserver shape); seidmann forces Seidmann everywhere, exact/lld forces the lattice everywhere it is admissible. The SolverMVA values this solver has no counterpart for (softmin, conway, krzesinski, suri, erlang) fall back to default rather than throwing: one options object is commonly reused across solvers. See MvaOptions::multiserver.

Definition at line 63 of file nc_types.h.

◆ samples

std::size_t line::nc::NcSolverOptions::samples = 100000

options.samples, read by the estimators

Definition at line 64 of file nc_types.h.

◆ seed

unsigned long line::nc::NcSolverOptions::seed = 23000

options.seed, read by the estimators

Definition at line 65 of file nc_types.h.

◆ slotlength

double line::nc::NcSolverOptions::slotlength = 1.0

options.config.slotlength, the slot length in model time units.

Definition at line 108 of file nc_types.h.

◆ slotted

bool line::nc::NcSolverOptions::slotted = false

options.config.slotted.

Runs the solve on a discrete time scale, the same switch SolverLDES uses. It routes to solver_nc_dt and REFUSES a model outside the discrete-time product form rather than falling back to the continuous-time analyzers: the continuous-time answer to a slotted question is a different number, not a worse one.

Definition at line 106 of file nc_types.h.

Referenced by line::nc::solver_nc_solve().

◆ tol

double line::nc::NcSolverOptions::tol = 1e-4

options.tol

Definition at line 35 of file nc_types.h.


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