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 LqnsOptions & options () const
double runtime () const
 Wall-clock seconds of the last run, the reference's runtime.
int iterations () const
const LqnsRawAvg & raw_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 288 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

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 345 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 354 of file solver_lqns.h.

◆ 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 313 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 316 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 334 of file solver_lqns.h.

◆ iterations()

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

Definition at line 358 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 321 of file solver_lqns.h.

References line::method_registry::methods().

Referenced by SolverLQNS().

◆ options()

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

Definition at line 355 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 360 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 372 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 357 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 319 of file solver_lqns.h.

References line::lqns::lqns_version().


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