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

The knobs a solver reads; a negative or empty field keeps the engine default. More...

#include <line/solvers/solver_options.h>

Collaboration diagram for line::SolverOptions:

Public Member Functions

SolverOptions & set_method (const std::string &v)
SolverOptions & set_tol (double v)
SolverOptions & set_iter_tol (double v)
SolverOptions & set_iter_max (int v)
SolverOptions & set_replications (int v)
SolverOptions & set_samples (std::size_t v)
SolverOptions & set_seed (unsigned long v)
SolverOptions & set_cutoff (double v)
SolverOptions & set_cutoff_vec (const std::vector< std::size_t > &v)
SolverOptions & set_state_max (std::size_t v)
SolverOptions & set_timespan_end (double v)
SolverOptions & set_init_sol (const std::vector< double > &v)
SolverOptions & set_stiff (bool v)
SolverOptions & set_multiserver (const std::string &v)
SolverOptions & set_highvar (const std::string &v)
SolverOptions & set_np_priority (const std::string &v)
SolverOptions & set_fork_join (const std::string &v)
SolverOptions & set_state_space_gen (const std::string &v)
SolverOptions & set_symbolic (const std::string &v)
SolverOptions & set_symbolic_timeout (int v)
SolverOptions & set_map_env (const std::string &v)
SolverOptions & set_map_env_method (const std::string &v)
SolverOptions & set_map_env_maxstages (std::size_t v)
SolverOptions & set_level (int v)
SolverOptions & set_cache (bool v)
SolverOptions & set_keep (bool v)
SolverOptions & set_verbose (bool v)
SolverOptions & set_force (bool v)
SolverOptions & set_timestep (double v)
SolverOptions & set_timeout (double v)
SolverOptions & set_events (std::size_t v)
SolverOptions & set_confint (double v)
SolverOptions & set_cimethod (const std::string &v)
SolverOptions & set_ciminbatch (int v)
SolverOptions & set_ciminobs (int v)
SolverOptions & set_obmoverlap (double v)
SolverOptions & set_spectral_low_freq_frac (double v)
SolverOptions & set_tranfilter (const std::string &v)
SolverOptions & set_mserbatch (int v)
SolverOptions & set_warmupfrac (double v)
SolverOptions & set_init_jobs (const Matrix< double > &v)
SolverOptions & set_track_jobs (bool v)
SolverOptions & set_cnvgon (bool v)
SolverOptions & set_cnvgtol (double v)
SolverOptions & set_cnvgbatch (int v)
SolverOptions & set_cnvgchk (int v)

Public Attributes

std::string method = "default"
double tol = -1.0
double iter_tol = -1.0
int iter_max = -1
std::size_t samples = 0
unsigned long seed = 0
double cutoff = -1.0
 CTMC options.cutoff, scalar or per class.
std::vector< std::size_t > cutoff_vec
std::size_t state_max = 0
 CTMC refusal threshold on the state-space size.
double timespan_end = -1.0
 Fluid options.timespan(2) and warm start.
std::vector< double > init_sol
bool stiff = false
std::string multiserver
 The options.config fields of the MVA / NC / fluid families.
std::string highvar
std::string np_priority
std::string fork_join
 MVA / NC options.config.fork_join: 'default'/'mmt'/'fjt' or 'ht'.
std::string state_space_gen
 SSA options.config.state_space_gen.
std::string symbolic
 options.config.symbolic: the computer-algebra backend to resolve.
int symbolic_timeout = -1
 options.config.symbolic_timeout, seconds per symbolic request.
std::string map_env
 options.config.map_env: "auto" (or "default") lets a model whose ONLY unsupported features are non-renewal processes fall back to its random-environment image, "off" keeps the plain rejection.
std::string map_env_method
 options.config.map_env_method: auto, meanfield, dec or avg.
std::size_t map_env_maxstages = 0
 options.config.map_env_maxstages: 0 keeps map2renv's own cap of 64.
int level = 2
 SolverBA options.level.
int replications = -1
 JMT options.config.replications: the independent JSIM runs the transient ensemble of default averages over a finite timespan.
bool cache = true
 options.cache: reuse the solved tables on later calls to the same solver object.
