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

SolverNC: the normalizing-constant solver. More...

#include <line/solvers/solver.h>

Inheritance diagram for line::SolverNC:
Collaboration diagram for line::SolverNC:

Public Member Functions

 SolverNC (Network &m, const SolverOptions &o=SolverOptions())
 SolverNC (Network &m, const std::string &method)
const solvers::LossnInfo & lossn_info ()
 The loss-network inputs (nu, A, C, link names, method) of the last solve, the reference's result.LossN.
AvgLinkTable avg_link_table ()
 getAvgLinkTable(): per-link Capacity, Demand, Occupancy, LinkBlocking and RouteLoss of a loss network, by lossn_links with the method of the last run.
Public Member Functions inherited from line::NetworkSolver
virtual ~NetworkSolver ()
const std::string & get_name () const
 getName(): the solver's own name, e.g.
const SolverOptions & options () const
 The options this solver was built with.
Network & model () const
 The model this solver was built on.
const AvgTable & avg_table ()
 getAvgTable(): the average table, solving on first demand.
AvgSysTable avg_sys_table ()
 getAvgSysTable(): per-chain system response time and throughput of the same solve.
AvgMetricTable avg_qlen_table ()
 getAvgQLenTable(): avg_table()'s Station, JobClass and QLen columns.
AvgMetricTable avg_util_table ()
 getAvgUtilTable(): avg_table()'s Station, JobClass and Util columns.
AvgMetricTable avg_respt_table ()
 getAvgRespTTable(): avg_table()'s Station, JobClass and RespT columns.
AvgMetricTable avg_tput_table ()
 getAvgTputTable(): avg_table()'s Station, JobClass and Tput columns.
std::vector< double > avg_sys_respt ()
 getAvgSysRespT(): the per-chain system response time column of avg_sys_table.
std::vector< double > avg_sys_tput ()
 getAvgSysTput(): the per-chain system throughput column of avg_sys_table.
AvgChain avg_chain ()
 getAvgChain(): the station table of the same solve aggregated by chain, (nstations x nchains).
Matrix< double > avg_qlen_chain ()
 getAvgQLenChain() and its siblings: one matrix of avg_chain() each.
Matrix< double > avg_util_chain ()
Matrix< double > avg_respt_chain ()
Matrix< double > avg_residt_chain ()
Matrix< double > avg_arvr_chain ()
Matrix< double > avg_tput_chain ()
AvgChainTable avg_chain_table ()
 getAvgChainTable(): avg_chain() as a labelled table, one row per (station, chain).
const AvgTable & run_analyzer ()
 runAnalyzer(): force the solve, returning the table it produced.
std::vector< std::string > list_valid_methods () const
 listValidMethods(): the methods this solver advertises on this model.
bool is_solved () const
 isSolved() / hasResults(): whether a solve has been performed.
bool timed_out ()
 timedOut: whether the last solve stopped early on options.timeout (the metrics are then the interim solution).
void reset ()
 reset(): discard the cached solve.
std::string method_used ()
 getMethodUsed(): the method the solve actually resolved to.
const solvers::CacheMetrics< double > & cache_metrics ()
 What the same solve observed at each Cache node, the data behind getAvgCacheTable() and getAvgItemTable().
std::vector< double > hit_ratio (const std::string &cache)
 cache.getHitRatio() after the solve: the per-class hit probability at the named Cache, NaN for a class that does not read it.
std::vector< double > hit_ratio (const Node &cache)
std::vector< double > miss_ratio (const std::string &cache)
 cache.getMissRatio() after the solve, with hit_ratio's conventions.
std::vector< double > miss_ratio (const Node &cache)
const solvers::FjMetrics< double > & avg_fj ()
 getAvgFJ(): the fork-join section metrics of the same solve, one row per Fork/Join pair (fj_sorted_pairs), one column per class.
AvgFJTable avg_fj_table ()
 getAvgFJTable() (aliases getAvgFJT, fjAvgT, aFJT): the same metrics as a labelled table.
AvgFJTable avg_fjt ()
AvgFJTable fj_avg_t ()
std::vector< Matrix< double > > avg_tard ()
 getAvgTard(): mean class tardiness E[(R - D)^+] against the JobClass deadlines, as {Tard (stations x classes), SysTard (1 x classes)}.

Additional Inherited Members

Protected Member Functions inherited from line::NetworkSolver
 NetworkSolver (Network &m, const std::string &name, const SolverOptions &o)
Protected Attributes inherited from line::NetworkSolver
Network * model_
std::string name_
SolverOptions opts_
AvgTable table_
solvers::CacheMetrics< double > cache_
solvers::FjMetrics< double > fj_
solvers::LossnInfo lossn_
 result.LossN: loss-network inputs of the last NC solve, else empty
bool solved_ = false

Detailed Description

SolverNC: the normalizing-constant solver.

Beyond the averages it answers getAvgLinkTable on a loss network, which no other solver does.

Definition at line 267 of file solver.h.

Constructor & Destructor Documentation

◆ SolverNC() [1/2]

line::SolverNC::SolverNC ( Network & m,
const SolverOptions & o = SolverOptions() )
inlineexplicit

Definition at line 269 of file solver.h.

References line::NetworkSolver::NetworkSolver().

Referenced by line::SolverAUTO::nc_solver().

◆ SolverNC() [2/2]

line::SolverNC::SolverNC ( Network & m,
const std::string & method )
inline

Definition at line 271 of file solver.h.

References line::NetworkSolver::NetworkSolver().

Member Function Documentation

◆ avg_link_table()

◆ lossn_info()

const solvers::LossnInfo & line::SolverNC::lossn_info ( )

The loss-network inputs (nu, A, C, link names, method) of the last solve, the reference's result.LossN.

Forces the solve; empty unless the model is a loss network.

Definition at line 1224 of file solver_facade.cpp.

References line::NetworkSolver::avg_table(), and line::NetworkSolver::lossn_.

Referenced by avg_link_table().


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