Package jline.solvers

Class FJResult

java.lang.Object
jline.solvers.FJResult

public class FJResult extends Object
Fork-join section metrics of every Fork/Join pair of a model.

One row per pair, i.e. per nonzero (f, j) of sn.fj, ordered by fork node index and then join node index, and one column per job class:

  • RespT(p,r): mean time from a class-r job's arrival at the Fork of pair p to its departure from the matching Join (FJRespT);
  • Tput(p,r): class-r throughput through the pair (FJTput);
  • QLen(p,r): mean number of class-r jobs inside the section (FJQLen).

A class that does not cross a pair reports 0 in all three. forks and joins hold the 0-based node index of each pair. Mirrors MATLAB self.result.FJ; see NetworkSolver.getAvgFJ().

  • Field Details

    • forks

      public int[] forks
      Fork node index (0-based) of each pair.
    • joins

      public int[] joins
      Join node index (0-based) of each pair.
    • QLen

      public Matrix QLen
      FJQLen, P x R.
    • RespT

      public Matrix RespT
      FJRespT, P x R.
    • Tput

      public Matrix Tput
      FJTput, P x R.
    • forkNames

      public List<String> forkNames
      Fork and Join node NAMES of each pair, set only on a block read from an ldes-result document before bindTo(NetworkStruct) maps it onto the model's pairs; null otherwise.
    • joinNames

      public List<String> joinNames
  • Constructor Details

    • FJResult

      public FJResult()
    • FJResult

      public FJResult(int[] forks, int[] joins, Matrix QLen, Matrix RespT, Matrix Tput)
  • Method Details

    • getNumPairs

      public int getNumPairs()
      Number of Fork/Join pairs.
    • isEmpty

      public boolean isEmpty()
    • getQLen

      public Matrix getQLen()
    • getRespT

      public Matrix getRespT()
    • getTput

      public Matrix getTput()
    • getForks

      public int[] getForks()
    • getJoins

      public int[] getJoins()
    • pairs

      public static List<int[]> pairs(NetworkStruct sn)
      The Fork/Join pairs of a struct, one {fork, join} row per nonzero of sn.fj, ordered by fork node and then join node (MATLAB sortrows([forks joins]) over find(sn.fj)).
      Parameters:
      sn - the struct of the ORIGINAL model
      Returns:
      the pairs, possibly empty
    • zeros

      public static FJResult zeros(NetworkStruct sn)
      A zero-valued result over the pairs of sn, or null when it has none.
      Parameters:
      sn - the struct of the ORIGINAL model
      Returns:
      the empty-valued holder, or null on a model without Fork/Join pairs
    • bindTo

      public FJResult bindTo(NetworkStruct sn)
      Maps a block read by NAME (see forkNames) onto the Fork/Join pairs of sn, matching rows by (fork name, join name) as the MATLAB ldesParseForkJoin does. Pairs absent from the block, and non-finite values, report 0.
      Parameters:
      sn - the struct of the ORIGINAL model
      Returns:
      the bound result, or null when sn has no Fork/Join pair
    • deepCopy

      public FJResult deepCopy()
      Deep copy.