LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
solver_ba_analyzer.h File Reference

Port of matlab/src/solvers/BA/solver_ba_analyzer.m, the bound-analysis handler behind SolverBA. More...

Include dependency graph for solver_ba_analyzer.h:

Go to the source code of this file.

Classes

struct  line::ba::BaOptions
 The options SolverBA reads. More...
struct  line::ba::BaOptions::QrfParams
 options.config.qrf_params, the blocking tables the BAS and RS-RD arms need. More...
struct  line::ba::BaSolution< T >
 Class-level results, the [Q,U,R,T,C,X] of solver_ba_analyzer. More...

Namespaces

namespace  line
namespace  line::ba

Enumerations

enum class  line::ba::SchedStrategy
 Scheduling disciplines, with the values of MATLAB SchedStrategy. More...

Functions

template<class T>
std::string line::ba::method_refusal (const qn::NetworkStruct< T > &L, const std::string &method)
 The STRUCTURAL premises of the SolverBA bound families, in one place: the reason METHOD cannot bound the model L, or "" when it can.
template<class T>
std::string line::ba::method_degenerate (const qn::NetworkStruct< T > &L, const std::string &method)
 Whether METHOD APPLIES to L but its bound carries no information there, and why.
template<class T>
BaSolution< T > line::ba::solver_ba_analyzer (const qn::NetworkStruct< T > &L, const BaOptions &opt)
 Port of solver_ba_analyzer.

Detailed Description

Port of matlab/src/solvers/BA/solver_ba_analyzer.m, the bound-analysis handler behind SolverBA.

Each method returns ONE side of a bracket, optimistic or pessimistic, never a point estimate. The bound itself is a scalar on the chain throughput; the per-station [Q,U,R,T,C] around it is reconstructed by the utilization law and by the same optimistic/pessimistic residence convention the ABA bound uses, which is why every family agrees on the shape of the answer even where the literature leaves the per-station response time undefined.

WHAT A BOUND NEEDS is demands (visits x mean service time) and populations. No service-time distribution enters, so the featset is deliberately narrow: closed, product-form-parameterized models. The single-class families reject a multiclass model by name rather than answer for one class.

ARITHMETIC. The asymptotic, balanced, proportional and box families are sums, products, integer powers, minima and divisions, so they are exact in rational arithmetic. Three paths are not and are gated: the geometric family (gb) and the successively-improving bounds (sib) solve a quadratic, and the sb lower bound takes an (N-1)-st root.

Definition in file solver_ba_analyzer.h.