Class FJFixedPoint
The transformation (ModelAdapter.mmt, or ht under options.config.fork_join) turns the model into a plain network in which every fork is a router, every join a zero-service delay, and the parallelism is carried by auxiliary open classes of arrival rate (fanout-1)*forkLambda. Each pass solves that network, recomputes the synchronisation delays from the resulting metrics and updates forkLambda; the loop ends when the queue lengths stop moving.
FJFixedPoint.InnerSolve is the inner solve. Nothing in the loop reads a solver
internal, so any solver whose analyzer honours that contract can be driven
here: SolverMVA passes its analyzer dispatch, SolverNC the
normalizing-constant analyzers. Port of
matlab/src/solvers/@NetworkSolver/fjFixedPoint.m.
The carrier is MVAResult for historical reasons: it is the shape
the loop already consumed when it lived inside MVARunner (QN, UN, RN, TN, CN,
XN, iter, logNormConstAggr, method), and reusing it keeps the loop body
identical to the one that produced today's numbers.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classOutcome of the fixed point: the merged metrics and the retained state.static classState the fixed point retains across calls, as MATLAB keeps on the solver.static interfaceThe inner solve of one pass of the fixed point. -
Method Summary
Modifier and TypeMethodDescriptionstatic FJFixedPoint.FJOutcomerun(Network model, NetworkStruct sn, SolverOptions options, FJFixedPoint.FJState state, FJFixedPoint.InnerSolve fcn, long T0) Runs the fork-join fixed point, or the inner solve once when the model has no fork.
-
Method Details
-
run
public static FJFixedPoint.FJOutcome run(Network model, NetworkStruct sn, SolverOptions options, FJFixedPoint.FJState state, FJFixedPoint.InnerSolve fcn, long T0) Runs the fork-join fixed point, or the inner solve once when the model has no fork.- Parameters:
model- the model being solvedsn- its struct, already compiledoptions- the solver optionsstate- the retained transformation cache and warm startfcn- the inner solveT0- the wall-clock marker of the enclosing analyzer- Returns:
- the merged metrics, the working struct and the updated state
-