bool keep = false
 JMT options.keep: leave the scratch directory in place after the solve.
bool verbose = false
bool force = false
 options.force: CTMC downgrades its memory pre-gate refusal to a warning.
double timestep = -1.0
 options.timestep: CTMC fixed transient output step, fluid diffusion step; <= 0 keeps the default.
double timeout = -1.0
 options.timeout, seconds: the cooperative wall-clock budget LDES polls; <= 0 keeps none.
std::size_t events = 0
 options.events: the SSA / LDES event budget, overriding samples when set; 0 = not given.
double confint = 0.0
 options.confint: the confidence level of the half-widths JMT and LDES report, in (0,1).
std::string cimethod
 LDES options.cimethod: obm | bm | spectral | none; empty keeps obm.
int ciminbatch = -1
 LDES options.ciminbatch / ciminobs; negative keeps the engine's 10 / 100.
int ciminobs = -1
double obmoverlap = -1.0
 LDES options.obmoverlap, in [0,1]; negative keeps 0.5.
double spectral_low_freq_frac = -1.0
 LDES options.spectralLowFreqFrac, in (0,1]; non-positive keeps 0.25.
std::string tranfilter
 LDES options.tranfilter: mser5 | fixed | none; empty keeps mser5.
int mserbatch = -1
 LDES options.mserbatch; non-positive keeps 5.
double warmupfrac = -1.0
 options.warmupfrac, in [0,1): LDES under tranfilter=fixed, and SSA's discarded prefix.
Matrix< double > init_jobs
 LDES options.init_jobs: one row per job, [station, class, remaining, elapsed, qage, sage, order, id] with 0-based indexes; takes precedence over the model state and init_sol.
bool track_jobs = false
 LDES options.track_jobs: return the end-of-run job state; implied by init_jobs.
bool cnvgon = false
 LDES convergence stopping: cnvgon, cnvgtol, cnvgbatch, cnvgchk; negative keeps the default.
double cnvgtol = -1.0
int cnvgbatch = -1
int cnvgchk = -1

Detailed Description

The knobs a solver reads; a negative or empty field keeps the engine default.

Definition at line 36 of file solver_options.h.

Member Function Documentation

◆ set_cache()

SolverOptions & line::SolverOptions::set_cache ( bool v)
inline

Definition at line 177 of file solver_options.h.

References cache.

◆ set_cimethod()

SolverOptions & line::SolverOptions::set_cimethod ( const std::string & v)
inline

Definition at line 185 of file solver_options.h.

References cimethod.

◆ set_ciminbatch()

SolverOptions & line::SolverOptions::set_ciminbatch ( int v)
inline

Definition at line 186 of file solver_options.h.

References ciminbatch.

◆ set_ciminobs()

SolverOptions & line::SolverOptions::set_ciminobs ( int v)
inline

Definition at line 187 of file solver_options.h.

References ciminobs.

◆ set_cnvgbatch()

SolverOptions & line::SolverOptions::set_cnvgbatch ( int v)
inline

Definition at line 197 of file solver_options.h.

References cnvgbatch.

◆ set_cnvgchk()

SolverOptions & line::SolverOptions::set_cnvgchk ( int v)
inline

Definition at line 198 of file solver_options.h.

References cnvgchk.

◆ set_cnvgon()

SolverOptions & line::SolverOptions::set_cnvgon ( bool v)
inline

Definition at line 195 of file solver_options.h.

References cnvgon.

◆ set_cnvgtol()

SolverOptions & line::SolverOptions::set_cnvgtol ( double v)
inline

Definition at line 196 of file solver_options.h.

References cnvgtol.

◆ set_confint()

SolverOptions & line::SolverOptions::set_confint ( double v)
inline

Definition at line 184 of file solver_options.h.

References confint.

◆ set_cutoff()

SolverOptions & line::SolverOptions::set_cutoff ( double v)
inline

Definition at line 160 of file solver_options.h.

References cutoff.

◆ set_cutoff_vec()

SolverOptions & line::SolverOptions::set_cutoff_vec ( const std::vector< std::size_t > & v)
inline

Definition at line 161 of file solver_options.h.

