Package jline.api.fes

Class FESAggregator

java.lang.Object
jline.api.fes.FESAggregator

@Deprecated public final class FESAggregator extends Object
Deprecated.
Use jline.lang.ModelAdapter.aggregateFES() for public API
Flow-Equivalent Server (FES) Aggregation (Internal Implementation).
  • Method Details

    • aggregateFES

      public static FESResult aggregateFES(Network model, List<Station> stationSubset)
      Deprecated.
    • aggregateFES

      public static FESResult aggregateFES(Network model, List<Station> stationSubset, FESOptions options)
      Deprecated.
    • fes_validate

      public static FESAggregator.FesValidation fes_validate(Network model, List<Station> stationSubset)
      Deprecated.
      Validates the inputs of the FES aggregation. Java port of fes_validate.m: returns (isValid, errorMsg) instead of throwing, with the same checks in the same order (empty subset, open classes, proper subset, station membership/type, duplicate stations).
    • fes_compute_throughputs

      public static List<Matrix> fes_compute_throughputs(Matrix L, Matrix mi, boolean[] isDelay, Matrix cutoffs, boolean verbose)
      Deprecated.
      Throughputs of the isolated subnetwork at every population state. Java port of fes_compute_throughputs.m: breadth-first over the population lattice, exact MVA (pfqn_mvams) with the Delay stations folded into Z, and the closed form N(k)/Z(k) when there are no Queue stations. A solver failure is NOT caught (a zero table would be a wrong aggregate), as in MATLAB.
      Parameters:
      L - (M_sub x K) service demands
      mi - (1 x M_sub) number of servers (Inf for Delay stations)
      isDelay - (M_sub) Delay station flags
      cutoffs - (1 x K) per-class population cutoffs
      verbose - print progress
      Returns:
      K tables, each (1 x prod(cutoffs+1)) indexed by Ljd.ljd_linearize(jline.util.matrix.Matrix, jline.util.matrix.Matrix)
    • fes_compute_metrics

      public static FESAggregator.ConditionalMetrics fes_compute_metrics(Matrix L, Matrix mi, boolean[] isDelay, Matrix cutoffs)
      Deprecated.
      Per-station queue lengths and utilizations of the isolated subnetwork at every population state. Java port of fes_compute_metrics.m: exact MVA (pfqn_mvams) on the Queue stations with the Delay stations folded into Z, then U = X.*L/max(1,mi) for Queue stations and Q = X.*L, U = Q for Delay stations. A solver failure is not caught, as in MATLAB.
      Parameters:
      L - (M_sub x K) service demands
      mi - (1 x M_sub) number of servers (Inf for Delay stations)
      isDelay - (M_sub) Delay station flags
      cutoffs - (1 x K) per-class population cutoffs
      Returns:
      the per-population tables indexed by Ljd.ljd_linearize(jline.util.matrix.Matrix, jline.util.matrix.Matrix)
    • computeConditionalMetrics

      public static FESAggregator.ConditionalMetrics computeConditionalMetrics(Network isolatedModel, Matrix cutoffs)
      Deprecated.
      Per-station metrics of the ISOLATED subnetwork at every population state.

      The companion of computeThroughputs. That returns the aggregate throughput X(n) that becomes the flow-equivalent server's rate, which is all the REDUCED model needs; it is not enough to report the COLLAPSED stations' own metrics. Those are recovered by conditioning on the FES population, E[Q_i] = sum_n P(N_fes = n) * Q_i(n) -- the Chandy-Herzog-Woo hierarchical decomposition, exact when the subnetwork is product-form. This supplies the Q_i(n) and U_i(n) that sum is taken over, indexed by Ljd.ljd_linearize exactly as the throughput table is, via fes_compute_metrics(jline.util.matrix.Matrix, jline.util.matrix.Matrix, boolean[], jline.util.matrix.Matrix) on the isolated (L, mi, isDelay).

      Parameters:
      isolatedModel - the isolated subnetwork built by the transform
      cutoffs - per-class population cutoffs
      Returns:
      the per-population tables