Class FluidResult

java.lang.Object
jline.solvers.SolverResult
jline.solvers.fluid.FluidResult

public class FluidResult extends SolverResult
Result container for Fluid solver analysis of queueing networks.

FluidResult extends the base SolverResult to include fluid-specific performance metrics and analysis results. Fluid solvers use continuous approximations and differential equations to analyze queueing networks with general service and arrival processes.

Fluid analysis results include:

  • ODE-based steady-state and transient solutions
  • Phase-type distribution approximations
  • Response time and passage time distributions
  • Aggregated state probabilities
  • Age of Information (AoI) metrics and distributions

Since:
1.0
See Also:
  • Field Details

    • odeStateVec

      public Matrix odeStateVec
      ODE state vector solution from fluid approximation
    • snFinal

      public NetworkStruct snFinal
      Modified network structure after phase-type expansion (if applied)
    • distribC

      public Matrix[][] distribC
      Distribution matrices for response time and passage time CDFs [stations][classes]
    • distribRuntime

      public double distribRuntime
      Runtime required for distribution computation
    • Pnir

      public double Pnir
      Aggregate state probability
    • logPnir

      public double logPnir
      Logarithm of aggregate state probability
    • aoiResults

      public AoiMfqResult aoiResults
      Age of Information results from MFQ analysis (null if not an AoI model)
    • QVart

      public Matrix[][] QVart
      Transient queue-length VARIANCE per station and class, [stations][classes], each a column over the time grid in t. Only the "kp" method fills this: it integrates the covariance of the Ko-Pender diffusion limit alongside the fluid mean, and every other fluid method carries a first moment only, leaving this null.
    • Sigmat

      public Matrix[] Sigmat
      Full state covariance Sigma(t) of the "kp" method, one dim-by-dim matrix per time point, so cross-station and cross-class covariances survive rather than only the per-block totals in QVart. Null for every other method.
    • hitProb

      public Matrix hitProb
      Cache hit probabilities [nodes x classes] from cacheqn analysis
    • missProb

      public Matrix missProb
      Cache miss probabilities [nodes x classes] from cacheqn analysis
    • momentSigma

      public Matrix momentSigma
      State-level stationary covariance of the moment-closure methods, i.e. the solution of the linear noise Lyapunov equation at the fixed point. Null for every first-order method, which computes no second moment at all. Mirrors the MATLAB SolverFLD.getMoments report.
    • momentQVar

      public Matrix momentQVar
      Per-(station,class) queue-length variance of the moment-closure methods.
    • momentSigma2

      public Matrix momentSigma2
      Per-station population variance of the moment-closure methods.
    • momentSigma2Drift

      public Matrix momentSigma2Drift
      The same variance as it entered the DRIFT, i.e. zero at the delay stations. The passage-time ODE closes its capacity term at this one so that the response-time distribution is measured on the drift that produced the mean.
    • momentOuterIters

      public int momentOuterIters
      Outer (mean, covariance) iterations performed by the moment-closure methods.
    • momentClassBlock

      public int[][] momentClassBlock
      State coordinates of each (station,class) in momentSigma, flattened as i*nclasses+k. Null for every first-order method. Needed to read a per-class population off the covariance, whose coordinates are service phases rather than classes.
    • momentStationBlock

      public int[][] momentStationBlock
      State coordinates of each station in momentSigma: every class and service phase it serves. Null for every first-order method.
    • momentCacheSigma

      public Matrix[] momentCacheSigma
      Per-cache stationary covariance of the item occupancy under the linear noise approximation, one entry per cache that has a drift-based fluid model. Null unless the moment closure ran on a cache model.
    • momentCachePi0

      public Matrix[] momentCachePi0
      Per-cache per-item miss probability, aligned with momentCacheSigma.
    • momentCacheMissProbVar

      public Matrix momentCacheMissProbVar
      Per-cache, per-class variance of the miss probability that class sees.
    • momentCacheNode

      public int[] momentCacheNode
      Node index of each entry in momentCacheSigma.
    • petri

      What the Petri route computes that the station table has no column for: the marking and its variance, the per-mode firing flows, the invariants and which capacities bound. Null on every model that is not a stochastic Petri net.
    • daeResidual

      public double daeResidual
    • daeConverged

      public boolean daeConverged
      Whether that residual reached options.tol.
    • daeConservation

      public double daeConservation
      Largest violation of the population-conservation rows at the reported point. On this route conservation is an EQUATION, so this is a solver tolerance rather than the accumulated integrator drift every other fluid method leaves behind.
    • daeCapacityLabel

      public String[] daeCapacityLabel
      Human-readable origin of each finite capacity constraint.
    • daeCapacityB

      public Matrix daeCapacityB
      Right-hand side of each capacity constraint.
    • daeCapacityValue

      public Matrix daeCapacityValue
      Value each constrained quantity actually took at the fixed point.
    • daeCapacityActive

      public int[] daeCapacityActive
      Which capacity constraints bound at the reported point.
    • daeStaging

      public Matrix daeStaging
      Mass held OUTSIDE a capped region, per staging coordinate. REPORTED HERE AND NOT FOLDED INTO QN, because a blocked job is at no station -- the same choice LDES makes, whose station queues likewise sum to less than N.
    • daeStagingRegion

      public int[] daeStagingRegion
      Region each staging coordinate belongs to.
    • daeStagingClass

      public int[] daeStagingClass
      Class each staging coordinate carries.
    • daeBlocked

      public double daeBlocked
      Total blocked mass; station queues sum to N minus this.
    • daeDrain

      public Matrix daeDrain
      Rate each waiting queue drains at, one per binding cap.
    • daeCapacityStaged

      public boolean[] daeCapacityStaged
      True where a cap stages the blocked job rather than holding or losing it.
    • daeCapacityRegion

      public int[] daeCapacityRegion
      Which region each cap came from, -1 for a station buffer.
    • daeCapacityStation

      public int[] daeCapacityStation
      Which station each cap came from, -1 for a region cap.
    • daeCapacitySwitches

      public List<double[]> daeCapacitySwitches
      Every time the trajectory made a cap start or stop binding, as {t, row, kind} with kind 0 = release, 1 = activate, 2 = a crossing the cap could not hold. Empty for a steady-state solve.
  • Constructor Details

    • FluidResult

      public FluidResult()