Class MinNormalAnalyzer
- All Implemented Interfaces:
FluidAnalyzer
options.method='minnormal'. Java twin of the MATLAB
solver_fluid_moments.
The default fluid methods close the moment hierarchy at first order: the
drift of the mean depends on E[min(X_i,c_i)], which they replace by
min(E[X_i],c_i). No second moment ever enters, so no variance is
produced and the mean itself is biased wherever min() is not locally linear.
This analyzer reinstates the second moment with the min-normal closure of
Guenther, Stefanek and Bradley: the drift uses E[min(X_i,c_i)] under a
normal marginal whose variance is produced by the covariance (Lyapunov)
equation, so mean and covariance are solved self-consistently by fixed-point
iteration. This corrects the mean, most visibly near rho = 1 where the
first-order closure is worst, and it is the only fluid method that can
represent GPS at all.
All performance measures are read back from the same event representation that defines the drift, so throughputs balance flow at the fixed point under whichever closure was used. That is also why this analyzer does not reuse the closing metric reader, which accepts SIRO as FCFS and has no GPS branch.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionint[][]State coordinates of each (station,class), flattened asi*K+k.intNumber of outer (mean, covariance) iterations performed.Per-(station,class) queue-length variance.double[]Per-station population variance.double[]The same variance as it enters the DRIFT: zero at the delay stations, which have no min() to close.State-level stationary covariance at the converged fixed point.int[][]State coordinates of each station, i.e.Fields inherited from class jline.solvers.fluid.analyzers.ClosingAndStateDepMethodsAnalyzer
lastPassageOde, xvec_it, xvec_t -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidanalyze(NetworkStruct sn, SolverOptions options, SolverResult result) Methods inherited from class jline.solvers.fluid.analyzers.ClosingAndStateDepMethodsAnalyzer
getXVecIt, solver_fluid, solver_fluid_iteration
-
Field Details
-
sigmaMatrix
State-level stationary covariance at the converged fixed point. -
qVar
Per-(station,class) queue-length variance. -
classBlock
public int[][] classBlockState coordinates of each (station,class), flattened asi*K+k. -
stationBlock
public int[][] stationBlockState coordinates of each station, i.e. every class and phase it serves. -
sigma2
public double[] sigma2Per-station population variance. -
sigma2Drift
public double[] sigma2DriftThe same variance as it enters the DRIFT: zero at the delay stations, which have no min() to close. This, notsigma2, is what any later solve on the same fixed point (the passage-time ODE) must close its capacity term at, or it evaluates a first-order drift at a second-order fixed point. -
outerIters
public int outerItersNumber of outer (mean, covariance) iterations performed.
-
-
Constructor Details
-
MinNormalAnalyzer
public MinNormalAnalyzer()
-
-
Method Details
-
analyze
- Specified by:
analyzein interfaceFluidAnalyzer- Overrides:
analyzein classClosingAndStateDepMethodsAnalyzer
-