References cutoff_vec.

◆ set_events()

SolverOptions & line::SolverOptions::set_events ( std::size_t v)
inline

Definition at line 183 of file solver_options.h.

References events.

◆ set_force()

SolverOptions & line::SolverOptions::set_force ( bool v)
inline

Definition at line 180 of file solver_options.h.

References force.

◆ set_fork_join()

SolverOptions & line::SolverOptions::set_fork_join ( const std::string & v)
inline

Definition at line 169 of file solver_options.h.

References fork_join.

◆ set_highvar()

SolverOptions & line::SolverOptions::set_highvar ( const std::string & v)
inline

Definition at line 167 of file solver_options.h.

References highvar.

◆ set_init_jobs()

SolverOptions & line::SolverOptions::set_init_jobs ( const Matrix< double > & v)
inline

Definition at line 193 of file solver_options.h.

References init_jobs.

◆ set_init_sol()

SolverOptions & line::SolverOptions::set_init_sol ( const std::vector< double > & v)
inline

Definition at line 164 of file solver_options.h.

References init_sol.

◆ set_iter_max()

SolverOptions & line::SolverOptions::set_iter_max ( int v)
inline

Definition at line 156 of file solver_options.h.

References iter_max.

◆ set_iter_tol()

SolverOptions & line::SolverOptions::set_iter_tol ( double v)
inline

Definition at line 155 of file solver_options.h.

References iter_tol.

◆ set_keep()

SolverOptions & line::SolverOptions::set_keep ( bool v)
inline

Definition at line 178 of file solver_options.h.

References keep.

◆ set_level()

SolverOptions & line::SolverOptions::set_level ( int v)
inline

Definition at line 176 of file solver_options.h.

References level.

◆ set_map_env()

SolverOptions & line::SolverOptions::set_map_env ( const std::string & v)
inline

Definition at line 173 of file solver_options.h.

References map_env.

◆ set_map_env_maxstages()

SolverOptions & line::SolverOptions::set_map_env_maxstages ( std::size_t v)
inline

Definition at line 175 of file solver_options.h.

References map_env_maxstages.

◆ set_map_env_method()

SolverOptions & line::SolverOptions::set_map_env_method ( const std::string & v)
inline

Definition at line 174 of file solver_options.h.

References map_env_method.

◆ set_method()

SolverOptions & line::SolverOptions::set_method ( const std::string & v)
inline

Definition at line 153 of file solver_options.h.

References method.

◆ set_mserbatch()

SolverOptions & line::SolverOptions::set_mserbatch ( int v)
inline

Definition at line 191 of file solver_options.h.

References mserbatch.

◆ set_multiserver()

SolverOptions & line::SolverOptions::set_multiserver ( const std::string & v)
inline

Definition at line 166 of file solver_options.h.

References multiserver.

◆ set_np_priority()

SolverOptions & line::SolverOptions::set_np_priority ( const std::string & v)
inline

Definition at line 168 of file solver_options.h.

References np_priority.

◆ set_obmoverlap()

SolverOptions & line::SolverOptions::set_obmoverlap ( double v)
inline

Definition at line 188 of file solver_options.h.

References obmoverlap.

◆ set_replications()

SolverOptions & line::SolverOptions::set_replications ( int v)
inline

Definition at line 157 of file solver_options.h.

References replications.

◆ set_samples()

SolverOptions & line::SolverOptions::set_samples ( std::size_t v)
inline

Definition at line 158 of file solver_options.h.

References samples.

◆ set_seed()

SolverOptions & line::SolverOptions::set_seed ( unsigned long v)
inline

Definition at line 159 of file solver_options.h.

References seed.

◆ set_spectral_low_freq_frac()

SolverOptions & line::SolverOptions::set_spectral_low_freq_frac ( double v)
inline

Definition at line 189 of file solver_options.h.

References spectral_low_freq_frac.

◆ set_state_max()

SolverOptions & line::SolverOptions::set_state_max ( std::size_t v)
inline

Definition at line 162 of file solver_options.h.

References state_max.

◆ set_state_space_gen()

SolverOptions & line::SolverOptions::set_state_space_gen ( const std::string & v)
inline

