5#ifndef LINE_SOLVERS_MVA_SOLVER_MVA_CACHEQN_RETRIEVAL_H
6#define LINE_SOLVERS_MVA_SOLVER_MVA_CACHEQN_RETRIEVAL_H
86 "solver_mva_cacheqn_retrieval_analyzer: the closed delayed-hit decomposition alternates "
87 "two tolerance-stopped solves and needs transcendental arithmetic; rerun with --arith "
88 "double or --arith real");
101 bool has_scaling =
false;
102 for (
const auto& st : snit.stations)
103 if (!st.lldscaling.empty() || st.cdscaling) has_scaling =
true;
112 out.
sol.iter =
static_cast<int>(r.
iter);
116 out.
sol.method =
"fpi";
123 if (kv.second.itemcap.size() > h) h = kv.second.itemcap.size();
UnsupportedError(const std::string &what)
A network plus its refreshed NetworkStruct.
std::map< std::size_t, CacheParam< T > > nodeparam
Cache parameters by 1-based NODE index; only Cache nodes have an entry.
Decomposition-aggregation driver for a CLOSED integrated cache-queueing model whose Cache carries a d...
The exception types the port throws.
Dense matrix and non-owning view.
The option and result types every MVA analyzer shares.
CacheqnRetrievalResult< T > da_cacheqn_retrieval(qn::NetworkStruct< T > sn, const std::function< mva::MvaSolution< T >(const qn::NetworkStruct< T > &)> &netfun, const mva::MvaOptions &opt)
Port of da_cacheqn_retrieval.
DispatchResult< T > solver_mvald_analyzer(const qn::NetworkStruct< T > &L, const MvaOptions &opt, const Matrix< T > &init_sol)
Port of solver_mvald_analyzer.m: the load-dependent branch.
MvaCacheqnRetrievalSolution< T > solver_mva_cacheqn_retrieval_analyzer(const qn::NetworkStruct< T > &L, const MvaOptions &opt)
Port of solver_mva_cacheqn_retrieval_analyzer.m.
MvaSolution< T > solver_mva_analyzer(const qn::NetworkStruct< T > &L, const MvaOptions &opt, const Matrix< T > &init_sol)
Port of solver_mva_analyzer.m, default and the explicit method names.
A queueing network and its refreshed NetworkStruct.
SolverMVA over a SolverLN layer.
What the delayed-hit decomposition returns.
std::vector< T > hitprob
(K) P(item cached), read class only
std::vector< T > delayedprob
(K) zero on this path; see the header
mva::MvaSolution< T > res
std::vector< T > missprob
(K)
What the closed delayed-hit analyzer returns.
std::vector< T > delayedprob
(K) zero on this path, by the reference's convention
Matrix< T > hitproblist
(K x h) NaN: not computed on this path
std::vector< T > missprob
(K) the delayed fraction is folded in here
std::vector< T > latency
(K) NaN: not computed on this path
std::vector< T > hitprob
(K) P(item cached), read class only
The options SolverMVA reads.
Class-level results, the [Q,U,R,T,C,X] of the MATLAB analyzers.