Class SolverFluid
-
- All Implemented Interfaces:
public class SolverFluid extends NetworkSolver
SolverFluid is based on fluid and mean-field approximation methods. It provides fluid-based analysis for queueing networks, particularly useful for large-scale systems where discrete-event simulation would be computationally expensive.
-
-
Field Summary
Fields Modifier and Type Field Description public Networkmodelpublic NetworkStructsnpublic SolverAvgHandlesavgHandlespublic SolverTranHandlestranHandlespublic Modelmodelpublic Stringnamepublic SolverOptionsoptionspublic SolverResultresultpublic booleanenableCheckspublic Randomrandom
-
Constructor Summary
Constructors Constructor Description SolverFluid(Network model)Creates a new SolverFluid instance with default options. SolverFluid(Network model, Array<Object> varargin)Creates a new SolverFluid instance with variable arguments for options. SolverFluid(Network model, String method)Creates a new SolverFluid instance with a specific method. SolverFluid(Network model, SolverOptions options)Creates a new SolverFluid instance with specific options.
-
Method Summary
Modifier and Type Method Description static SolverOptionsdefaultOptions()Returns the default solver options for the Fluid solver. static FeatureSetgetFeatureSet()Returns the feature set supported by the Fluid solver Ret.DistributionResultgetCdfRespT()Returns cumulative distribution functions of response times at steady-state. Ret.ProbabilityResultgetProbAggr(int ist)Returns aggregated marginal state probabilities for a specific node (all states). Ret.DistributionResultgetTranCdfPassT()Returns cumulative distribution functions of passage times during transient analysis. voidinitSol()Initializes the solution vector for the fluid analysis. voidrunAnalyzer()Runs the fluid analyzer to solve the queueing network. SolverResultrunMethodSpecificAnalyzer()booleansupports(Network model)Checks whether the given model is supported by the Fluid solver. NetworkStructgetStruct()Get model structure data structure summarizing the network Array<String>listValidMethods()List all valid solution methods supported by this solver voidrunAnalyzerChecks(SolverOptions options)Validates model compatibility and method support before analysis voidinitFluidHandles()Initialize performance metric handles from the model. voidsetFluidTranAvgResults(Array<Array<Matrix>> Qt, Array<Array<Matrix>> Ut, Array<Array<Matrix>> Rt, Array<Array<Matrix>> Tt, Array<Array<Matrix>> Ct, Array<Array<Matrix>> Xt, double runtimet)Set transient average results with proper validation voidsetFluidDistribResults(Matrix RD, double runtime)Set distribution results with enhanced metadata for fluid solver SolverAvgHandlesgetAvgHandles()Enhanced method to get average handles with validation voidsetAvgHandles(SolverAvgHandles handles)Enhanced method to set average handles with validation SolverTranHandlesgetTranHandles()Enhanced method to get transient handles with validation voidsetTranHandles(SolverTranHandles handles)Enhanced method to set transient handles with validation AvgHandlegetAvgQLenHandles()Get queue length handles with fluid-specific validation AvgHandlegetAvgUtilHandles()Get utilization handles with fluid-specific validation AvgHandlegetAvgRespTHandles()Get response time handles with fluid-specific validation AvgHandlegetAvgTputHandles()Get throughput handles with fluid-specific validation AvgHandlegetAvgArvRHandles()Get arrival rate handles with fluid-specific validation AvgHandlegetAvgResidTHandles()Get residence time handles with fluid-specific validation Ret.DistributionResultgetCdfPassT()Get cumulative distribution function for passage time. Ret.DistributionResultgetCdfPassT(AvgHandle R)Get cumulative distribution function for passage time with specific response time handles. -
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, getAvgChain, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgNode, getAvgNodeArvRChain, getAvgNodeChain, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeQLenChain, getAvgNodeResidTChain, getAvgNodeRespTChain, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTputChain, getAvgNodeUtilChain, getAvgQLen, getAvgQLenChain, getAvgResidT, getAvgResidTChain, getAvgRespT, getAvgRespTChain, getAvgSys, getAvgSys, getAvgSys, getAvgSysRespT, getAvgSysTable, getAvgSysTable, getAvgSysTable, getAvgSysTput, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTput, getAvgTputChain, getAvgUtil, getAvgUtilChain, getAvgWaitT, getCdfRespT, getModel, getProb, getProb, getProbAggr, getProbMarg, getProbMarg, getProbNormConstAggr, getProbSys, getProbSysAggr, getStageTable, getStageTable, getTranAvg, getTranCdfPassT, getTranCdfRespT, getTranCdfRespT, hasAvgResults, hasDistribResults, hasTranResults, initHandles, model, print, prob, prob, probAggr, probAggr, probMarg, probMarg, probNormConstAggr, probSys, probSysAggr, sample, sampleAggr, sampleSys, sampleSysAggr, setAvgResults, setDistribResults, setLang, setModel, setTranAvgResults, setTranProb, stageTable, tranAvg, tranCdfPassT, tranCdfPassT, tranCdfRespT, tranCdfRespT, tranHandles -
Methods inherited from class jline.solvers.Solver
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
-
SolverFluid
SolverFluid(Network model)
Creates a new SolverFluid instance with default options.- Parameters:
model- The network model to analyze
-
SolverFluid
SolverFluid(Network model, Array<Object> varargin)
Creates a new SolverFluid instance with variable arguments for options.- Parameters:
model- The network model to analyzevarargin- Variable arguments for solver options
-
SolverFluid
SolverFluid(Network model, String method)
Creates a new SolverFluid instance with a specific method.- Parameters:
model- The network model to analyzemethod- The fluid analysis method to use
-
SolverFluid
SolverFluid(Network model, SolverOptions options)
Creates a new SolverFluid instance with specific options.- Parameters:
model- The network model to analyzeoptions- The solver options to use
-
-
Method Detail
-
defaultOptions
static SolverOptions defaultOptions()
Returns the default solver options for the Fluid solver.
- Returns:
Default solver options with SolverType.FLUID
-
getFeatureSet
static FeatureSet getFeatureSet()
Returns the feature set supported by the Fluid solver
- Returns:
- the feature set supported by the Fluid solver
-
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
Ret.ProbabilityResult getProbAggr(int ist)
Returns aggregated marginal state probabilities for a specific node (all states). This is an abstract method that must be implemented by concrete solver subclasses.
- Returns:
result containing aggregated marginal state probabilities
-
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
-
initSol
void initSol()
Initializes the solution vector for the fluid analysis. This method sets up the initial state representation for the fluid solver.
-
runAnalyzer
void runAnalyzer()
Runs the fluid analyzer to solve the queueing network. This method executes the fluid approximation algorithm and stores the results in the solver's result object.
-
runMethodSpecificAnalyzer
SolverResult runMethodSpecificAnalyzer()
-
supports
boolean supports(Network model)
Checks whether the given model is supported by the Fluid solver. This method compares the features used by the model against the features supported by the Fluid solver.
- Parameters:
model- The network model to check- Returns:
true if the model is supported, false otherwise
-
getStruct
NetworkStruct getStruct()
Get model structure data structure summarizing the network
- Returns:
NetworkStruct containing the model structure
-
listValidMethods
Array<String> listValidMethods()
List all valid solution methods supported by this solver
- Returns:
array of valid method names
-
runAnalyzerChecks
void runAnalyzerChecks(SolverOptions options)
Validates model compatibility and method support before analysis
- Parameters:
options- solver options containing method specification
-
initFluidHandles
void initFluidHandles()
Initialize performance metric handles from the model. This method ensures all handles are properly configured for fluid analysis.
-
setFluidTranAvgResults
void setFluidTranAvgResults(Array<Array<Matrix>> Qt, Array<Array<Matrix>> Ut, Array<Array<Matrix>> Rt, Array<Array<Matrix>> Tt, Array<Array<Matrix>> Ct, Array<Array<Matrix>> Xt, double runtimet)
Set transient average results with proper validation
- Parameters:
Qt- transient queue length matrices [time][stations x classes]Ut- transient utilization matrices [time][stations x classes]Rt- transient response time matrices [time][stations x classes]Tt- transient throughput matrices [time][stations x classes]Ct- transient system response time matrices [time][chains]Xt- transient system throughput matrices [time][chains]runtimet- computation time for transient analysis
-
setFluidDistribResults
void setFluidDistribResults(Matrix RD, double runtime)
Set distribution results with enhanced metadata for fluid solver
- Parameters:
RD- distribution data [stations x classes] containing CDFsruntime- computation time for distribution analysis
-
getAvgHandles
SolverAvgHandles getAvgHandles()
Enhanced method to get average handles with validation
- Returns:
SolverAvgHandles with all handles properly initialized
-
setAvgHandles
void setAvgHandles(SolverAvgHandles handles)
Enhanced method to set average handles with validation
- Parameters:
handles- the average handles to set
-
getTranHandles
SolverTranHandles getTranHandles()
Enhanced method to get transient handles with validation
- Returns:
SolverTranHandles with all handles properly initialized
-
setTranHandles
void setTranHandles(SolverTranHandles handles)
Enhanced method to set transient handles with validation
- Parameters:
handles- the transient handles to set
-
getAvgQLenHandles
AvgHandle getAvgQLenHandles()
Get queue length handles with fluid-specific validation
- Returns:
AvgHandle for queue length metrics
-
getAvgUtilHandles
AvgHandle getAvgUtilHandles()
Get utilization handles with fluid-specific validation
- Returns:
AvgHandle for utilization metrics
-
getAvgRespTHandles
AvgHandle getAvgRespTHandles()
Get response time handles with fluid-specific validation
- Returns:
AvgHandle for response time metrics
-
getAvgTputHandles
AvgHandle getAvgTputHandles()
Get throughput handles with fluid-specific validation
- Returns:
AvgHandle for throughput metrics
-
getAvgArvRHandles
AvgHandle getAvgArvRHandles()
Get arrival rate handles with fluid-specific validation
- Returns:
AvgHandle for arrival rate metrics
-
getAvgResidTHandles
AvgHandle getAvgResidTHandles()
Get residence time handles with fluid-specific validation
- Returns:
AvgHandle for residence time metrics
-
getCdfPassT
Ret.DistributionResult getCdfPassT()
Get cumulative distribution function for passage time. This method computes passage time distributions for job classes based on completion events at each station.
- Returns:
DistributionResult containing the passage time CDF data
-
getCdfPassT
Ret.DistributionResult getCdfPassT(AvgHandle R)
Get cumulative distribution function for passage time with specific response time handles. This method computes passage time distributions for job classes based on completion events at each station using the provided handles.
- Parameters:
R- the response time handles to use for the analysis- Returns:
DistributionResult containing the passage time CDF data
-
-
-
-