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_keep (bool v)
SolverOptions & set_verbose (bool 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: "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 keep = false
 JMT options.keep: leave the scratch directory in place after the solve.
bool verbose = false

Detailed Description

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

Definition at line 34 of file solver_options.h.

Member Function Documentation

◆ set_cutoff()

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

Definition at line 108 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 109 of file solver_options.h.

References cutoff_vec.

◆ set_fork_join()

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

Definition at line 117 of file solver_options.h.

References fork_join.

◆ set_highvar()

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

Definition at line 115 of file solver_options.h.

References highvar.

◆ set_init_sol()

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

Definition at line 112 of file solver_options.h.

References init_sol.

◆ set_iter_max()

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

Definition at line 104 of file solver_options.h.

References iter_max.

◆ set_iter_tol()

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

Definition at line 103 of file solver_options.h.

References iter_tol.

◆ set_keep()

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

Definition at line 125 of file solver_options.h.

References keep.

◆ set_level()

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

Definition at line 124 of file solver_options.h.

References level.

◆ set_map_env()

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

Definition at line 121 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 123 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 122 of file solver_options.h.

References map_env_method.

◆ set_method()

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

Definition at line 101 of file solver_options.h.

References method.

◆ set_multiserver()

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

Definition at line 114 of file solver_options.h.

References multiserver.

◆ set_np_priority()

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

Definition at line 116 of file solver_options.h.

References np_priority.

◆ set_replications()

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

Definition at line 105 of file solver_options.h.

References replications.

◆ set_samples()

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

Definition at line 106 of file solver_options.h.

References samples.

◆ set_seed()

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

Definition at line 107 of file solver_options.h.

References seed.

◆ set_state_max()

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

Definition at line 110 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 118 of file solver_options.h.

References state_space_gen.

◆ set_stiff()

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

Definition at line 113 of file solver_options.h.

References stiff.

◆ set_symbolic()

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

Definition at line 119 of file solver_options.h.

References symbolic.

◆ set_symbolic_timeout()

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

Definition at line 120 of file solver_options.h.

References symbolic_timeout.

◆ set_timespan_end()

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

Definition at line 111 of file solver_options.h.

References timespan_end.

◆ set_tol()

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

Definition at line 102 of file solver_options.h.

References tol.

◆ set_verbose()

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

Definition at line 126 of file solver_options.h.

References verbose.

Member Data Documentation

◆ cutoff

double line::SolverOptions::cutoff = -1.0

CTMC options.cutoff, scalar or per class.

Definition at line 42 of file solver_options.h.

Referenced by set_cutoff().

◆ cutoff_vec

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

Definition at line 43 of file solver_options.h.

Referenced by set_cutoff_vec().

◆ fork_join

std::string line::SolverOptions::fork_join

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

Definition at line 55 of file solver_options.h.

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

◆ highvar

std::string line::SolverOptions::highvar

Definition at line 52 of file solver_options.h.

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

◆ init_sol

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

Definition at line 48 of file solver_options.h.

Referenced by set_init_sol().

◆ iter_max

int line::SolverOptions::iter_max = -1

Definition at line 38 of file solver_options.h.

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

◆ iter_tol

double line::SolverOptions::iter_tol = -1.0

Definition at line 37 of file solver_options.h.

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

◆ keep

bool line::SolverOptions::keep = false

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

Definition at line 98 of file solver_options.h.

Referenced by set_keep().

◆ level

int line::SolverOptions::level = 2

SolverBA options.level.

Definition at line 91 of file solver_options.h.

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

◆ map_env

std::string line::SolverOptions::map_env

options.config.map_env: "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 85 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 89 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 87 of file solver_options.h.

Referenced by set_map_env_method().

◆ method

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

◆ multiserver

std::string line::SolverOptions::multiserver

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

Definition at line 51 of file solver_options.h.

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

◆ np_priority

std::string line::SolverOptions::np_priority

Definition at line 53 of file solver_options.h.

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

◆ 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 96 of file solver_options.h.

Referenced by set_replications().

◆ samples

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

Definition at line 39 of file solver_options.h.

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

◆ seed

unsigned long line::SolverOptions::seed = 0

Definition at line 40 of file solver_options.h.

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

◆ state_max

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

CTMC refusal threshold on the state-space size.

Definition at line 45 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 57 of file solver_options.h.

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

◆ stiff

bool line::SolverOptions::stiff = false

Definition at line 49 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 65 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 74 of file solver_options.h.

Referenced by set_symbolic_timeout().

◆ timespan_end

double line::SolverOptions::timespan_end = -1.0

Fluid options.timespan(2) and warm start.

Definition at line 47 of file solver_options.h.

Referenced by set_timespan_end().

◆ tol

double line::SolverOptions::tol = -1.0

Definition at line 36 of file solver_options.h.

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

◆ verbose

bool line::SolverOptions::verbose = false

Definition at line 99 of file solver_options.h.

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


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