MAMSolver provides solutions for both continuous and discrete time Markov chains of QBD, GI/M/1 and M/G/1-types. The solution of these type of processes using the matrix-analytic methodology is characterized by matrix-based operations. The two most important matrices computed are R for QBD and GI/M/1-type processes and G for QBD and M/G/1-type processes.
These two important matrices in MAMSolver are computed using both classic and the most recent efficient algorithms. For example the matrix G and R for QBD processes are computed using the logarithmic reduction algorithm, while the matrix G for M/G/1-type processes is computed using the cyclic-reduction algorithm.
Now there are two versions of the MAMSolver written in different languages: (1), the C++ version; (2), the Matlab version. The input for C++ version MAMSolver is a text file which consists of the matrices of the infinitesimal generator. The input for Matlab version are matrices that describe the transition rates/probabilities for a Markov process. Check the example page for more details.
The Matlab version of the MAMSolver implements the ETAQA algorithm to solve the probabilities and moments of queue lengths. To use the Matlab version of MAMSolver's algorithm, one has to have G, R matrix ready which can be computed also by Matlab scripts provided in the website of Prof. dr. Benny Van Houdt
The output from Matlab version MAMSolver include the arregated probabilities of the Markov Chain and moments of queue length as specified in the input parameters. The output from C++ version MAMSolver consists of:
- system load measured using the drift condition and caudal charateristic (file "drift -conditions")
- matrix G (file "G-matrix")
- matrix R (file "R-matrix")
- stationary probability distribution (file "probability")
- queue length distribution (file "QL-dist")
- average queue length (file "QL-length")
This work has been supported by National Science Foundation under grants ITR-0428330, CNS-0720699, EIA-9974992, CCR-0098278, and ACI-0090221.