Package jline.solvers

Class NetworkSolver

java.lang.Object
jline.solvers.Solver
jline.solvers.NetworkSolver
Direct Known Subclasses:
SolverAUTO, SolverCTMC, SolverFluid, SolverJMT, SolverLDES, SolverMAM, SolverMVA, SolverNC, SolverQNS, SolverSSA

public abstract class NetworkSolver extends Solver
Abstract base class for solvers applicable to queueing network models.

This class provides the core functionality for analyzing queueing networks using various solution algorithms. It manages performance metrics computation including queue lengths, utilizations, response times, throughputs, and arrival rates at both steady-state and transient conditions.

The solver operates on Network models and produces results through various table formats for different levels of aggregation (station-level, node-level, chain-level).

See Also:
  • Field Details

    • model

      public Network model
      The queueing network model to be solved
    • sn

      public NetworkStruct sn
      Internal data structure describing the network model
    • avgHandles

      public SolverAvgHandles avgHandles
      Handles for steady-state average performance metrics
    • tranHandles

      public SolverTranHandles tranHandles
      Handles for transient performance metrics
  • Constructor Details

    • NetworkSolver

      protected NetworkSolver(Network model, String name, SolverOptions options)
      Constructs a NetworkSolver with the specified model, name, and options.
      Parameters:
      model - the queueing network model to solve
      name - the name identifier for this solver instance
      options - configuration options for the solver
      Throws:
      RuntimeException - if the model is empty (has no nodes)
    • NetworkSolver

      protected NetworkSolver(Network model, String name)
      Constructs a NetworkSolver with the specified model and name using default options.
      Parameters:
      model - the queueing network model to solve
      name - the name identifier for this solver instance
  • Method Details

    • getAllSolvers

      public static List<NetworkSolver> getAllSolvers(Network model)
      Returns a list containing instances of all available network solvers for the given model.
      Parameters:
      model - the queueing network model
      Returns:
      list of all available solver implementations
    • avg

      public SolverResult avg()
    • avg

      public SolverResult avg(SolverAvgHandles avgHandles)
    • avg

    • avgArvR

      public Matrix avgArvR()
    • avgArvRChain

      public Matrix avgArvRChain()
    • avgArvRHandles

      public AvgHandle avgArvRHandles()
    • avgChain

      public SolverResult avgChain()
    • avgChainTable

      public NetworkAvgChainTable avgChainTable()
    • avgChainTable

      public NetworkAvgChainTable avgChainTable(SolverAvgHandles avgHandles)
    • avgChainTable

      public NetworkAvgChainTable avgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
    • avgChainTable

      public NetworkAvgChainTable avgChainTable(boolean keepDisabled)
    • avgChainTable

      public NetworkAvgChainTable avgChainTable(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgChainTable

      public NetworkAvgChainTable avgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgChainT

      public NetworkAvgChainTable avgChainT()
    • avgChainT

      public NetworkAvgChainTable avgChainT(SolverAvgHandles avgHandles)
    • avgChainT

    • avgChainT

      public NetworkAvgChainTable avgChainT(boolean keepDisabled)
    • avgChainT

      public NetworkAvgChainTable avgChainT(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgChainT

      public NetworkAvgChainTable avgChainT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgHandles

      public SolverAvgHandles avgHandles()
    • avgNode

      public SolverResult avgNode()
    • avgNodeArvRChain

      public Matrix avgNodeArvRChain()
    • avgNodeChain

      public SolverResult avgNodeChain()
    • avgNodeChainTable

      public NetworkAvgNodeChainTable avgNodeChainTable()
    • avgNodeChainTable

      public NetworkAvgNodeChainTable avgNodeChainTable(SolverAvgHandles avgHandles)
    • avgNodeChainTable

      public NetworkAvgNodeChainTable avgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
    • avgNodeChainTable

      public NetworkAvgNodeChainTable avgNodeChainTable(boolean keepDisabled)
    • avgNodeChainTable

      public NetworkAvgNodeChainTable avgNodeChainTable(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgNodeChainTable

      public NetworkAvgNodeChainTable avgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgNodeChainT

      public NetworkAvgNodeChainTable avgNodeChainT()
    • avgNodeChainT

      public NetworkAvgNodeChainTable avgNodeChainT(SolverAvgHandles avgHandles)
    • avgNodeChainT

      public NetworkAvgNodeChainTable avgNodeChainT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
    • avgNodeChainT

      public NetworkAvgNodeChainTable avgNodeChainT(boolean keepDisabled)
    • avgNodeChainT

      public NetworkAvgNodeChainTable avgNodeChainT(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgNodeChainT

      public NetworkAvgNodeChainTable avgNodeChainT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgNodeQLenChain

      public Matrix avgNodeQLenChain()
    • avgNodeResidTChain

      public Matrix avgNodeResidTChain()
    • avgNodeRespTChain

      public Matrix avgNodeRespTChain()
    • avgNodeTable

      public NetworkAvgNodeTable avgNodeTable()
    • avgNodeTable

      public NetworkAvgNodeTable avgNodeTable(SolverAvgHandles avgHandles)
    • avgNodeTable

      public NetworkAvgNodeTable avgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
    • avgNodeTable

      public NetworkAvgNodeTable avgNodeTable(boolean keepDisabled)
    • avgNodeTable

      public NetworkAvgNodeTable avgNodeTable(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgNodeTable

      public NetworkAvgNodeTable avgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgNodeT

      public NetworkAvgNodeTable avgNodeT()
    • avgNodeT

      public NetworkAvgNodeTable avgNodeT(SolverAvgHandles avgHandles)
    • avgNodeT

    • avgNodeT

      public NetworkAvgNodeTable avgNodeT(boolean keepDisabled)
    • avgNodeT

      public NetworkAvgNodeTable avgNodeT(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgNodeT

      public NetworkAvgNodeTable avgNodeT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgNodeTputChain

      public Matrix avgNodeTputChain()
    • avgNodeUtilChain

      public Matrix avgNodeUtilChain()
    • avgQLen

      public Matrix avgQLen()
    • avgQLenChain

      public Matrix avgQLenChain()
    • avgQLenHandles

      public AvgHandle avgQLenHandles()
    • avgResidT

      public Matrix avgResidT()
    • avgResidTChain

      public Matrix avgResidTChain()
    • avgResidTHandles

      public AvgHandle avgResidTHandles()
    • avgRespT

      public Matrix avgRespT()
    • avgRespTChain

      public Matrix avgRespTChain()
    • avgRespTHandles

      public AvgHandle avgRespTHandles()
    • avgSys

      public void avgSys()
    • avgSysRespT

      public Matrix avgSysRespT()
    • avgSysTable

      public NetworkAvgSysTable avgSysTable()
    • avgSysTable

      public NetworkAvgSysTable avgSysTable(SolverAvgHandles avgHandles)
    • avgSysTable

      public NetworkAvgSysTable avgSysTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
    • avgSysT

      public NetworkAvgSysTable avgSysT()
    • avgSysT

      public NetworkAvgSysTable avgSysT(SolverAvgHandles avgHandles)
    • avgSysT

    • avgSysTput

      public Matrix avgSysTput()
    • avgTable

      public NetworkAvgTable avgTable()
    • avgTable

      public NetworkAvgTable avgTable(SolverAvgHandles avgHandles)
    • avgTable

      public NetworkAvgTable avgTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
    • avgTable

      public NetworkAvgTable avgTable(boolean keepDisabled)
    • avgTable

      public NetworkAvgTable avgTable(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgTable

      public NetworkAvgTable avgTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgT

      public NetworkAvgTable avgT()
    • avgT

      public NetworkAvgTable avgT(SolverAvgHandles avgHandles)
    • avgT

    • avgT

      public NetworkAvgTable avgT(boolean keepDisabled)
    • avgT

      public NetworkAvgTable avgT(SolverAvgHandles avgHandles, boolean keepDisabled)
    • avgT

      public NetworkAvgTable avgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • aT

      public NetworkAvgTable aT()
    • aT

      public NetworkAvgTable aT(SolverAvgHandles avgHandles)
    • aT

    • aT

      public NetworkAvgTable aT(boolean keepDisabled)
    • aT

      public NetworkAvgTable aT(SolverAvgHandles avgHandles, boolean keepDisabled)
    • aT

      public NetworkAvgTable aT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
    • avgTput

      public Matrix avgTput()
    • avgTputChain

      public Matrix avgTputChain()
    • avgTputHandles

      public AvgHandle avgTputHandles()
    • avgUtil

      public Matrix avgUtil()
    • avgUtilChain

      public Matrix avgUtilChain()
    • avgUtilHandles

      public AvgHandle avgUtilHandles()
    • avgWaitT

      public Matrix avgWaitT()
    • cdfPassT

      public Ret.DistributionResult cdfPassT()
    • cdfPassT

      public Ret.DistributionResult cdfPassT(AvgHandle R)
    • cdfRespT

      public Ret.DistributionResult cdfRespT()
    • cdfRespT

      public Ret.DistributionResult cdfRespT(AvgHandle R)
    • getAvg

      public SolverResult getAvg()
      Computes and returns average station metrics at steady-state. This is the main method for obtaining steady-state performance metrics.
      Returns:
      solver result containing station-level average metrics
      Throws:
      RuntimeException - if unable to compute results
    • getAvg

      public SolverResult getAvg(SolverAvgHandles avgHandles)
      Computes and returns average station metrics at steady-state using specified handles.
      Parameters:
      avgHandles - custom handles for performance metrics
      Returns:
      solver result containing station-level average metrics
      Throws:
      RuntimeException - if unable to compute results
    • getAvg

      public SolverResult getAvg(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Computes and returns average station metrics at steady-state using individual handles.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      solver result containing station-level average metrics
      Throws:
      RuntimeException - if unable to compute results
    • getAvgArvR

      public Matrix getAvgArvR()
      Computes and returns average arrival rates at steady-state. If results are not available, triggers solver execution.
      Returns:
      matrix of average arrival rates [stations x classes]
    • getAvgArvRChain

      public Matrix getAvgArvRChain()
      Returns average arrival rates aggregated by job chains.
      Returns:
      matrix of arrival rates [stations x chains]
    • getAvgArvRHandles

      public AvgHandle getAvgArvRHandles()
      Returns the average arrival rate metric handles.
      Returns:
      handles for arrival rate metrics
    • getAvgChain

      public SolverResult getAvgChain()
      Returns average station metrics aggregated by job chains.
      Returns:
      solver result with metrics aggregated by chains
    • getAvgChainTable

      public NetworkAvgChainTable getAvgChainTable()
      Returns a table of average station metrics aggregated by job chains.
      Returns:
      table containing station metrics organized by chains
    • getAvgChainTable

      public NetworkAvgChainTable getAvgChainTable(SolverAvgHandles avgHandles)
      Returns a table of average station metrics aggregated by job chains using specified handles.
      Parameters:
      avgHandles - custom handles for performance metrics
      Returns:
      table containing station metrics organized by chains
    • getAvgChainTable

      public NetworkAvgChainTable getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Returns a table of average station metrics aggregated by job chains using individual handles.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing station metrics organized by chains
    • getAvgChainTable

      public NetworkAvgChainTable getAvgChainTable(boolean keepDisabled)
      Returns a table of average station metrics aggregated by job chains with keepDisabled option.
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • getAvgChainTable

      public NetworkAvgChainTable getAvgChainTable(SolverAvgHandles avgHandles, boolean keepDisabled)
      Returns a table of average station metrics aggregated by job chains using specified handles and keepDisabled option.
      Parameters:
      avgHandles - custom handles for performance metrics
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • getAvgChainTable

      public NetworkAvgChainTable getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Returns a table of average station metrics aggregated by job chains using individual handles and keepDisabled option.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • getChainAvgT

      public NetworkAvgChainTable getChainAvgT()
      Alias for getAvgChainTable().
      Returns:
      table containing station metrics organized by chains
    • getChainAvgT

      public NetworkAvgChainTable getChainAvgT(boolean keepDisabled)
      Alias for getAvgChainTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • getChainAvgT

      public NetworkAvgChainTable getChainAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgChainTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing station metrics organized by chains
    • getChainAvgT

      public NetworkAvgChainTable getChainAvgT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgChainTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • getChainAvgT

      public NetworkAvgChainTable getChainAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Alias for getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing station metrics organized by chains
    • getChainAvgT

      public NetworkAvgChainTable getChainAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • chainAvgT

      public NetworkAvgChainTable chainAvgT()
      Alias for getAvgChainTable().
      Returns:
      table containing station metrics organized by chains
    • chainAvgT

      public NetworkAvgChainTable chainAvgT(boolean keepDisabled)
      Alias for getAvgChainTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • chainAvgT

      public NetworkAvgChainTable chainAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgChainTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing station metrics organized by chains
    • chainAvgT

      public NetworkAvgChainTable chainAvgT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgChainTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • chainAvgT

      Alias for getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing station metrics organized by chains
    • chainAvgT

      public NetworkAvgChainTable chainAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • aCT

      public NetworkAvgChainTable aCT()
      Alias for getAvgChainTable().
      Returns:
      table containing station metrics organized by chains
    • aCT

      public NetworkAvgChainTable aCT(boolean keepDisabled)
      Alias for getAvgChainTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • aCT

      public NetworkAvgChainTable aCT(SolverAvgHandles avgHandles)
      Alias for getAvgChainTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing station metrics organized by chains
    • aCT

      public NetworkAvgChainTable aCT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgChainTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • aCT

      Alias for getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing station metrics organized by chains
    • aCT

      public NetworkAvgChainTable aCT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station metrics organized by chains
    • getAvgHandles

      public SolverAvgHandles getAvgHandles()
      Returns the steady-state average performance metric handles.
      Returns:
      the average handles object
    • setAvgHandles

      public void setAvgHandles(SolverAvgHandles handles)
      Sets the steady-state average performance metric handles.
      Parameters:
      handles - the average handles to set
    • getAvgNode

      public SolverResult getAvgNode()
      Computes average performance metrics at steady-state for all nodes. This method aggregates station-level metrics to node-level metrics.
      Returns:
      solver result containing node-level average metrics
    • getAvgNodeArvRChain

      public Matrix getAvgNodeArvRChain()
      Returns average node arrival rates aggregated by job chains.
      Returns:
      matrix of node arrival rates [nodes x chains]
    • getAvgNodeChain

      public SolverResult getAvgNodeChain()
      Returns average node metrics aggregated by job chains.
      Returns:
      solver result with node metrics aggregated by chains
    • getAvgNodeChainTable

      public NetworkAvgNodeChainTable getAvgNodeChainTable()
      Returns a table of average node metrics aggregated by chains.
      Returns:
      table containing node-level metrics organized by job chains
    • getAvgNodeChainTable

      public NetworkAvgNodeChainTable getAvgNodeChainTable(SolverAvgHandles avgHandles)
      Returns a table of average node metrics aggregated by chains using specified handles.
      Parameters:
      avgHandles - custom handles for performance metrics
      Returns:
      table containing node-level metrics organized by job chains
    • getAvgNodeChainTable

      public NetworkAvgNodeChainTable getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Returns a table of average node metrics aggregated by chains using individual handles.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics organized by job chains
    • getAvgNodeChainTable

      public NetworkAvgNodeChainTable getAvgNodeChainTable(boolean keepDisabled)
      Returns a table of average node metrics aggregated by chains with keepDisabled option.
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • getAvgNodeChainTable

      public NetworkAvgNodeChainTable getAvgNodeChainTable(SolverAvgHandles avgHandles, boolean keepDisabled)
      Returns a table of average node metrics aggregated by chains using specified handles and keepDisabled option.
      Parameters:
      avgHandles - custom handles for performance metrics
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • getAvgNodeChainTable

      public NetworkAvgNodeChainTable getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Returns a table of average node metrics aggregated by chains using individual handles and keepDisabled option.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • getNodeChainAvgT

      public NetworkAvgNodeChainTable getNodeChainAvgT()
      Alias for getAvgNodeChainTable().
      Returns:
      table containing node-level metrics organized by job chains
    • getNodeChainAvgT

      public NetworkAvgNodeChainTable getNodeChainAvgT(boolean keepDisabled)
      Alias for getAvgNodeChainTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • getNodeChainAvgT

      public NetworkAvgNodeChainTable getNodeChainAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgNodeChainTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing node-level metrics organized by job chains
    • getNodeChainAvgT

      public NetworkAvgNodeChainTable getNodeChainAvgT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgNodeChainTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • getNodeChainAvgT

      public NetworkAvgNodeChainTable getNodeChainAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Alias for getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics organized by job chains
    • getNodeChainAvgT

      public NetworkAvgNodeChainTable getNodeChainAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • nodeChainAvgT

      public NetworkAvgNodeChainTable nodeChainAvgT()
      Alias for getAvgNodeChainTable().
      Returns:
      table containing node-level metrics organized by job chains
    • nodeChainAvgT

      public NetworkAvgNodeChainTable nodeChainAvgT(boolean keepDisabled)
      Alias for getAvgNodeChainTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • nodeChainAvgT

      public NetworkAvgNodeChainTable nodeChainAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgNodeChainTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing node-level metrics organized by job chains
    • nodeChainAvgT

      public NetworkAvgNodeChainTable nodeChainAvgT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgNodeChainTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • nodeChainAvgT

      public NetworkAvgNodeChainTable nodeChainAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Alias for getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics organized by job chains
    • nodeChainAvgT

      public NetworkAvgNodeChainTable nodeChainAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • aNCT

      public NetworkAvgNodeChainTable aNCT()
      Short alias for getAvgNodeChainTable().
      Returns:
      table containing node-level metrics organized by job chains
    • aNCT

      public NetworkAvgNodeChainTable aNCT(boolean keepDisabled)
      Short alias for getAvgNodeChainTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • aNCT

      public NetworkAvgNodeChainTable aNCT(SolverAvgHandles avgHandles)
      Short alias for getAvgNodeChainTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing node-level metrics organized by job chains
    • aNCT

      public NetworkAvgNodeChainTable aNCT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Short alias for getAvgNodeChainTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • aNCT

      Short alias for getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics organized by job chains
    • aNCT

      public NetworkAvgNodeChainTable aNCT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Short alias for getAvgNodeChainTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics organized by job chains
    • getAvgNodeQLenChain

      public Matrix getAvgNodeQLenChain()
      Returns average node queue lengths aggregated by job chains.
      Returns:
      matrix of node queue lengths [nodes x chains]
    • getAvgNodeResidTChain

      public Matrix getAvgNodeResidTChain()
      Returns average node residence times aggregated by job chains.
      Returns:
      matrix of node residence times [nodes x chains]
    • getAvgNodeRespTChain

      public Matrix getAvgNodeRespTChain()
      Returns average node response times aggregated by job chains.
      Returns:
      matrix of node response times [nodes x chains]
    • getAvgNodeTable

      public NetworkAvgNodeTable getAvgNodeTable()
      Returns a table of average node metrics organized by job classes.
      Returns:
      table containing node-level metrics for each class
    • getAvgNodeTable

      public NetworkAvgNodeTable getAvgNodeTable(SolverAvgHandles avgHandles)
      Returns a table of average node metrics organized by job classes using specified handles.
      Parameters:
      avgHandles - custom handles for performance metrics
      Returns:
      table containing node-level metrics for each class
    • getAvgNodeTable

      public NetworkAvgNodeTable getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Returns a table of average node metrics organized by job classes using individual handles.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics for each class
    • getAvgNodeTable

      public NetworkAvgNodeTable getAvgNodeTable(boolean keepDisabled)
      Returns a table of average node metrics organized by job classes with keepDisabled option.
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • getAvgNodeTable

      public NetworkAvgNodeTable getAvgNodeTable(SolverAvgHandles avgHandles, boolean keepDisabled)
      Returns a table of average node metrics organized by job classes using specified handles and keepDisabled option.
      Parameters:
      avgHandles - custom handles for performance metrics
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • getAvgNodeTable

      public NetworkAvgNodeTable getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Returns a table of average node metrics organized by job classes using individual handles and keepDisabled option.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • getNodeAvgT

      public NetworkAvgNodeTable getNodeAvgT()
      Alias for getAvgNodeTable().
      Returns:
      table containing node-level metrics for each class
    • getNodeAvgT

      public NetworkAvgNodeTable getNodeAvgT(boolean keepDisabled)
      Alias for getAvgNodeTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • getNodeAvgT

      public NetworkAvgNodeTable getNodeAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgNodeTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing node-level metrics for each class
    • getNodeAvgT

      public NetworkAvgNodeTable getNodeAvgT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgNodeTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • getNodeAvgT

      public NetworkAvgNodeTable getNodeAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Alias for getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics for each class
    • getNodeAvgT

      public NetworkAvgNodeTable getNodeAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • nodeAvgT

      public NetworkAvgNodeTable nodeAvgT()
      Alias for getAvgNodeTable().
      Returns:
      table containing node-level metrics for each class
    • nodeAvgT

      public NetworkAvgNodeTable nodeAvgT(boolean keepDisabled)
      Alias for getAvgNodeTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • nodeAvgT

      public NetworkAvgNodeTable nodeAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgNodeTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing node-level metrics for each class
    • nodeAvgT

      public NetworkAvgNodeTable nodeAvgT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgNodeTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • nodeAvgT

      Alias for getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics for each class
    • nodeAvgT

      public NetworkAvgNodeTable nodeAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • aNT

      public NetworkAvgNodeTable aNT()
      Alias for getAvgNodeTable().
      Returns:
      table containing node-level metrics for each class
    • aNT

      public NetworkAvgNodeTable aNT(boolean keepDisabled)
      Alias for getAvgNodeTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • aNT

      public NetworkAvgNodeTable aNT(SolverAvgHandles avgHandles)
      Alias for getAvgNodeTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing node-level metrics for each class
    • aNT

      public NetworkAvgNodeTable aNT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgNodeTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • aNT

      Alias for getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing node-level metrics for each class
    • aNT

      public NetworkAvgNodeTable aNT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgNodeTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing node-level metrics for each class
    • getAvgNodeTputChain

      public Matrix getAvgNodeTputChain()
      Returns average node throughputs aggregated by job chains.
      Returns:
      matrix of node throughputs [nodes x chains]
    • getAvgNodeUtilChain

      public Matrix getAvgNodeUtilChain()
      Returns average node utilizations aggregated by job chains.
      Returns:
      matrix of node utilizations [nodes x chains]
    • getAvgQLen

      public Matrix getAvgQLen()
      Computes and returns average queue lengths at steady-state. If results are not available, triggers solver execution.
      Returns:
      matrix of average queue lengths [stations x classes]
    • getAvgQLenChain

      public Matrix getAvgQLenChain()
      Returns average queue lengths aggregated by job chains.
      Returns:
      matrix of queue lengths [stations x chains]
    • getAvgQLenHandles

      public AvgHandle getAvgQLenHandles()
      Returns the average queue length metric handles.
      Returns:
      handles for queue length metrics
    • getAvgResidT

      public Matrix getAvgResidT()
      Computes and returns average residence times in queue (including service). If results are not available, triggers solver execution.
      Returns:
      matrix of average residence times [stations x classes]
    • getAvgResidTChain

      public Matrix getAvgResidTChain()
      Returns average residence times aggregated by job chains.
      Returns:
      matrix of residence times [stations x chains]
    • getAvgResidTHandles

      public AvgHandle getAvgResidTHandles()
      Returns the average residence time metric handles.
      Returns:
      handles for residence time metrics
    • getAvgRespT

      public Matrix getAvgRespT()
      Computes and returns average response times at steady-state. If results are not available, triggers solver execution.
      Returns:
      matrix of average response times [stations x classes]
    • getAvgRespTChain

      public Matrix getAvgRespTChain()
      Returns average response times aggregated by job chains.
      Returns:
      matrix of response times [stations x chains]
    • getAvgRespTHandles

      public AvgHandle getAvgRespTHandles()
      Returns the average response time metric handles.
      Returns:
      handles for response time metrics
    • getAvgSys

      public void getAvgSys()
      Computes average system-level metrics at steady state. This includes system response times and throughputs aggregated across all chains.
    • getAvgSys

      public void getAvgSys(SolverAvgHandles avgHandles)
      Computes average system-level metrics at steady state using specified handles. This includes system response times and throughputs aggregated across all chains.
      Parameters:
      avgHandles - custom handles for performance metrics
    • getAvgSys

      public void getAvgSys(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Computes average system-level metrics at steady state using individual handles. This includes system response times and throughputs aggregated across all chains.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
    • getAvgSysRespT

      public Matrix getAvgSysRespT()
      Returns average system response times at steady state.
      Returns:
      matrix of system response times by chain
    • getAvgSysTable

      public NetworkAvgSysTable getAvgSysTable()
      Returns a table of average system-level metrics.
      Returns:
      table containing system response times and throughputs by chain
    • getAvgSysTable

      public NetworkAvgSysTable getAvgSysTable(SolverAvgHandles avgHandles)
      Returns a table of average system-level metrics using specified handles.
      Parameters:
      avgHandles - custom handles for performance metrics
      Returns:
      table containing system response times and throughputs by chain
    • getAvgSysTable

      public NetworkAvgSysTable getAvgSysTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Returns a table of average system-level metrics using individual handles.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing system response times and throughputs by chain
    • getSysAvgT

      public NetworkAvgSysTable getSysAvgT()
      Alias for getAvgSysTable().
      Returns:
      table containing system response times and throughputs by chain
    • getSysAvgT

      public NetworkAvgSysTable getSysAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgSysTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing system response times and throughputs by chain
    • getSysAvgT

      public NetworkAvgSysTable getSysAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Alias for getAvgSysTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing system response times and throughputs by chain
    • sysAvgT

      public NetworkAvgSysTable sysAvgT()
      Alias for getAvgSysTable().
      Returns:
      table containing system response times and throughputs by chain
    • sysAvgT

      public NetworkAvgSysTable sysAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgSysTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing system response times and throughputs by chain
    • sysAvgT

      Alias for getAvgSysTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing system response times and throughputs by chain
    • aST

      public NetworkAvgSysTable aST()
      Short alias for getAvgSysTable().
      Returns:
      table containing system response times and throughputs by chain
    • aST

      public NetworkAvgSysTable aST(SolverAvgHandles avgHandles)
      Short alias for getAvgSysTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing system response times and throughputs by chain
    • aST

      Short alias for getAvgSysTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing system response times and throughputs by chain
    • getAvgSysTput

      public Matrix getAvgSysTput()
      Returns average system throughputs at steady state.
      Returns:
      matrix of system throughputs by chain
    • getAvgTable

      public NetworkAvgTable getAvgTable()
      Returns a table of average station metrics organized by job classes.
      Returns:
      table containing station-level metrics for each class
    • getAvgTable

      public NetworkAvgTable getAvgTable(SolverAvgHandles avgHandles)
      Returns a table of average station metrics organized by job classes using specified handles.
      Parameters:
      avgHandles - custom handles for performance metrics
      Returns:
      table containing station-level metrics for each class
    • getAvgTable

      public NetworkAvgTable getAvgTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Returns a table of average station metrics organized by job classes using individual handles.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing station-level metrics for each class
    • getAvgTable

      public NetworkAvgTable getAvgTable(boolean keepDisabled)
      Returns a table of average station metrics organized by job classes with keepDisabled option.
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station-level metrics for each class
    • getAvgTable

      public NetworkAvgTable getAvgTable(SolverAvgHandles avgHandles, boolean keepDisabled)
      Returns a table of average station metrics organized by job classes using specified handles and keepDisabled option.
      Parameters:
      avgHandles - custom handles for performance metrics
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station-level metrics for each class
    • getAvgTable

      public NetworkAvgTable getAvgTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Returns a table of average station metrics organized by job classes using individual handles and keepDisabled option.
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station-level metrics for each class
    • getAvgT

      public NetworkAvgTable getAvgT()
      Alias for getAvgTable().
      Returns:
      table containing station-level metrics for each class
    • getAvgT

      public NetworkAvgTable getAvgT(boolean keepDisabled)
      Alias for getAvgTable(boolean keepDisabled).
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station-level metrics for each class
    • getAvgT

      public NetworkAvgTable getAvgT(SolverAvgHandles avgHandles)
      Alias for getAvgTable(SolverAvgHandles avgHandles).
      Parameters:
      avgHandles - the average handles to use
      Returns:
      table containing station-level metrics for each class
    • getAvgT

      public NetworkAvgTable getAvgT(SolverAvgHandles avgHandles, boolean keepDisabled)
      Alias for getAvgTable(SolverAvgHandles avgHandles, boolean keepDisabled).
      Parameters:
      avgHandles - the average handles to use
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station-level metrics for each class
    • getAvgT

      public NetworkAvgTable getAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A)
      Alias for getAvgTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      Returns:
      table containing station-level metrics for each class
    • getAvgT

      public NetworkAvgTable getAvgT(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled)
      Alias for getAvgTable(AvgHandle Q, AvgHandle U, AvgHandle R, AvgHandle W, AvgHandle T, AvgHandle A, boolean keepDisabled).
      Parameters:
      Q - queue length handle
      U - utilization handle
      R - response time handle
      W - residence time handle
      T - throughput handle
      A - arrival rate handle
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing station-level metrics for each class
    • getDeadlineTable

      public NetworkAvgTable getDeadlineTable()
      Returns a table of deadline-related metrics (response time and tardiness) organized by station and job class.
      Returns:
      table containing response time and tardiness metrics, or null if tardiness data is not available
    • getAvgTput

      public Matrix getAvgTput()
      Computes and returns average throughputs at steady-state. If results are not available, triggers solver execution.
      Returns:
      matrix of average throughputs [stations x classes]
    • getAvgTputChain

      public Matrix getAvgTputChain()
      Returns average throughputs aggregated by job chains.
      Returns:
      matrix of throughputs [stations x chains]
    • getAvgTputHandles

      public AvgHandle getAvgTputHandles()
      Returns the average throughput metric handles.
      Returns:
      handles for throughput metrics
    • getAvgUtil

      public Matrix getAvgUtil()
      Computes and returns average server utilizations at steady-state. If results are not available, triggers solver execution.
      Returns:
      matrix of average utilizations [stations x classes]
    • getAvgUtilChain

      public Matrix getAvgUtilChain()
      Returns average server utilizations aggregated by job chains.
      Returns:
      matrix of utilizations [stations x chains]
    • getAvgUtilHandles

      public AvgHandle getAvgUtilHandles()
      Returns the average utilization metric handles.
      Returns:
      handles for utilization metrics
    • getAvgWaitT

      public Matrix getAvgWaitT()
      Computes and returns average waiting times in queue excluding service time. Waiting time = Response time - Service time (1/rate)
      Returns:
      matrix of average waiting times [stations x classes]
    • getCdfPassT

      public Ret.DistributionResult getCdfPassT(AvgHandle R)
      Returns cumulative distribution functions of passage times at steady-state. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      R - response time handles (optional)
      Returns:
      result containing CDFs for passage times
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getCdfPassT

      public Ret.DistributionResult getCdfPassT()
      Returns cumulative distribution functions of passage times at steady-state. Uses default response time handles.
      Returns:
      result containing CDFs for passage times
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getCdfRespT

      public Ret.DistributionResult getCdfRespT(AvgHandle R)
      Returns cumulative distribution functions of response times at steady-state. Uses an exponential approximation based on average response times.
      Parameters:
      R - response time handles (optional)
      Returns:
      result containing CDFs for response times [stations x classes]
    • getCdfRespT

      public Ret.DistributionResult getCdfRespT()
      Returns cumulative distribution functions of response times at steady-state. Uses default response time handles.
      Returns:
      result containing CDFs for response times [stations x classes]
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getModel

      public Network getModel()
      Returns the queueing network model being solved.
      Returns:
      the network model
    • setModel

      public void setModel(Network model)
      Sets the queueing network model to be solved.
      Parameters:
      model - the network model to set
    • getProb

      public Ret.ProbabilityResult getProb(int node, Matrix state)
      Returns marginal state probabilities for a specific node and state. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      node - the node index for which to compute probabilities
      state - the state vector to query (optional, null for all states)
      Returns:
      result containing marginal state probabilities
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProb

      public Ret.ProbabilityResult getProb(int node)
      Returns marginal state probabilities for a specific node (all states). This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      node - the node index for which to compute probabilities
      Returns:
      result containing marginal state probabilities
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProbAggr

      public Ret.ProbabilityResult getProbAggr(int node, Matrix state_a)
      Probability of a SPECIFIC per-class job distribution at a station. Returns P(n1 jobs of class 1, n2 jobs of class 2, ...) for given state.

      Compare with getProbMarg(int, int, jline.util.matrix.Matrix): returns queue-length distribution for a single class, i.e., P(n jobs of class r) for n=0,1,...,N(r).

      Parameters:
      node - the node index for which to compute probabilities
      state_a - per-class job counts, e.g., [2,1] = 2 class-1, 1 class-2
      Returns:
      scalar probability in [0,1]
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProbAggr

      public Ret.ProbabilityResult getProbAggr(int node)
      Probability of a SPECIFIC per-class job distribution at a station (current state). Returns P(n1 jobs of class 1, n2 jobs of class 2, ...).

      Compare with getProbMarg(int, int, jline.util.matrix.Matrix): returns queue-length distribution for a single class, i.e., P(n jobs of class r) for n=0,1,...,N(r).

      Parameters:
      node - the node index for which to compute probabilities
      Returns:
      scalar probability in [0,1]
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProbMarg

      public Ret.ProbabilityResult getProbMarg(int node, int jobclass, Matrix state_m)
      Probability distribution for queue length of a SINGLE class at a station. Returns P(n jobs of class r) for n=0,1,...,N(r).

      Compare with getProbAggr(int, jline.util.matrix.Matrix): returns probability of a specific per-class distribution, e.g., P(2 class-1, 1 class-2) as a scalar.

      Parameters:
      node - the node index for which to compute probabilities
      jobclass - the job class index for marginalization
      state_m - specific states to query, or null for all
      Returns:
      vector where element n+1 = P(n jobs of this class)
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProbMarg

      public Ret.ProbabilityResult getProbMarg(int node, int jobclass)
      Probability distribution for queue length of a SINGLE class at a station (all states). Returns P(n jobs of class r) for n=0,1,...,N(r).

      Compare with getProbAggr(int, jline.util.matrix.Matrix): returns probability of a specific per-class distribution, e.g., P(2 class-1, 1 class-2) as a scalar.

      Parameters:
      node - the node index for which to compute probabilities
      jobclass - the job class index for marginalization
      Returns:
      vector where element n+1 = P(n jobs of this class)
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProbNormConstAggr

      public Ret.ProbabilityResult getProbNormConstAggr()
      Returns the logarithm of the normalizing constant of state probabilities. This is an abstract method that must be implemented by concrete solver subclasses.
      Returns:
      result containing the log normalizing constant
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProbSys

      public Ret.ProbabilityResult getProbSys()
      Returns joint state probabilities for the entire system. This is an abstract method that must be implemented by concrete solver subclasses.
      Returns:
      result containing joint state probabilities
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getProbSysAggr

      public Ret.ProbabilityResult getProbSysAggr()
      Returns aggregated joint state probabilities for the entire system. This is an abstract method that must be implemented by concrete solver subclasses.
      Returns:
      result containing aggregated joint state probabilities
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getStageTable

      public NetworkAvgTable getStageTable()
      Returns a table of average stage metrics organized by job classes. For non-environment models, this returns the same as getAvgTable() since there is only one implicit stage.
      Returns:
      table containing stage-level metrics for each class
    • getStageTable

      public NetworkAvgTable getStageTable(boolean keepDisabled)
      Returns a table of average stage metrics organized by job classes with keepDisabled option. For non-environment models, this returns the same as getAvgTable(keepDisabled) since there is only one implicit stage.
      Parameters:
      keepDisabled - whether to include disabled metrics in the table
      Returns:
      table containing stage-level metrics for each class
    • getTranAvg

      public void getTranAvg()
      Computes transient average station metrics over the specified time interval. The timespan is defined in the solver options.
    • getTranCdfPassT

      public Ret.DistributionResult getTranCdfPassT(AvgHandle R)
      Returns cumulative distribution functions of passage times during transient analysis. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      R - response time handles (optional)
      Returns:
      result containing transient CDFs for passage times
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getTranCdfPassT

      public Ret.DistributionResult getTranCdfPassT()
      Returns cumulative distribution functions of passage times during transient analysis. Uses default response time handles.
      Returns:
      result containing transient CDFs for passage times
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getTranCdfRespT

      public Ret.DistributionResult getTranCdfRespT(AvgHandle R)
      Returns cumulative distribution functions of response times during transient analysis. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      R - response time handles (optional)
      Returns:
      result containing transient CDFs for response times
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getTranCdfRespT

      public Ret.DistributionResult getTranCdfRespT()
      Returns cumulative distribution functions of response times during transient analysis. Uses default response time handles.
      Returns:
      result containing transient CDFs for response times
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • getTranHandles

      public SolverTranHandles getTranHandles()
      Returns the transient performance metric handles.
      Returns:
      the transient handles object
    • setTranHandles

      public void setTranHandles(SolverTranHandles handles)
      Sets the transient performance metric handles.
      Parameters:
      handles - the transient handles to set
    • hasAvgResults

      protected boolean hasAvgResults()
      Checks if the solver has computed steady-state average metrics.
      Returns:
      true if steady-state results are available, false otherwise
    • hasDistribResults

      public boolean hasDistribResults()
      Checks if the solver has computed steady-state distribution metrics.
      Returns:
      true if distribution results are available
    • hasTranResults

      public boolean hasTranResults()
      Checks if the solver has computed transient average metrics.
      Returns:
      true if transient results are available, false otherwise
    • initHandles

      protected void initHandles()
      Initializes performance metric handles from the model. This method retrieves and sets both average and transient handles.
    • model

      public Network model()
    • print

      public void print()
      Detailed print function that displays all contents of the NetworkSolver. This function prints actual values, not reference addresses, and includes ALL fields from both NetworkSolver and its parent Solver class for comprehensive comparison.
    • prob

      public Ret.ProbabilityResult prob(int node)
    • prob

      public Ret.ProbabilityResult prob(int node, Matrix state_a)
    • probAggr

      public Ret.ProbabilityResult probAggr(int node)
    • probAggr

      public Ret.ProbabilityResult probAggr(int node, Matrix state_a)
    • probMarg

      public Ret.ProbabilityResult probMarg(int node, int jobclass)
    • probMarg

      public Ret.ProbabilityResult probMarg(int node, int jobclass, Matrix state_m)
    • probNormConstAggr

      public Ret.ProbabilityResult probNormConstAggr()
    • probSys

      public Ret.ProbabilityResult probSys()
    • probSysAggr

      public Ret.ProbabilityResult probSysAggr()
    • runAnalyzerChecks

      public void runAnalyzerChecks(SolverOptions options)
      Validates model compatibility and method support before analysis.
      Overrides:
      runAnalyzerChecks in class Solver
      Parameters:
      options - solver options containing method specification
      Throws:
      RuntimeException - if model contains unsupported features or method is invalid
    • sample

      public Ret.SampleResult sample(int node, int numEvents)
      Samples state trajectories for a specific node. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      node - the node index to sample from
      numEvents - the number of events to sample
      Returns:
      result containing sampled state trajectories
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • sampleAggr

      public Ret.SampleResult sampleAggr(int node, int numEvents)
      Samples aggregated state trajectories for a specific node. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      node - the node index to sample from
      numEvents - the number of events to sample
      Returns:
      result containing sampled aggregated state trajectories
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • sampleSys

      public Ret.SampleResult sampleSys(int numEvents)
      Samples joint system state trajectories. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      numEvents - the number of events to sample
      Returns:
      result containing sampled joint system state trajectories
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • sampleSysAggr

      public Ret.SampleResult sampleSysAggr(int numEvents)
      Samples aggregated joint system state trajectories. This is an abstract method that must be implemented by concrete solver subclasses.
      Parameters:
      numEvents - the number of events to sample
      Returns:
      result containing sampled aggregated joint system state trajectories
      Throws:
      RuntimeException - if not implemented by the concrete solver
    • setAvgResults

      public void setAvgResults(Matrix Q, Matrix U, Matrix R, Matrix T, Matrix A, Matrix W, Matrix C, Matrix X, double runtime, String method, int iter)
      Stores computed average metrics at steady-state in the solver result.
      Parameters:
      Q - queue length matrix [stations x classes]
      U - utilization matrix [stations x classes]
      R - response time matrix [stations x classes]
      T - throughput matrix [stations x classes]
      A - arrival rate matrix [stations x classes]
      W - residence time matrix [stations x classes]
      C - system response time vector [chains]
      X - system throughput vector [chains]
      runtime - computation time in seconds
      method - solution algorithm used
      iter - number of iterations performed
    • setDistribResults

      protected final void setDistribResults(Matrix RD, double runtime)
      Stores distribution metrics at steady-state.
      Parameters:
      RD - distribution data [stations x classes] containing CDFs
      runtime - computation time for distribution analysis
    • setLang

      protected void setLang()
      Sets the language for solver execution. This method configures the solver to use either MATLAB or Java backend.
    • setTranAvgResults

      public void setTranAvgResults(Matrix[][] Qt, Matrix[][] Ut, Matrix[][] Rt, Matrix[][] Tt, Matrix[][] Ct, Matrix[][] Xt, double runtimet)
      Stores computed transient average metrics.
      Parameters:
      Qt - transient queue length matrices [time][stations x classes]
      Ut - transient utilization matrices [time][stations x classes]
      Rt - transient response time matrices [time][stations x classes]
      Tt - transient throughput matrices [time][stations x classes]
      Ct - transient system response time matrices [time][chains]
      Xt - transient system throughput matrices [time][chains]
      runtimet - computation time for transient analysis
    • setTranProb

      protected final void setTranProb(Matrix t, Matrix pi_t, Matrix SS, double runtimet)
      Stores transient probability distributions.
      Parameters:
      t - time points vector
      pi_t - transient probability distributions
      SS - steady-state distribution
      runtimet - computation time for transient analysis
    • stageTable

      public Object stageTable()
    • stageT

      public Object stageT()
    • getStageT

      public NetworkAvgTable getStageT()
    • getStageT

      public NetworkAvgTable getStageT(boolean keepDisabled)
    • tranAvg

      public void tranAvg()
    • tranCdfPassT

      public Ret.DistributionResult tranCdfPassT()
    • tranCdfPassT

      public Ret.DistributionResult tranCdfPassT(AvgHandle R)
    • tranCdfRespT

      public Ret.DistributionResult tranCdfRespT()
    • tranCdfRespT

      public Ret.DistributionResult tranCdfRespT(AvgHandle R)
    • tranHandles

      public SolverTranHandles tranHandles()