![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
SolverNC: the normalizing-constant solver. More...
#include <line/solvers/solver.h>
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 |
SolverNC: the normalizing-constant solver.
Beyond the averages it answers getAvgLinkTable on a loss network, which no other solver does.
|
inlineexplicit |
Definition at line 269 of file solver.h.
References line::NetworkSolver::NetworkSolver().
Referenced by line::SolverAUTO::nc_solver().
|
inline |
Definition at line 271 of file solver.h.
References line::NetworkSolver::NetworkSolver().
| AvgLinkTable line::SolverNC::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.
Empty on any other model.
Definition at line 1229 of file solver_facade.cpp.
References line::solvers::LossnInfo::A, line::solvers::LossnInfo::C, line::AvgLinkTable::Capacity, line::Matrix< T >::cols(), line::AvgLinkTable::Demand, line::lossn::LossnLinksResult< T >::E, line::solvers::LossnInfo::empty(), line::qn::Network< T >::get_struct(), line::AvgLinkTable::JobClass, line::AvgLinkTable::Link, line::AvgLinkTable::LinkBlocking, line::solvers::LossnInfo::links, line::lossn::LossnLinksResult< T >::Loss, lossn_info(), line::lossn::lossn_links(), line::solvers::LossnInfo::method, line::NetworkSolver::model_, line::solvers::LossnInfo::nu, line::lossn::LossnLinksResult< T >::Occ, line::AvgLinkTable::Occupancy, line::AvgLinkTable::RouteLoss, line::Matrix< T >::rows(), line::lossn::LossnMciOptions< T >::samples, line::solvers::LossnInfo::samples, and line::solvers::LossnInfo::seed.
| 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().