Class ChainsStrategy
- All Implemented Interfaces:
TransformSolve.Strategy
TransformSolve.
Collapses every chain onto a single class, class switching disappearing with it, solves that model with the CALLER'S OWN solver, and maps the chain metrics back onto the classes through alpha, the per-station share of the chain's visits each class carries.
WHAT IS TRADED. The aggregation is EXACT on a product-form model: the chain is the unit MVA and convolution already solve in, and the deaggregation is the same alpha-weighted split those solvers apply. It is an APPROXIMATION otherwise, because one aggregate service law, fitted to the alpha-weighted first two moments, replaces the per-class ones. A caller who needs the exact multiclass answer leaves the transform off and pays the state space.
SINGLE PASS: one solve of the aggregate determines the answer, so the context is not iterated and couple/converged are never called.
Mirrors MATLAB solver_tr_chains_analyzer.m and python
transform_driver._chains_strategy.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classCarries what the deaggregation needs from the aggregation. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanconverged(TransformSolve.Expanded ctx, List<TransformSolve.Inner> res, int it) True when the sweep may stop.couple(TransformSolve.Expanded ctx, List<TransformSolve.Inner> res, int e) Updates the subproblems from the sweep so far.expand(Network model, NetworkStruct sn, SolverOptions options) Builds the subproblems and the context the lift will need.lift(TransformSolve.Expanded ctx, List<TransformSolve.Inner> res) Maps the subproblem metrics back onto the original model.
-
Constructor Details
-
ChainsStrategy
public ChainsStrategy()
-
-
Method Details
-
expand
Description copied from interface:TransformSolve.StrategyBuilds the subproblems and the context the lift will need.- Specified by:
expandin interfaceTransformSolve.Strategy
-
lift
Description copied from interface:TransformSolve.StrategyMaps the subproblem metrics back onto the original model.- Specified by:
liftin interfaceTransformSolve.Strategy
-
couple
public TransformSolve.Expanded couple(TransformSolve.Expanded ctx, List<TransformSolve.Inner> res, int e) Description copied from interface:TransformSolve.StrategyUpdates the subproblems from the sweep so far. Called only by an iterated strategy, immediately after each subproblem's solve, which is what makes the coupling Gauss-Seidel.- Specified by:
couplein interfaceTransformSolve.Strategy
-
converged
Description copied from interface:TransformSolve.StrategyTrue when the sweep may stop. Called only by an iterated strategy.- Specified by:
convergedin interfaceTransformSolve.Strategy
-