LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::lqns::SolverLQNS< T > Class Template Reference

The layered model solved by lqns or lqsim. More...

#include <line/solvers/wrappers/lqns/solver_lqns.h>

Public Member Functions

 SolverLQNS (const lqn::LqnModel< T > &model, const LqnsOptions &options=LqnsOptions())
const lqn::LqnStruct< T > & get_struct () const
const LqnsOptionsoptions () const
double runtime () const
 Wall-clock seconds of the last run, the reference's runtime.
int iterations () const
const LqnsRawAvgraw_avg ()
 Everything the .lqxo carried, before the column permutation.
void run_analyzer ()
 Run the binary and read its result back.
LqnsSolution< T > get_ensemble_avg ()
 The six measures on the element index space.

Static Public Member Functions

static bool has_local_binary ()
 True when the native lqns command answers on this machine, any release.
static bool is_available ()
 True when a local binary is installed AND is 6.0 or greater.
static std::string version ()
 The version banner of the local binary, empty when there is none.
static std::vector< std::string > list_valid_methods ()
static bool is_stochastic_method (const std::string &method)
 Only the lqsim methods draw random numbers.
static std::vector< std::string > feature_set ()
 The per-layer feature set, as SolverLQNS.supports declares it.

Detailed Description

template<class T>
class line::lqns::SolverLQNS< T >

The layered model solved by lqns or lqsim.

Constructed over the INTERMEDIATE model (lqn_reader.h), not over the struct, because the document handed to the binary has to carry the precedence blocks and reply entries that getStruct flattens away.

Definition at line 192 of file solver_lqns.h.

Constructor & Destructor Documentation

◆ SolverLQNS()

template<class T>
line::lqns::SolverLQNS< T >::SolverLQNS ( const lqn::LqnModel< T > & model,
const LqnsOptions & options = LqnsOptions() )
inline

Definition at line 194 of file solver_lqns.h.

References is_available(), list_valid_methods(), and options().

Member Function Documentation

◆ feature_set()

template<class T>
std::vector< std::string > line::lqns::SolverLQNS< T >::feature_set ( )
inlinestatic

The per-layer feature set, as SolverLQNS.supports declares it.

A layered model reaches lqns as a whole, so this is the set each LAYER must fall inside: the product-form station kinds and the four service distributions the LQN schema can carry.

Definition at line 247 of file solver_lqns.h.

◆ get_ensemble_avg()

◆ get_struct()

template<class T>
const lqn::LqnStruct< T > & line::lqns::SolverLQNS< T >::get_struct ( ) const
inline

Definition at line 256 of file solver_lqns.h.

Referenced by line::qns::solver_qns_run_analyzer().

◆ has_local_binary()

template<class T>
bool line::lqns::SolverLQNS< T >::has_local_binary ( )
inlinestatic

True when the native lqns command answers on this machine, any release.

Definition at line 214 of file solver_lqns.h.

References line::lqns::lqns_version().

◆ is_available()

template<class T>
bool line::lqns::SolverLQNS< T >::is_available ( )
inlinestatic

True when a local binary is installed AND is 6.0 or greater.

Definition at line 217 of file solver_lqns.h.

References line::lqns::lqns_is_available().

Referenced by SolverLQNS().

◆ is_stochastic_method()

template<class T>
bool line::lqns::SolverLQNS< T >::is_stochastic_method ( const std::string & method)
inlinestatic

Only the lqsim methods draw random numbers.

Definition at line 236 of file solver_lqns.h.

◆ iterations()

template<class T>
int line::lqns::SolverLQNS< T >::iterations ( ) const
inline

Definition at line 260 of file solver_lqns.h.

◆ list_valid_methods()

template<class T>
std::vector< std::string > line::lqns::SolverLQNS< T >::list_valid_methods ( )
inlinestatic

Definition at line 222 of file solver_lqns.h.

Referenced by SolverLQNS().

◆ options()

template<class T>
const LqnsOptions & line::lqns::SolverLQNS< T >::options ( ) const
inline

Definition at line 257 of file solver_lqns.h.

Referenced by SolverLQNS().

◆ raw_avg()

template<class T>
const LqnsRawAvg & line::lqns::SolverLQNS< T >::raw_avg ( )
inline

Everything the .lqxo carried, before the column permutation.

Definition at line 262 of file solver_lqns.h.

◆ run_analyzer()

template<class T>
void line::lqns::SolverLQNS< T >::run_analyzer ( )
inline

Run the binary and read its result back.

Re-running is what the reference does on every getEnsembleAvg call, but repeating a lqsim run would silently change the answer between two reads of the same solver object, so the result is computed once and kept.

Definition at line 274 of file solver_lqns.h.

References line::lqn::LqnWriteReport::dropped, line::util::LineConsole::step(), and line::lqn::write_lqnx().

◆ runtime()

template<class T>
double line::lqns::SolverLQNS< T >::runtime ( ) const
inline

Wall-clock seconds of the last run, the reference's runtime.

Definition at line 259 of file solver_lqns.h.

◆ version()

template<class T>
std::string line::lqns::SolverLQNS< T >::version ( )
inlinestatic

The version banner of the local binary, empty when there is none.

Definition at line 220 of file solver_lqns.h.

References line::lqns::lqns_version().


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