Definition at line 170 of file solver_options.h.

References state_space_gen.

◆ set_stiff()

SolverOptions & line::SolverOptions::set_stiff ( bool v)
inline

Definition at line 165 of file solver_options.h.

References stiff.

◆ set_symbolic()

SolverOptions & line::SolverOptions::set_symbolic ( const std::string & v)
inline

Definition at line 171 of file solver_options.h.

References symbolic.

◆ set_symbolic_timeout()

SolverOptions & line::SolverOptions::set_symbolic_timeout ( int v)
inline

Definition at line 172 of file solver_options.h.

References symbolic_timeout.

◆ set_timeout()

SolverOptions & line::SolverOptions::set_timeout ( double v)
inline

Definition at line 182 of file solver_options.h.

References timeout.

◆ set_timespan_end()

SolverOptions & line::SolverOptions::set_timespan_end ( double v)
inline

Definition at line 163 of file solver_options.h.

References timespan_end.

◆ set_timestep()

SolverOptions & line::SolverOptions::set_timestep ( double v)
inline

Definition at line 181 of file solver_options.h.

References timestep.

◆ set_tol()

SolverOptions & line::SolverOptions::set_tol ( double v)
inline

Definition at line 154 of file solver_options.h.

References tol.

◆ set_track_jobs()

SolverOptions & line::SolverOptions::set_track_jobs ( bool v)
inline

Definition at line 194 of file solver_options.h.

References track_jobs.

◆ set_tranfilter()

SolverOptions & line::SolverOptions::set_tranfilter ( const std::string & v)
inline

Definition at line 190 of file solver_options.h.

References tranfilter.

◆ set_verbose()

SolverOptions & line::SolverOptions::set_verbose ( bool v)
inline

Definition at line 179 of file solver_options.h.

References verbose.

◆ set_warmupfrac()

SolverOptions & line::SolverOptions::set_warmupfrac ( double v)
inline

Definition at line 192 of file solver_options.h.

References warmupfrac.

Member Data Documentation

◆ cache

bool line::SolverOptions::cache = true

options.cache: reuse the solved tables on later calls to the same solver object.

True, the reference default, returns the stored result from avg_table and everything built on it; false re-runs the analysis on every call, as MATLAB's and the JAR's getAvg do under ~options.cache, so edits to the model are picked up without reset().

Definition at line 106 of file solver_options.h.

Referenced by line::NetworkSolver::avg_table(), and set_cache().

◆ cimethod

std::string line::SolverOptions::cimethod

LDES options.cimethod: obm | bm | spectral | none; empty keeps obm.

Definition at line 126 of file solver_options.h.

Referenced by set_cimethod().

◆ ciminbatch

int line::SolverOptions::ciminbatch = -1

LDES options.ciminbatch / ciminobs; negative keeps the engine's 10 / 100.

Definition at line 128 of file solver_options.h.

Referenced by set_ciminbatch().

◆ ciminobs

int line::SolverOptions::ciminobs = -1

Definition at line 129 of file solver_options.h.

Referenced by set_ciminobs().

◆ cnvgbatch

int line::SolverOptions::cnvgbatch = -1

Definition at line 150 of file solver_options.h.

Referenced by set_cnvgbatch().

◆ cnvgchk

int line::SolverOptions::cnvgchk = -1

Definition at line 151 of file solver_options.h.

Referenced by set_cnvgchk().

◆ cnvgon

bool line::SolverOptions::cnvgon = false

LDES convergence stopping: cnvgon, cnvgtol, cnvgbatch, cnvgchk; negative keeps the default.

Definition at line 148 of file solver_options.h.

Referenced by set_cnvgon().

◆ cnvgtol

double line::SolverOptions::cnvgtol = -1.0

Definition at line 149 of file solver_options.h.

Referenced by set_cnvgtol().

◆ confint

double line::SolverOptions::confint = 0.0

options.confint: the confidence level of the half-widths JMT and LDES report, in (0,1).

0 is the reference's false: no interval columns in AvgTable. A level fills QLenCI and its siblings, which AvgTable::print shows as mean +- half-width. SSA reports no interval.

Definition at line 124 of file solver_options.h.

