Class SolverAuto

  • All Implemented Interfaces:

    
    public class SolverAuto
    extends NetworkSolver
                        

    Automatic solver selection for queueing network models.

    This solver automatically selects the most appropriate solution method based on model characteristics and requested performance metrics.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      List<String> getCandidateSolverNames() Get list of candidate solver names
      String getSelectedSolverName() Get the name of the selected solver
      void runAnalyzer() Override the main run method to ensure proper delegation
      boolean supports(Network model) Checks if this solver supports the given network model.
      NetworkAvgChainTable getAvgChainTable() Returns a table of average station metrics aggregated by job chains.
      NetworkAvgSysTable getAvgSysTable() Returns a table of average system-level metrics.
      NetworkAvgNodeTable getAvgNodeTable() Returns a table of average node metrics organized by job classes.
      NetworkAvgTable getAvgTable() Returns a table of average station metrics organized by job classes.
      SolverResult getAvg() Computes and returns average station metrics at steady-state.
      SolverResult getAvgChain() Returns average station metrics aggregated by job chains.
      void getAvgSys() Computes average system-level metrics at steady state.
      SolverResult getAvgNode() Computes average performance metrics at steady-state for all nodes.
      Matrix getAvgArvRChain() Returns average arrival rates aggregated by job chains.
      Matrix getAvgQLenChain() Returns average queue lengths aggregated by job chains.
      Matrix getAvgUtilChain() Returns average server utilizations aggregated by job chains.
      Matrix getAvgRespTChain() Returns average response times aggregated by job chains.
      Matrix getAvgTputChain() Returns average throughputs aggregated by job chains.
      Matrix getAvgSysRespT() Returns average system response times at steady state.
      Matrix getAvgSysTput() Returns average system throughputs at steady state.
      void getTranAvg() Computes transient average station metrics over the specified time interval.
      Ret.DistributionResult getTranCdfPassT() Returns cumulative distribution functions of passage times during transient analysis.
      Ret.DistributionResult getTranCdfRespT() Returns cumulative distribution functions of response times during transient analysis.
      Array<Matrix> getTranProb(Node node)
      Array<Matrix> getTranProbAggr(Node node)
      Array<Matrix> getTranProbSys()
      Array<Matrix> getTranProbSysAggr()
      Ret.SampleResult sample(Node node, int numSamples)
      Ret.SampleResult sampleAggr(Node node, int numSamples)
      Ret.SampleResult sampleSys(int numSamples) Samples joint system state trajectories.
      Ret.SampleResult sampleSysAggr(int numSamples) Samples aggregated joint system state trajectories.
      Ret.DistributionResult getCdfRespT() Returns cumulative distribution functions of response times at steady-state.
      double getProb(Node node, Matrix state)
      double getProbAggr(Node node, Matrix state_a)
      Ret.ProbabilityResult getProbSys() Returns joint state probabilities for the entire system.
      Ret.ProbabilityResult getProbSysAggr() Returns aggregated joint state probabilities for the entire system.
      Ret.ProbabilityResult getProbNormConstAggr() Returns the logarithm of the normalizing constant of state probabilities.
      • Methods inherited from class jline.solvers.NetworkSolver

        avg, avg, avg, avgArvR, avgArvRChain, avgArvRHandles, avgChain, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgHandles, avgNode, avgNodeArvRChain, avgNodeChain, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeQLenChain, avgNodeResidTChain, avgNodeRespTChain, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTputChain, avgNodeUtilChain, avgQLen, avgQLenChain, avgQLenHandles, avgResidT, avgResidTChain, avgResidTHandles, avgRespT, avgRespTChain, avgRespTHandles, avgSys, avgSysRespT, avgSysTable, avgSysTable, avgSysTable, avgSysTput, avgTable, avgTable, avgTable, avgTable, avgTable, avgTable, avgTput, avgTputChain, avgTputHandles, avgUtil, avgUtilChain, avgUtilHandles, avgWaitT, cdfPassT, cdfPassT, cdfRespT, cdfRespT, getAllSolvers, getAvg, getAvg, getAvgArvR, getAvgArvRHandles, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgHandles, getAvgNodeArvRChain, getAvgNodeChain, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeQLenChain, getAvgNodeResidTChain, getAvgNodeRespTChain, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTputChain, getAvgNodeUtilChain, getAvgQLen, getAvgQLenHandles, getAvgResidT, getAvgResidTChain, getAvgResidTHandles, getAvgRespT, getAvgRespTHandles, getAvgSys, getAvgSys, getAvgSysTable, getAvgSysTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTput, getAvgTputHandles, getAvgUtil, getAvgUtilHandles, getAvgWaitT, getCdfPassT, getCdfPassT, getCdfRespT, getModel, getProb, getProb, getProbAggr, getProbAggr, getProbMarg, getProbMarg, getStageTable, getStageTable, getTranCdfPassT, getTranCdfRespT, getTranHandles, hasAvgResults, hasDistribResults, hasTranResults, initHandles, model, print, prob, prob, probAggr, probAggr, probMarg, probMarg, probNormConstAggr, probSys, probSysAggr, runAnalyzerChecks, sample, sampleAggr, setAvgHandles, setAvgResults, setDistribResults, setLang, setModel, setTranAvgResults, setTranHandles, setTranProb, stageTable, tranAvg, tranCdfPassT, tranCdfPassT, tranCdfRespT, tranCdfRespT, tranHandles
      • Methods inherited from class jline.solvers.Solver

        defaultOptions, getName, getOptions, getResults, hasResults, isJavaAvailable, isValidOption, listValidOptions, parseOptions, parseOptions, reset, resetRandomGeneratorSeed, setChecks, setOptions
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SolverAuto

        SolverAuto(Network model)
        Constructor with model only
      • SolverAuto

        SolverAuto(Network model, String method)
        Constructor with model and method
      • SolverAuto

        SolverAuto(Network model, Array<Object> varargin)
        Constructor with model and varargs
    • Method Detail

      • runAnalyzer

         void runAnalyzer()

        Override the main run method to ensure proper delegation

      • supports

         boolean supports(Network model)

        Checks if this solver supports the given network model. Default implementation returns true; subclasses should override to provide specific feature validation.

        Parameters:
        model - the network model to check
        Returns:

        true if the model is supported, false otherwise

      • getAvgChainTable

         NetworkAvgChainTable getAvgChainTable()

        Returns a table of average station metrics aggregated by job chains.

        Returns:

        table containing station metrics organized by chains

      • getAvgSysTable

         NetworkAvgSysTable getAvgSysTable()

        Returns a table of average system-level metrics.

        Returns:

        table containing system response times and throughputs by chain

      • getAvgNodeTable

         NetworkAvgNodeTable getAvgNodeTable()

        Returns a table of average node metrics organized by job classes.

        Returns:

        table containing node-level metrics for each class

      • getAvgTable

         NetworkAvgTable getAvgTable()

        Returns a table of average station metrics organized by job classes.

        Returns:

        table containing station-level metrics for each class

      • getAvg

         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

      • getAvgChain

         SolverResult getAvgChain()

        Returns average station metrics aggregated by job chains.

        Returns:

        solver result with metrics aggregated by chains

      • getAvgSys

         void getAvgSys()

        Computes average system-level metrics at steady state. This includes system response times and throughputs aggregated across all chains.

      • getAvgNode

         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

      • getAvgArvRChain

         Matrix getAvgArvRChain()

        Returns average arrival rates aggregated by job chains.

        Returns:

        matrix of arrival rates [stations x chains]

      • getAvgQLenChain

         Matrix getAvgQLenChain()

        Returns average queue lengths aggregated by job chains.

        Returns:

        matrix of queue lengths [stations x chains]

      • getAvgUtilChain

         Matrix getAvgUtilChain()

        Returns average server utilizations aggregated by job chains.

        Returns:

        matrix of utilizations [stations x chains]

      • getAvgRespTChain

         Matrix getAvgRespTChain()

        Returns average response times aggregated by job chains.

        Returns:

        matrix of response times [stations x chains]

      • getAvgTputChain

         Matrix getAvgTputChain()

        Returns average throughputs aggregated by job chains.

        Returns:

        matrix of throughputs [stations x chains]

      • getAvgSysRespT

         Matrix getAvgSysRespT()

        Returns average system response times at steady state.

        Returns:

        matrix of system response times by chain

      • getAvgSysTput

         Matrix getAvgSysTput()

        Returns average system throughputs at steady state.

        Returns:

        matrix of system throughputs by chain

      • getTranAvg

         void getTranAvg()

        Computes transient average station metrics over the specified time interval. The timespan is defined in the solver options.

      • getTranCdfPassT

         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

      • getTranCdfRespT

         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

      • sampleSys

         Ret.SampleResult sampleSys(int numSamples)

        Samples joint system state trajectories. This is an abstract method that must be implemented by concrete solver subclasses.

        Returns:

        result containing sampled joint system state trajectories

      • sampleSysAggr

         Ret.SampleResult sampleSysAggr(int numSamples)

        Samples aggregated joint system state trajectories. This is an abstract method that must be implemented by concrete solver subclasses.

        Returns:

        result containing sampled aggregated joint system state trajectories

      • getCdfRespT

         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]

      • getProbSys

         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

      • getProbSysAggr

         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

      • getProbNormConstAggr

         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