Class RECALSolver
java.lang.Object
solvers.queueingnet.QNSolver
solvers.queueingnet.RecursiveSolver
solvers.queueingnet.RECALSolver
- All Implemented Interfaces:
QNSolverInterface
This class implements the RECALSolver object, which computes the normalising
constant for a network using the RECAL algorithm. A recursive approach is
used.
- Author:
- Michail Makaronidis, 2010
-
Field Summary
Fields inherited from class RecursiveSolver
factorial, GmapFields inherited from class QNSolver
G, memUsage, qnm, totalTimer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected BigRationalComputes any normalising constant using a simple recursion and taking advantage of any already computed and stored value.voidComputes the normalising constant for the specified QNModel.voidPrints a short welcome message that says which solver is used.Methods inherited from class RecursiveSolver
computePerformanceMeasures, findG, initialConditionFor, recallG, storeG, storeGMethods inherited from class QNSolver
getNormalisingConstant, printMemUsage, printTimeStatistics
-
Constructor Details
-
RECALSolver
Creates and initialises a RECALSolver object.- Parameters:
qnm- The QNModel object that we are working on- Throws:
InternalErrorException- Thrown when the solver cannot be initialised
-
-
Method Details
-
compute
protected BigRational compute(MultiplicitiesVector m, PopulationVector p) throws InternalErrorException Computes any normalising constant using a simple recursion and taking advantage of any already computed and stored value.- Overrides:
computein classRecursiveSolver- Parameters:
m- The MultiplicitiesVectorp- The PopulationVector- Returns:
- The normalising constant as a BigRational object
- Throws:
InternalErrorException- An exception is thrown if any internal error is encountered during computations.
-
printWelcome
public void printWelcome()Prints a short welcome message that says which solver is used.- Specified by:
printWelcomein interfaceQNSolverInterface- Overrides:
printWelcomein classQNSolver
-
computeNormalisingConstant
Computes the normalising constant for the specified QNModel.- Specified by:
computeNormalisingConstantin interfaceQNSolverInterface- Overrides:
computeNormalisingConstantin classQNSolver- Throws:
InternalErrorException- An exception is thrown if any internal error is encountered during computations.
-