Package jline.solvers.mva
Class SolverMVA
java.lang.Object
jline.solvers.Solver
jline.solvers.NetworkSolver
jline.solvers.mva.SolverMVA
- Direct Known Subclasses:
MVA
SolverMVA implements Mean Value Analysis (MVA) for queueing networks.
MVA is an exact analytical method for computing performance measures
of closed queueing networks, particularly effective for networks with
product-form solutions.
-
Nested Class Summary
Nested classes/interfaces inherited from class jline.solvers.NetworkSolver
NetworkSolver.SolverConfigurator -
Field Summary
Fields inherited from class jline.solvers.NetworkSolver
avgHandles, model, sn, tranHandles -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new SolverMVA instance with default options.Creates a new SolverMVA instance with variable arguments for options.Creates a new SolverMVA instance with a specific method.SolverMVA(Network model, SolverOptions options) Creates a new SolverMVA instance with specific options. -
Method Summary
Modifier and TypeMethodDescriptionstatic SolverOptionsReturns the default solver options for the MVA solver.static StringfiniteCapacityReason(Network model, NetworkStruct sn) MVA-specific finite-capacity gate: Blocking-After-Service models are exempt because MVA offers the Smith queue-decomposition method "sqd", and Solver_mva_analyzer routes a BAS model to Solver_sqd under the default method too, so the finite buffers ARE honoured on every MVA path.static FeatureSetReturns the feature set supported by the MVA solvergetMethodFeatureSet(String method) Per-method feature set, or null to signal "this solver does not diverge per method" (the coarse supports(model) is then used, preserving any structural checks it carries).getProbAggr(int ist) Get marginal state probabilities for a specific stationgetProbMarg(int ist, int jobclass) Get marginalized state probabilities for a specific station and job classgetProbMarg(int ist, int jobclass, Matrix state_m) Get marginalized state probabilities for a specific station and job class with state filterReturns the logarithm of the normalizing constant for the aggregate state probabilitiesGet joint system state probabilitiesReturns the network structure used by this solver.String[]List all valid solution methods supported by this solverstatic FeatureSetmethodFeatureSet(String method) Per-method feature deltas applied to the base MVA envelope.voidRuns the MVA analyzer to solve the queueing network.voidSets the network structure for this solver.booleanChecks whether the given model is supported by the MVA solverMethods 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, bindingCapacityReason, cdfPassT, cdfPassT, cdfRespT, cdfRespT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, getAllSolvers, getAvg, getAvg, getAvg, getAvgArvR, getAvgArvRChain, getAvgArvRHandles, getAvgCacheTable, getAvgChain, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgHandles, getAvgItemTable, 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, getCdfPassT, getCdfPassT, getCdfRespT, getCdfRespT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getDeadlineTable, getModel, getMomentChainTable, getMomentChainTable, getMomentChainTable, getMomentStationTable, getMomentStationTable, getMomentStationTable, getMomentTable, getMomentTable, getMomentTable, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getProb, getProb, getProbAggr, getProbSys, getSensitivityTable, getStageT, getStageT, getStageTable, getStageTable, getSysAvgT, getSysAvgT, getSysAvgT, getTranAvg, getTranCdfPassT, getTranCdfPassT, getTranCdfRespT, getTranCdfRespT, getTranHandles, hasAvgResults, hasDistribResults, hasTranResults, initFromSolver, initHandles, model, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, options, print, prob, prob, probAggr, probAggr, probMarg, probMarg, probNormConstAggr, probSys, probSysAggr, runAnalyzerChecks, sample, sampleAggr, sampleSys, sampleSysAggr, 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, isStochastic, isStochasticMethod, isValidOption, listValidOptions, parseOptions, parseOptions, reset, resetRandomGeneratorSeed, resolveMethod, selectMethod, setChecks, setOptions, supportsModelMethod, timeExceeded
-
Constructor Details
-
SolverMVA
Creates a new SolverMVA instance with a specific method.- Parameters:
model- The network model to analyzemethod- The MVA method to use
-
SolverMVA
Creates a new SolverMVA instance with specific options.- Parameters:
model- The network model to analyzeoptions- The solver options to use
-
SolverMVA
Creates a new SolverMVA instance with variable arguments for options.- Parameters:
model- The network model to analyzevarargin- Variable arguments for solver options
-
SolverMVA
Creates a new SolverMVA instance with default options.- Parameters:
model- The network model to analyze
-
-
Method Details
-
defaultOptions
Returns the default solver options for the MVA solver.- Returns:
- Default solver options with SolverType.MVA
-
getFeatureSet
Returns the feature set supported by the MVA solver- Returns:
- - the feature set supported by the MVA solver
-
methodFeatureSet
Per-method feature deltas applied to the base MVA envelope. QNA is a two-moment open-network method, so it drops closed-class support. The queueing-system and bounds methods are already structurally restricted by listValidMethods and inherit the base envelope. The RQNA MAP-family delta (open only) is declared here for when the JAR RQNA method lands. Mirrors the MATLAB/Python SolverMVA.getMethodFeatureSet.- Parameters:
method- the concrete method name- Returns:
- the per-method FeatureSet
-
getMethodFeatureSet
Description copied from class:SolverPer-method feature set, or null to signal "this solver does not diverge per method" (the coarse supports(model) is then used, preserving any structural checks it carries). Divergent solvers (e.g. MVA, MAM, NC) override this to return the base envelope with per-method deltas applied.- Overrides:
getMethodFeatureSetin classSolver- Parameters:
method- the concrete method name- Returns:
- the per-method FeatureSet, or null
-
getStruct
Returns the network structure used by this solver. If the structure is not yet initialized, it will be created from the model.- Returns:
- The network structure
-
setStruct
Sets the network structure for this solver.- Parameters:
sn- The network structure to use
-
runAnalyzer
Runs the MVA analyzer to solve the queueing network. This method executes the Mean Value Analysis algorithm and stores the results in the solver's result object.- Specified by:
runAnalyzerin classSolver- Throws:
IllegalAccessException- if there are access issues during analysis
-
supports
Checks whether the given model is supported by the MVA solver -
finiteCapacityReason
MVA-specific finite-capacity gate: Blocking-After-Service models are exempt because MVA offers the Smith queue-decomposition method "sqd", and Solver_mva_analyzer routes a BAS model to Solver_sqd under the default method too, so the finite buffers ARE honoured on every MVA path. Everything else defers to the shared product-form gate.- Parameters:
model- - the network modelsn- - the network structure- Returns:
- null if the model has no binding capacity, otherwise the reason
-
getProbNormConstAggr
Returns the logarithm of the normalizing constant for the aggregate state probabilities- Overrides:
getProbNormConstAggrin classNetworkSolver- Returns:
- the log of the normalizing constant
-
getProbAggr
Get marginal state probabilities for a specific station- Overrides:
getProbAggrin classNetworkSolver- Parameters:
ist- station index (0-based)- Returns:
- ProbabilityResult with probability and log probability
-
getProbSysAggr
Get joint system state probabilities- Overrides:
getProbSysAggrin classNetworkSolver- Returns:
- ProbabilityResult with probability and log probability
-
getProbMarg
Get marginalized state probabilities for a specific station and job class- Overrides:
getProbMargin classNetworkSolver- Parameters:
ist- station index (0-based)jobclass- job class index (0-based)- Returns:
- ProbabilityResult with marginalized state probabilities
-
getProbMarg
Get marginalized state probabilities for a specific station and job class with state filter- Overrides:
getProbMargin classNetworkSolver- Parameters:
ist- station index (0-based)jobclass- job class index (0-based)state_m- marginalized state vector to query (optional, null for all states)- Returns:
- ProbabilityResult with marginalized state probabilities
-
listValidMethods
List all valid solution methods supported by this solver- Returns:
- array of valid method names
-