Class SolverQNS

  • All Implemented Interfaces:

    
    public class SolverQNS
    extends NetworkSolver
                        

    SolverQNS class implements a queueing network solver that wraps the external qnsolver tool. This solver provides various multiserver approximation methods for analyzing queueing networks.

    • 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
      static SolverOptions parseOptions(Array<Object> varargin) Parse options from variable arguments
      static SolverOptions defaultOptions() Get the default options for the QNS solver
      static FeatureSet getFeatureSet() Get the feature set supported by this solver
      boolean supports(Network model) Check if the solver supports the given model
      Array<String> listValidMethods() List valid methods for this solver
      void runAnalyzer() Run the analyzer for the QNS solver
      static boolean isAvailable() Check if the solver is available
      Ret.ProbabilityResult getProbNormConstAggr() Returns the logarithm of the normalizing constant of state probabilities.
      Ret.ProbabilityResult getProb(int node, Matrix state) Returns marginal state probabilities for a specific node and state.
      Ret.ProbabilityResult getProb(int node) Returns marginal state probabilities for a specific node (all states).
      Ret.ProbabilityResult getProbSys() Returns joint state probabilities for the entire system.
      Ret.ProbabilityResult getProbAggr(int node, Matrix state_a) Returns aggregated marginal state probabilities for a specific node.
      Ret.ProbabilityResult getProbAggr(int node) Returns aggregated marginal state probabilities for a specific node (all states).
      Ret.ProbabilityResult getProbSysAggr() Returns aggregated joint state probabilities for the entire system.
      Ret.SampleResult sample(int node, int numEvents) Samples state trajectories for a specific node.
      Ret.SampleResult sampleAggr(int node, int numEvents) Samples aggregated state trajectories for a specific node.
      Ret.SampleResult sampleSys(int numEvents) Samples joint system state trajectories.
      Ret.SampleResult sampleSysAggr(int numEvents) Samples aggregated joint system state trajectories.
      Ret.DistributionResult getCdfRespT(AvgHandle R) Returns cumulative distribution functions of response times at steady-state.
      Ret.DistributionResult getCdfRespT() Returns cumulative distribution functions of response times at steady-state.
      Ret.DistributionResult getTranCdfRespT(AvgHandle R) Returns cumulative distribution functions of response times during transient analysis.
      Ret.DistributionResult getTranCdfRespT() Returns cumulative distribution functions of response times during transient analysis.
      Ret.DistributionResult getCdfPassT(AvgHandle R) Returns cumulative distribution functions of passage times at steady-state.
      Ret.DistributionResult getCdfPassT() Returns cumulative distribution functions of passage times at steady-state.
      Ret.DistributionResult getTranCdfPassT(AvgHandle R) Returns cumulative distribution functions of passage times during transient analysis.
      Ret.DistributionResult getTranCdfPassT() Returns cumulative distribution functions of passage times during transient analysis.
      • 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, getAvg, getAvgArvR, getAvgArvRChain, getAvgArvRHandles, getAvgChain, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgHandles, getAvgNode, getAvgNodeArvRChain, getAvgNodeChain, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeQLenChain, getAvgNodeResidTChain, getAvgNodeRespTChain, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTputChain, getAvgNodeUtilChain, getAvgQLen, getAvgQLenChain, getAvgQLenHandles, getAvgResidT, getAvgResidTChain, getAvgResidTHandles, getAvgRespT, getAvgRespTChain, getAvgRespTHandles, getAvgSys, getAvgSys, getAvgSys, getAvgSysRespT, getAvgSysTable, getAvgSysTable, getAvgSysTable, getAvgSysTput, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTput, getAvgTputChain, getAvgTputHandles, getAvgUtil, getAvgUtilChain, getAvgUtilHandles, getAvgWaitT, getModel, getProbMarg, getProbMarg, getStageTable, getStageTable, getTranAvg, getTranHandles, hasAvgResults, hasDistribResults, hasTranResults, initHandles, model, print, prob, prob, probAggr, probAggr, probMarg, probMarg, probNormConstAggr, probSys, probSysAggr, runAnalyzerChecks, setAvgHandles, setAvgResults, setDistribResults, setLang, setModel, setTranAvgResults, setTranHandles, setTranProb, stageTable, tranAvg, tranCdfPassT, tranCdfPassT, tranCdfRespT, tranCdfRespT, tranHandles
      • Methods inherited from class jline.solvers.Solver

        getName, getOptions, getResults, hasResults, isJavaAvailable, isValidOption, listValidOptions, 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

      • SolverQNS

        SolverQNS(Network model)
        Default constructor with network model
      • SolverQNS

        SolverQNS(Network model, String method)
        Constructor with network model and method string
      • SolverQNS

        SolverQNS(Network model, SolverOptions options)
        Constructor with network model and solver options
      • SolverQNS

        SolverQNS(Network model, Array<Object> varargin)
        Constructor with network model and variable arguments
    • Method Detail

      • supports

         boolean supports(Network model)

        Check if the solver supports the given model

      • runAnalyzer

         void runAnalyzer()

        Run the analyzer for the QNS solver

      • isAvailable

         static boolean isAvailable()

        Check if the solver is available

      • 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

      • getProb

         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

      • getProb

         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

      • 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

      • getProbAggr

         Ret.ProbabilityResult getProbAggr(int node, Matrix state_a)

        Returns aggregated marginal state probabilities for a specific node. This is an abstract method that must be implemented by concrete solver subclasses.

        Parameters:
        node - the node index for which to compute probabilities
        state_a - the aggregated state vector to query (optional, null for all states)
        Returns:

        result containing aggregated marginal state probabilities

      • getProbAggr

         Ret.ProbabilityResult getProbAggr(int node)

        Returns aggregated 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 aggregated marginal 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

      • sample

         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

      • sampleAggr

         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

      • sampleSys

         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

      • sampleSysAggr

         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

      • getCdfRespT

         Ret.DistributionResult getCdfRespT(AvgHandle R)

        Returns cumulative distribution functions of response 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 response times [stations x classes]

      • 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]

      • getTranCdfRespT

         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

      • 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

      • getCdfPassT

         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

      • getCdfPassT

         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

      • getTranCdfPassT

         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

      • 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