Class Solver_mva_analyzer
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanDetects a closed single-chain network with Blocking-After-Service (BAS) finite-buffer blocking, which theSolver_sqdapproximation handles but exact/AMVA MVA does not.static booleanmvaCarriesInterlock(NetworkStruct sn, SolverOptions options) True when the MVA path this model already dispatches to carries a class-level interlock matrix (Franks 1999, Eq.static MVAResultsolver_mva_analyzer(NetworkStruct sn, SolverOptions options) MVA Analyzer.
-
Method Details
-
isBasModel
Detects a closed single-chain network with Blocking-After-Service (BAS) finite-buffer blocking, which theSolver_sqdapproximation handles but exact/AMVA MVA does not. -
mvaCarriesInterlock
True when the MVA path this model already dispatches to carries a class-level interlock matrix (Franks 1999, Eq. 4.7) itself, so that supplying one does not silently move the model to a DIFFERENT algorithm.Only two kernels implement the correction:
Pfqn_mva(exact, closed single-server) and the AMVA forward step ofSolver_amvald. A model that would otherwise be solved by exact multiserver or mixed MVA, or by the product-form AMVA kernels (linearizer and relatives), cannot take the matrix without swapping its algorithm, and the swap is not a small perturbation: it moves the answer by far more than the correction itself and, inside SolverLN, can turn a converging Picard iteration into a limit cycle. Callers that hold a matrix such a model cannot carry must apply their own correction instead.The test is deliberately conservative: where the AMVA product-form branch is entered only for some resolved methods, this returns false for all of them, since refusing the matrix falls back on the caller's own handling rather than on a changed algorithm.
-
solver_mva_analyzer
MVA Analyzer.
-