Referenced by set_confint().

◆ cutoff

double line::SolverOptions::cutoff = -1.0

CTMC options.cutoff, scalar or per class.

Definition at line 44 of file solver_options.h.

Referenced by set_cutoff().

◆ cutoff_vec

std::vector<std::size_t> line::SolverOptions::cutoff_vec

Definition at line 45 of file solver_options.h.

Referenced by set_cutoff_vec().

◆ events

std::size_t line::SolverOptions::events = 0

options.events: the SSA / LDES event budget, overriding samples when set; 0 = not given.

Definition at line 117 of file solver_options.h.

Referenced by set_events().

◆ force

bool line::SolverOptions::force = false

options.force: CTMC downgrades its memory pre-gate refusal to a warning.

Definition at line 111 of file solver_options.h.

Referenced by set_force().

◆ fork_join

std::string line::SolverOptions::fork_join

MVA / NC options.config.fork_join: 'default'/'mmt'/'fjt' or 'ht'.

Definition at line 57 of file solver_options.h.

Referenced by set_fork_join().

◆ highvar

std::string line::SolverOptions::highvar

Definition at line 54 of file solver_options.h.

Referenced by set_highvar().

◆ init_jobs

Matrix<double> line::SolverOptions::init_jobs

LDES options.init_jobs: one row per job, [station, class, remaining, elapsed, qage, sage, order, id] with 0-based indexes; takes precedence over the model state and init_sol.

Definition at line 144 of file solver_options.h.

Referenced by line::SolverLDES::init_from_jobs(), and set_init_jobs().

◆ init_sol

std::vector<double> line::SolverOptions::init_sol

Definition at line 50 of file solver_options.h.

Referenced by set_init_sol().

◆ iter_max

int line::SolverOptions::iter_max = -1

Definition at line 40 of file solver_options.h.

Referenced by set_iter_max().

◆ iter_tol

double line::SolverOptions::iter_tol = -1.0

Definition at line 39 of file solver_options.h.

Referenced by set_iter_tol().

◆ keep

bool line::SolverOptions::keep = false

JMT options.keep: leave the scratch directory in place after the solve.

Definition at line 108 of file solver_options.h.

Referenced by set_keep().

◆ level

int line::SolverOptions::level = 2

SolverBA options.level.

Definition at line 93 of file solver_options.h.

Referenced by line::SolverBA::bounds_table(), and set_level().

◆ map_env

std::string line::SolverOptions::map_env

options.config.map_env: "auto" (or "default") lets a model whose ONLY unsupported features are non-renewal processes fall back to its random-environment image, "off" keeps the plain rejection.

CALLER-FACING ONLY, and deliberately not on MvaOptions, NcSolverOptions or FluidOptions: no runAnalyzer reads it in the reference either. The fallback happens ABOVE the runner, in getAvg's place, because the runner must go on refusing the model it cannot consume.

Definition at line 87 of file solver_options.h.

Referenced by set_map_env().

◆ map_env_maxstages

std::size_t line::SolverOptions::map_env_maxstages = 0

options.config.map_env_maxstages: 0 keeps map2renv's own cap of 64.

Definition at line 91 of file solver_options.h.

Referenced by set_map_env_maxstages().

◆ map_env_method

std::string line::SolverOptions::map_env_method

options.config.map_env_method: auto, meanfield, dec or avg.

Definition at line 89 of file solver_options.h.

Referenced by set_map_env_method().

◆ method

std::string line::SolverOptions::method = "default"

◆ mserbatch

int line::SolverOptions::mserbatch = -1

LDES options.mserbatch; non-positive keeps 5.

Definition at line 137 of file solver_options.h.

Referenced by set_mserbatch().

◆ multiserver

std::string line::SolverOptions::multiserver

The options.config fields of the MVA / NC / fluid families.

Definition at line 53 of file solver_options.h.

Referenced by set_multiserver().

◆ np_priority

std::string line::SolverOptions::np_priority

Definition at line 55 of file solver_options.h.

Referenced by set_np_priority().

◆ obmoverlap

double line::SolverOptions::obmoverlap = -1.0

LDES options.obmoverlap, in [0,1]; negative keeps 0.5.

