Class TreeConvolutionSolver
java.lang.Object
solvers.queueingnet.QNSolver
solvers.queueingnet.treeAlgorithms.treeConvolution.TreeConvolutionSolver
- All Implemented Interfaces:
QNSolverInterface
Class that implements the Tree Convolution algorithm outlined in the paper
"A Tree Convolution Algorithm for the Solution of Queueing Networks" (Lam/Lien 1983).
Allows solution of sparse networks which are intractable using the sequential convolution algorithm.
- Author:
- Ben Homer, 2014.
-
Field Summary
Fields inherited from class QNSolver
G, memUsage, qnm, totalTimer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidComputes G, the normalisation constant, by first running the preprocessor stage (tree planting and complexity evaluation) and then doing a postorder traversal of the tree to calculate G at the root node.dvoidComputes the throughput and mean queue length performance measures from which all other performance measures can be derived.voidPrints a short welcome message that says which solver is used.Methods inherited from class QNSolver
getNormalisingConstant, printMemUsage, printTimeStatistics
-
Constructor Details
-
TreeConvolutionSolver
Constructor.- Parameters:
qnm- The queueing network model to solve.numThreads- The number of threads to solve the model with.- Throws:
InternalErrorException
-
-
Method Details
-
printWelcome
public void printWelcome()Prints a short welcome message that says which solver is used.- Specified by:
printWelcomein interfaceQNSolverInterface- Overrides:
printWelcomein classQNSolver
-
computeNormalisingConstant
public void computeNormalisingConstant() throws InternalErrorException, OperationNotSupportedException, InconsistentLinearSystemException, BTFMatrixErrorExceptionComputes G, the normalisation constant, by first running the preprocessor stage (tree planting and complexity evaluation) and then doing a postorder traversal of the tree to calculate G at the root node.d- Specified by:
computeNormalisingConstantin interfaceQNSolverInterface- Overrides:
computeNormalisingConstantin classQNSolver- Throws:
InternalErrorException- * @throws InternalErrorException An exception is thrown if any internal error is encountered during computations.OperationNotSupportedExceptionInconsistentLinearSystemExceptionBTFMatrixErrorException
-
computePerformanceMeasures
Computes the throughput and mean queue length performance measures from which all other performance measures can be derived.- Specified by:
computePerformanceMeasuresin interfaceQNSolverInterface- Overrides:
computePerformanceMeasuresin classQNSolver- Throws:
InternalErrorException- Thrown when any computation fails
-