Class Pfqn_mva_interval

java.lang.Object
jline.api.pfqn.mva.Pfqn_mva_interval

public final class Pfqn_mva_interval extends Object
  • Method Details

    • pfqn_mva_interval

      public static Pfqn_mva_interval.Result pfqn_mva_interval(Matrix L, Matrix N, Matrix Z)
      Exact hull of single-class MVA over an input box.

      Single-class MVA is monotone in every input: the throughput decreases in each demand and in the think time and increases in the population, the per-station queue length and residence time increase in the own demand and in the population and decrease in the other demands and in the think time, and the totals increase in every demand and in the population and decrease in the think time (Luthi and Haring 1998, Theorems 2-5, Table 1). By their Theorem 1 the exact range of a function monotone in each argument is attained at the endpoints of the input box, so each bound below is one ordinary MVA call at the corner that the sign pattern selects. This is the algorithm of their Fig. 2 and it costs 2*(m+2) MVA calls, m being the number of thick demand intervals; evaluating the MVA recursion in interval arithmetic instead would be a valid but far wider enclosure, since every input recurs at each step (the dependency problem, 14x too wide on the paper's own example).

      The returned interval is the exact hull of MVA over the input box, not a bound on the true network: it holds conditionally on the demands lying in the box, and says nothing about the accuracy of MVA itself. It must therefore not be composed with the brackets of SolverBA, which bracket the exact solution of a model whose demands are known.

      Delay stations are folded into Z, exactly as in Pfqn_mva: a delay demand interval enters as a term of the think-time interval, and the hull of the sum is the sum of the hulls when the delays vary independently. Load-independent single-server queueing stations only, one class only; the monotonicity theorems cover no other case.

      Parameters:
      L - service demand intervals (M x 2), column 0 lower, column 1 upper
      N - population interval (1 x 2, or 1 x 1 for a thin population)
      Z - think time interval (1 x 2, or 1 x 1; null for zero)
      Returns:
      interval-valued throughput, queue lengths, utilizations, residence times and totals
    • pfqn_mva_interval

      public static Pfqn_mva_interval.Result pfqn_mva_interval(Matrix L, double N, double Z)
      Convenience overload for a thin population and think time.