Definition at line 131 of file solver_options.h.

Referenced by set_obmoverlap().

◆ replications

int line::SolverOptions::replications = -1

JMT options.config.replications: the independent JSIM runs the transient ensemble of default averages over a finite timespan.

Non-positive keeps the engine default of 10.

Definition at line 98 of file solver_options.h.

Referenced by set_replications().

◆ samples

std::size_t line::SolverOptions::samples = 0

Definition at line 41 of file solver_options.h.

Referenced by set_samples().

◆ seed

unsigned long line::SolverOptions::seed = 0

Definition at line 42 of file solver_options.h.

Referenced by set_seed().

◆ spectral_low_freq_frac

double line::SolverOptions::spectral_low_freq_frac = -1.0

LDES options.spectralLowFreqFrac, in (0,1]; non-positive keeps 0.25.

Definition at line 133 of file solver_options.h.

Referenced by set_spectral_low_freq_frac().

◆ state_max

std::size_t line::SolverOptions::state_max = 0

CTMC refusal threshold on the state-space size.

Definition at line 47 of file solver_options.h.

Referenced by set_state_max().

◆ state_space_gen

std::string line::SolverOptions::state_space_gen

SSA options.config.state_space_gen.

Definition at line 59 of file solver_options.h.

Referenced by set_state_space_gen().

◆ stiff

bool line::SolverOptions::stiff = false

Definition at line 51 of file solver_options.h.

Referenced by set_stiff().

◆ symbolic

std::string line::SolverOptions::symbolic

options.config.symbolic: the computer-algebra backend to resolve.

Empty keeps the engine default, which is auto. Other values are a URL, an image name, or none to stay local. Hoisted out of config like every other field here: this struct is flat by design.

Definition at line 67 of file solver_options.h.

Referenced by set_symbolic().

◆ symbolic_timeout

int line::SolverOptions::symbolic_timeout = -1

options.config.symbolic_timeout, seconds per symbolic request.

Non-positive keeps the engine default of 300. It is a real knob and not a formality: a symbolic solve grows superpolynomially in the state count, and the fluid equilibria of a smoothed softmin drift are transcendental in exp(-pstar*x) and outrun 300 s on models that are otherwise ordinary.

Definition at line 76 of file solver_options.h.

Referenced by set_symbolic_timeout().

◆ timeout

double line::SolverOptions::timeout = -1.0

options.timeout, seconds: the cooperative wall-clock budget LDES polls; <= 0 keeps none.

Definition at line 115 of file solver_options.h.

Referenced by set_timeout().

◆ timespan_end

double line::SolverOptions::timespan_end = -1.0

Fluid options.timespan(2) and warm start.

Definition at line 49 of file solver_options.h.

Referenced by set_timespan_end().

◆ timestep

double line::SolverOptions::timestep = -1.0

options.timestep: CTMC fixed transient output step, fluid diffusion step; <= 0 keeps the default.

Definition at line 113 of file solver_options.h.

Referenced by set_timestep().

◆ tol

double line::SolverOptions::tol = -1.0

Definition at line 38 of file solver_options.h.

Referenced by set_tol().

◆ track_jobs

bool line::SolverOptions::track_jobs = false

LDES options.track_jobs: return the end-of-run job state; implied by init_jobs.

Definition at line 146 of file solver_options.h.

Referenced by line::SolverLDES::init_from_jobs(), and set_track_jobs().

◆ tranfilter

std::string line::SolverOptions::tranfilter

LDES options.tranfilter: mser5 | fixed | none; empty keeps mser5.

Definition at line 135 of file solver_options.h.

Referenced by line::SolverLDES::init_from_solver(), and set_tranfilter().

◆ verbose

bool line::SolverOptions::verbose = false

Definition at line 109 of file solver_options.h.

Referenced by set_verbose().

◆ warmupfrac

double line::SolverOptions::warmupfrac = -1.0

options.warmupfrac, in [0,1): LDES under tranfilter=fixed, and SSA's discarded prefix.

Definition at line 139 of file solver_options.h.

Referenced by line::SolverLDES::init_from_solver(), and set_warmupfrac().


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