Package jline.solvers.qns
Class SolverQNS
java.lang.Object
jline.solvers.Solver
jline.solvers.NetworkSolver
jline.solvers.qns.SolverQNS
- Direct Known Subclasses:
QNS
SolverQNS class implements a queueing network solver that wraps the external qnsolver tool.
This solver provides various multiserver approximation methods for analyzing queueing networks.
-
Field Summary
Fields inherited from class jline.solvers.NetworkSolver
avgHandles, model, sn, tranHandles -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor with network modelConstructor with network model and variable argumentsConstructor with network model and method stringSolverQNS(Network model, SolverOptions options) Constructor with network model and solver options -
Method Summary
Modifier and TypeMethodDescriptionstatic SolverOptionsGet the default options for the QNS solverReturns cumulative distribution functions of passage times at steady-state.Returns cumulative distribution functions of passage times at steady-state.Returns cumulative distribution functions of response times at steady-state.Returns cumulative distribution functions of response times at steady-state.static FeatureSetGet the feature set supported by this solvergetProb(int node) Returns marginal state probabilities for a specific node (all states).Returns marginal state probabilities for a specific node and state.getProbAggr(int node) Probability of a SPECIFIC per-class job distribution at a station (current state).getProbAggr(int node, Matrix state_a) Probability of a SPECIFIC per-class job distribution at a station.Returns the logarithm of the normalizing constant of state probabilities.Returns joint state probabilities for the entire system.Returns aggregated joint state probabilities for the entire system.Returns cumulative distribution functions of passage times during transient analysis.Returns cumulative distribution functions of passage times during transient analysis.Returns cumulative distribution functions of response times during transient analysis.Returns cumulative distribution functions of response times during transient analysis.static booleanCheck if the solver is available Checks for the qnsolver command which is the actual executable usedString[]List valid methods for this solverstatic SolverOptionsparseOptions(Object... varargin) Parse options from variable argumentsvoidRun the analyzer for the QNS solversample(int node, int numEvents) Samples state trajectories for a specific node.sampleAggr(int node, int numEvents) Samples aggregated state trajectories for a specific node.sampleSys(int numEvents) Samples joint system state trajectories.sampleSysAggr(int numEvents) Samples aggregated joint system state trajectories.booleanCheck if the solver supports the given modelMethods inherited from class jline.solvers.NetworkSolver
aCT, aCT, aCT, aCT, aCT, aCT, aNCT, aNCT, aNCT, aNCT, aNCT, aNCT, aNT, aNT, aNT, aNT, aNT, aNT, aST, aST, aST, aT, aT, aT, aT, aT, aT, avg, avg, avg, avgArvR, avgArvRChain, avgArvRHandles, avgChain, avgChainT, avgChainT, avgChainT, avgChainT, avgChainT, avgChainT, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgHandles, avgNode, avgNodeArvRChain, avgNodeChain, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeQLenChain, avgNodeResidTChain, avgNodeRespTChain, avgNodeT, avgNodeT, avgNodeT, avgNodeT, avgNodeT, avgNodeT, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTputChain, avgNodeUtilChain, avgQLen, avgQLenChain, avgQLenHandles, avgResidT, avgResidTChain, avgResidTHandles, avgRespT, avgRespTChain, avgRespTHandles, avgSys, avgSysRespT, avgSysT, avgSysT, avgSysT, avgSysTable, avgSysTable, avgSysTable, avgSysTput, avgT, avgT, avgT, avgT, avgT, avgT, avgTable, avgTable, avgTable, avgTable, avgTable, avgTable, avgTput, avgTputChain, avgTputHandles, avgUtil, avgUtilChain, avgUtilHandles, avgWaitT, cdfPassT, cdfPassT, cdfRespT, cdfRespT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, 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, getAvgT, getAvgT, getAvgT, getAvgT, getAvgT, getAvgT, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTput, getAvgTputChain, getAvgTputHandles, getAvgUtil, getAvgUtilChain, getAvgUtilHandles, getAvgWaitT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getDeadlineTable, getModel, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getProbMarg, getProbMarg, getStageT, getStageT, getStageTable, getStageTable, getSysAvgT, getSysAvgT, getSysAvgT, getTranAvg, getTranHandles, hasAvgResults, hasDistribResults, hasTranResults, initHandles, model, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, print, prob, prob, probAggr, probAggr, probMarg, probMarg, probNormConstAggr, probSys, probSysAggr, runAnalyzerChecks, setAvgHandles, setAvgResults, setDistribResults, setLang, setModel, setTranAvgResults, setTranHandles, setTranProb, stageT, stageTable, sysAvgT, sysAvgT, sysAvgT, tranAvg, tranCdfPassT, tranCdfPassT, tranCdfRespT, tranCdfRespT, tranHandlesMethods inherited from class jline.solvers.Solver
getName, getOptions, getResults, hasResults, isJavaAvailable, isValidOption, listValidOptions, parseOptions, reset, resetRandomGeneratorSeed, setChecks, setOptions
-
Constructor Details
-
SolverQNS
Default constructor with network model -
SolverQNS
Constructor with network model and method string -
SolverQNS
Constructor with network model and solver options -
SolverQNS
Constructor with network model and variable arguments
-
-
Method Details
-
parseOptions
Parse options from variable arguments -
defaultOptions
Get the default options for the QNS solver -
getFeatureSet
Get the feature set supported by this solver -
supports
Check if the solver supports the given model -
listValidMethods
List valid methods for this solver -
runAnalyzer
Run the analyzer for the QNS solver- Specified by:
runAnalyzerin classSolver- Throws:
IllegalAccessException- if access to required resources is deniedParserConfigurationException- if XML parsing configuration failsIOException- if I/O operations fail
-
isAvailable
public static boolean isAvailable()Check if the solver is available Checks for the qnsolver command which is the actual executable used -
getProbNormConstAggr
Description copied from class:NetworkSolverReturns the logarithm of the normalizing constant of state probabilities. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getProbNormConstAggrin classNetworkSolver- Returns:
- result containing the log normalizing constant
-
getProb
Description copied from class:NetworkSolverReturns marginal state probabilities for a specific node and state. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getProbin classNetworkSolver- Parameters:
node- the node index for which to compute probabilitiesstate- the state vector to query (optional, null for all states)- Returns:
- result containing marginal state probabilities
-
getProb
Description copied from class:NetworkSolverReturns marginal state probabilities for a specific node (all states). This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getProbin classNetworkSolver- Parameters:
node- the node index for which to compute probabilities- Returns:
- result containing marginal state probabilities
-
getProbSys
Description copied from class:NetworkSolverReturns joint state probabilities for the entire system. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getProbSysin classNetworkSolver- Returns:
- result containing joint state probabilities
-
getProbAggr
Description copied from class:NetworkSolverProbability 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
NetworkSolver.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).- Overrides:
getProbAggrin classNetworkSolver- Parameters:
node- the node index for which to compute probabilitiesstate_a- per-class job counts, e.g., [2,1] = 2 class-1, 1 class-2- Returns:
- scalar probability in [0,1]
-
getProbAggr
Description copied from class:NetworkSolverProbability 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
NetworkSolver.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).- Overrides:
getProbAggrin classNetworkSolver- Parameters:
node- the node index for which to compute probabilities- Returns:
- scalar probability in [0,1]
-
getProbSysAggr
Description copied from class:NetworkSolverReturns aggregated joint state probabilities for the entire system. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getProbSysAggrin classNetworkSolver- Returns:
- result containing aggregated joint state probabilities
-
sample
Description copied from class:NetworkSolverSamples state trajectories for a specific node. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
samplein classNetworkSolver- Parameters:
node- the node index to sample fromnumEvents- the number of events to sample- Returns:
- result containing sampled state trajectories
-
sampleAggr
Description copied from class:NetworkSolverSamples aggregated state trajectories for a specific node. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
sampleAggrin classNetworkSolver- Parameters:
node- the node index to sample fromnumEvents- the number of events to sample- Returns:
- result containing sampled aggregated state trajectories
-
sampleSys
Description copied from class:NetworkSolverSamples joint system state trajectories. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
sampleSysin classNetworkSolver- Parameters:
numEvents- the number of events to sample- Returns:
- result containing sampled joint system state trajectories
-
sampleSysAggr
Description copied from class:NetworkSolverSamples aggregated joint system state trajectories. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
sampleSysAggrin classNetworkSolver- Parameters:
numEvents- the number of events to sample- Returns:
- result containing sampled aggregated joint system state trajectories
-
getCdfRespT
Description copied from class:NetworkSolverReturns cumulative distribution functions of response times at steady-state. Uses an exponential approximation based on average response times.- Overrides:
getCdfRespTin classNetworkSolver- Parameters:
R- response time handles (optional)- Returns:
- result containing CDFs for response times [stations x classes]
-
getCdfRespT
Description copied from class:NetworkSolverReturns cumulative distribution functions of response times at steady-state. Uses default response time handles.- Overrides:
getCdfRespTin classNetworkSolver- Returns:
- result containing CDFs for response times [stations x classes]
-
getTranCdfRespT
Description copied from class:NetworkSolverReturns cumulative distribution functions of response times during transient analysis. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getTranCdfRespTin classNetworkSolver- Parameters:
R- response time handles (optional)- Returns:
- result containing transient CDFs for response times
-
getTranCdfRespT
Description copied from class:NetworkSolverReturns cumulative distribution functions of response times during transient analysis. Uses default response time handles.- Overrides:
getTranCdfRespTin classNetworkSolver- Returns:
- result containing transient CDFs for response times
-
getCdfPassT
Description copied from class:NetworkSolverReturns cumulative distribution functions of passage times at steady-state. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getCdfPassTin classNetworkSolver- Parameters:
R- response time handles (optional)- Returns:
- result containing CDFs for passage times
-
getCdfPassT
Description copied from class:NetworkSolverReturns cumulative distribution functions of passage times at steady-state. Uses default response time handles.- Overrides:
getCdfPassTin classNetworkSolver- Returns:
- result containing CDFs for passage times
-
getTranCdfPassT
Description copied from class:NetworkSolverReturns cumulative distribution functions of passage times during transient analysis. This is an abstract method that must be implemented by concrete solver subclasses.- Overrides:
getTranCdfPassTin classNetworkSolver- Parameters:
R- response time handles (optional)- Returns:
- result containing transient CDFs for passage times
-
getTranCdfPassT
Description copied from class:NetworkSolverReturns cumulative distribution functions of passage times during transient analysis. Uses default response time handles.- Overrides:
getTranCdfPassTin classNetworkSolver- Returns:
- result containing transient CDFs for passage times
-