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.
-
-
Field Summary
Fields Modifier and Type Field Description public final static int
CANDIDATE_CTMC
public final static int
CANDIDATE_FLUID
public final static int
CANDIDATE_JMT
public final static int
CANDIDATE_MAM
public final static int
CANDIDATE_MVA
public final static int
CANDIDATE_NC
public final static int
CANDIDATE_SSA
public final static String
METHOD_AI
public final static String
METHOD_DEFAULT
public final static String
METHOD_HEURISTIC
public final static String
METHOD_NN
public Network
model
public NetworkStruct
sn
public SolverAvgHandles
avgHandles
public SolverTranHandles
tranHandles
public Model
model
public String
name
public SolverOptions
options
public SolverResult
result
public boolean
enableChecks
public Random
random
-
Constructor Summary
Constructors Constructor Description SolverAuto(Network model)
Constructor with model only SolverAuto(Network model, String method)
Constructor with model and method SolverAuto(Network model, SolverOptions options)
Constructor with model and options SolverAuto(Network model, Array<Object> varargin)
Constructor with model and varargs
-
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, SolverOptions options)
Constructor with model and options
-
-
Method Detail
-
getCandidateSolverNames
List<String> getCandidateSolverNames()
Get list of candidate solver names
-
getSelectedSolverName
String getSelectedSolverName()
Get the name of the selected solver
-
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
-
getTranProb
Array<Matrix> getTranProb(Node node)
-
getTranProbAggr
Array<Matrix> getTranProbAggr(Node node)
-
getTranProbSys
Array<Matrix> getTranProbSys()
-
getTranProbSysAggr
Array<Matrix> getTranProbSysAggr()
-
sample
Ret.SampleResult sample(Node node, int numSamples)
-
sampleAggr
Ret.SampleResult sampleAggr(Node node, int numSamples)
-
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]
-
getProbAggr
double getProbAggr(Node node, Matrix state_a)
-
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
-
-
-
-