Structured Markov chains solver: tool extension

Similar documents
The MATLAB toolbox SMCSolver for matrix-analytic methods

Matrix analytic methods. Lecture 1: Structured Markov chains and their stationary distribution

Modelling Complex Queuing Situations with Markov Processes

CHUN-HUA GUO. Key words. matrix equations, minimal nonnegative solution, Markov chains, cyclic reduction, iterative methods, convergence rate

Multi Stage Queuing Model in Level Dependent Quasi Birth Death Process

Simultaneous Transient Analysis of QBD Markov Chains for all Initial Configurations using a Level Based Recursion

Overload Analysis of the PH/PH/1/K Queue and the Queue of M/G/1/K Type with Very Large K

Advanced Queueing Theory

Censoring Technique in Studying Block-Structured Markov Chains

A FAST MATRIX-ANALYTIC APPROXIMATION FOR THE TWO CLASS GI/G/1 NON-PREEMPTIVE PRIORITY QUEUE

Analysis of generalized QBD queues with matrix-geometrically distributed batch arrivals and services

Examples of Countable State Markov Chains Thursday, October 16, :12 PM

An M/M/1 Queue in Random Environment with Disasters

QBD Markov Chains on Binomial-Like Trees and its Application to Multilevel Feedback Queues

Matrix Analytic Methods for Stochastic Fluid Flows

Cover Page. The handle holds various files of this Leiden University dissertation

Departure Processes of a Tandem Network

Risoluzione di equazioni matriciali con matrici infinite quasi-toeplitz

N.G.Bean, D.A.Green and P.G.Taylor. University of Adelaide. Adelaide. Abstract. process of an MMPP/M/1 queue is not a MAP unless the queue is a

HEAVY-TRAFFIC EXTREME-VALUE LIMITS FOR QUEUES

Readings: Finish Section 5.2

Queueing Theory I Summary! Little s Law! Queueing System Notation! Stationary Analysis of Elementary Queueing Systems " M/M/1 " M/M/m " M/M/1/K "

Stability and Rare Events in Stochastic Models Sergey Foss Heriot-Watt University, Edinburgh and Institute of Mathematics, Novosibirsk

Solving Nonlinear Matrix Equation in Credit Risk. by Using Iterative Methods

A TANDEM QUEUE WITH SERVER SLOW-DOWN AND BLOCKING

Finite queues at the limit of saturation

STEADY-STATE PROBABILITIES FOR SOME QUEUEING SYSTEMS: Part II

Statistics 150: Spring 2007

Session-Based Queueing Systems

Contents Preface The Exponential Distribution and the Poisson Process Introduction to Renewal Theory

A fast algorithm of two-level banded Toeplitz systems of linear equations with application to image restoration

Characterizing the BMAP/MAP/1 Departure Process via the ETAQA Truncation 1

CS 798: Homework Assignment 3 (Queueing Theory)

A Note on the Recursive Calculation of Incomplete Gamma Functions

IEOR 6711: Stochastic Models I Professor Whitt, Thursday, November 29, Weirdness in CTMC s

LIMITS FOR QUEUES AS THE WAITING ROOM GROWS. Bell Communications Research AT&T Bell Laboratories Red Bank, NJ Murray Hill, NJ 07974

Cyclic reduction and index reduction/shifting for a second-order probabilistic problem

A Queueing Model for Sleep as a Vacation

GI/M/1 and GI/M/m queuing systems

arxiv:math/ v1 [math.pr] 24 Mar 2005

Markov Chains. X(t) is a Markov Process if, for arbitrary times t 1 < t 2 <... < t k < t k+1. If X(t) is discrete-valued. If X(t) is continuous-valued

Positive systems in the behavioral approach: main issues and recent results

Stochastic process. X, a series of random variables indexed by t

Statistics 433 Practice Final Exam: Cover Sheet and Marking Sheet

The Transition Probability Function P ij (t)

Recap. Probability, stochastic processes, Markov chains. ELEC-C7210 Modeling and analysis of communication networks

A Joining Shortest Queue with MAP Inputs

Improved Newton s method with exact line searches to solve quadratic matrix equation

c 2005 Society for Industrial and Applied Mathematics

IEOR 6711, HMWK 5, Professor Sigman

Total Ordering on Subgroups and Cosets

A fast Newton s iteration for M/G/1-type and GI/M/1-type Markov chains

Cover Page. The handle holds various files of this Leiden University dissertation

Stochastic Processes

DES and RES Processes and their Explicit Solutions

Irreducibility. Irreducible. every state can be reached from every other state For any i,j, exist an m 0, such that. Absorbing state: p jj =1

ON SOME BASIC PROPERTIES OF THE INHOMOGENEOUS QUASI-BIRTH-AND-DEATH PROCESS

A policy iteration algorithm for Markov decision processes skip-free in one direction

A Heterogeneous Two-Server Queueing System with Balking and Server Breakdowns

M/M/1 Retrial Queueing System with Negative. Arrival under Erlang-K Service by Matrix. Geometric Method

1 Continuous-time chains, finite state space

The Distribution of Mixing Times in Markov Chains

Part I Stochastic variables and Markov chains

SIMILAR MARKOV CHAINS

Multiphysics Modeling

Stability of the two queue system

Preface to Second Edition... vii. Preface to First Edition...

Lecture 7: Simulation of Markov Processes. Pasi Lassila Department of Communications and Networking

On a root-finding approach to the polynomial eigenvalue problem

An Introduction to Stochastic Modeling

Stability Analysis of Predator- Prey Models via the Liapunov Method

Integer Least Squares: Sphere Decoding and the LLL Algorithm

Performance Evaluation of Queuing Systems

On Stability and Sojourn Time of Peer-to-Peer Queuing Systems

57:022 Principles of Design II Final Exam Solutions - Spring 1997

PERTURBATION ANALYSIS FOR DENUMERABLE MARKOV CHAINS WITH APPLICATION TO QUEUEING MODELS

M.Sc. (MATHEMATICS WITH APPLICATIONS IN COMPUTER SCIENCE) M.Sc. (MACS)

Chapter 4 Markov Chains at Equilibrium

QUEUING SYSTEM. Yetunde Folajimi, PhD

Algorithm 853: an Efficient Algorithm for Solving Rank-Deficient Least Squares Problems

MARKOV PROCESSES. Valerio Di Valerio

Introduction to Queuing Networks Solutions to Problem Sheet 3

A GENERALIZED MARKOVIAN QUEUE TO MODEL AN OPTICAL PACKET SWITCHING MULTIPLEXER

Departure processes from MAP/PH/1 queues

Queueing systems. Renato Lo Cigno. Simulation and Performance Evaluation Queueing systems - Renato Lo Cigno 1

Birth-death chain models (countable state)

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems

Discriminatory Processor Sharing Queues and the DREB Method

On the Class of Quasi-Skip Free Processes: Stability & Explicit solutions when successively lumpable

Comparison of two output models for the BMAP/MAP/1 departure process

Copyright 1963, by the author(s). All rights reserved.

Non-homogeneous random walks on a semi-infinite strip

Maximum Achievable Gain of a Two Port Network

Irregular Birth-Death process: stationarity and quasi-stationarity

Name of the Student:

Analysis of fluid queues in saturation with additive decomposition

DELFT UNIVERSITY OF TECHNOLOGY

Adaptive Online Gradient Descent

Analytic Modeling of Load Balancing Policies for Tasks with Heavy-tailed Distributions

Updating PageRank. Amy Langville Carl Meyer

Transcription:

Structured Markov chains solver: tool extension D. A. Bini, B. Meini, S. Steffé Dipartimento di Matematica Università di Pisa, Pisa, Italy bini, meini, steffe @dm.unipi.it B. Van Houdt Department of Mathematics and Computer Science University of Antwerp, Antwerpen, Belgium benny.vanhoudt@ua.ac.be ABSTRACT We expand and update the software tool SMCSolver, presented at the SMCTools workshop in, for the numerical solution of structured Markov chains encountered in queuing models. In particular the new version of the package implements different transformation techniques and different shift strategies which are combined in order to speed up and optimize the solution of structured Markov chains. Numerical experiments show the effectiveness of the new implemented techniques.. INTRODUCTION In the papers [], [] the authors have collected the most efficient algorithms for solving structured Markov chains encountered in queueing models, and implemented it in the software package SMCSolver. This software, in the form of a Matlab toolbox and in a Fortran 9 package with a graphical user interface, solves M/G/ and GI/M/-type Markov chains, QBD processes and more. For the analysis and the algorithmic treatment of this kind of problems we refer to the books [], [], [], []. The spirit of the two papers [], [] was to provide a powerful tool for the practitioners who have difficulties to get through in very advanced and complex algorithmic techniques, and for the theoretical researchers who wish to have an easy tool for carrying out numerical experiments, in order to design new algorithmic advances. This software tool has shown to be very effective in many practical situations. However, despite the sophisticated techniques and the advanced algorithms, there are situations in which some unexpected slowdown is encountered. This occurs especially when the techniques of evaluation-interpolation are applied with the algorithm of cyclic reduction for transient M/G/-type Markov chains. In fact, in these problems the number of interpolation points grows excessively large and deteriorates the overall performance of the algorithm. In our present contribution, we describe and implement some recent techniques which enable one to improve the ef- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SMCTOOLS 9, October 9, 9 - Pisa, Italy Copyright 9 ACM ICST 98-9-999--//...$.. ficiency of our package. More specifically, we implement the Bright transformation introduced in [] and analyzed in [], which maps a transient M/G/-type Markov chain into a positive recurrent GI/M/-type Markov chain, and conversely. In this way, the user may apply the Bright transformation or the Ramaswami transformation, both implemented in the package, or combine them. According to the positive recurrence properties or the kind of Markov chain, one can choose and combine these transformations in order to arrive at a more easily solvable problem. The shift technique, introduced in the package SMCSolver in order to accelerate convergence, has been expanded with two new types of shifting, providing extra options for the user which improve the performance of our software. The paper is organized as follows. In Section we recall the basic definitions; in Section we describe the Bright and the Ramaswami transformation, while the shift techniques are reported in Section. Section discusses the acceleration of algorithms obtained by combining the new features of our tools. Implementation details are reported in Section together with numerical results.. STRUCTURED MARKOV CHAINS We recall that M/G/-type Markov chains are defined by the transition matrix P = B B B B... A A A A... A A A... A A........., where A i, for i, and B i, for i, are nonnegative matrices in R m m such that P + Ai, P + i= Bi, are stochastic. Throughout we assume A = P + Ai irreducible. The drift of an M/G/-type Markov chain is defined by µ = α T a, where α is the stationary probability vector of A and a = P + iaie, e = (,,..., )T. We recall that a Markov chain is recurrent iff µ, positive recurrent iff µ < and b = P + i= ibie <, transient iff µ >, null recurrent iff either µ = or µ < and P + ibie =. Our package computes the minimal nonnegative solution G of the matrix equation G = A ig i+. ()

If the Markov chain is positive recurrent, G allows one to compute the invariant probability vector π of the chain. A GI/M/-type Markov chains is defined by the transition matrix B A B A A B A A A P =. B A A A............ A i., where A i, i, and B i, i are nonnegative matrices in R m m such that P n A i + B n is stochastic for all n. If A = P + is not stochastic, then the Markov chain is positive recurrent. If A is stochastic then the Markov chain is positive recurrent if δ <, null recurrent if δ =, and transient if δ >, where δ = α T a, α is such that α T A = α T, α T e =, and a = P + ia ie. Our package computes the minimal nonnegative solution R of the matrix equation R = R i+ A i. () If the Markov chain is positive recurrent, then the knowledge of R allows one to compute the invariant probability vector of the chain.. TRANSFORMATIONS Here we recall the Ramaswami and the Bright transformations between M/G/-type and GI/M/-type, positive recurrent and transient Markov chains. Assume that we are given a GI/M/-type Markov chain where the matrix A = P + A i is irreducible and stochastic. The connection between this GI/M/-type Markov chain and its duals is extremely simple [], [], [], [].. Ramaswami dual Define D = diag(α), where α is the strictly positive stationary probability vector of A, and set ea i = D A T id, i =,,,.... The Ramaswami dual [] of the original GI/M/-type Markov chain is the M/G/-type Markov chain, with homogeneous part defined by the blocks e A i. Now, the minimal nonnegative solution R of () is R = D e G T D, where e G is the minimal nonnegative solution of X = ea ix i+. () A consequence of this property is that, to determine R for a positive recurrent GI/M/-type Markov chain is equivalent to determining G for a transient M/G/-type Markov chain. Conversely, to determine R for a null recurrent or transient GI/M/-type Markov chain is equivalent to determining G for a recurrent M/G/-type Markov chain.. Bright dual The Bright dual [] of the GI/M/-type Markov is an M/G/-type Markov chain with homogeneous part characterized by the matrices ea i = τ i A T i, i =,,,.... Here = diag(w), where w is the positive stochastic left eigenvector of A(τ) corresponding to the eigenvalue τ, and A(z) = P + zi+ A i. The scalar τ depends on whether the GI/M/-type Markov chain is positive recurrent or transient. In the positive recurrent case we have τ = ρ(r) < where ρ(r) is the spectral radius of R, while in the transient case τ > is the smallest zero of det(zi A(z)) outside the unit circle. In both cases, τ can be obtained using a simple bisection algorithm, without the need to determine R first. The G matrix of the Bright dual satisfies the following relation with the R matrix of the original GI/M/-type Markov chain: R = τ e G T. This relation enables us to obtain R from the G matrix of its dual. Therefore, determining R for a positive recurrent GI/M/-type Markov chain is equivalent to determining G for a positive recurrent M/G/-type Markov chain. Conversely, determining R for transient GI/M/-type Markov chain is equivalent to determining G for a transient M/G/- type Markov chain.. SHIFT TECHNIQUES FOR M/G/-TYPE MARKOV CHAINS For the sake of simplicity, assume that A i = for i > M. The basic shift, already implemented in [], consists in setting ea = A (I Q), ea i = A i ( P i j= Aj I)Q, i M, where Q = eu T and u is any vector such that e T u =, if the Markov chain is recurrent. If the Markov chain is transient, it consists in setting ea = A ea = A + EA ea i = A i E(I P i j= Aj), i M, where E = uv T, with u being any nonzero vector, and v such that v T ( P M Ai) = vt, v T u =. Moreover, let us introduce the new equation X = MX ea ix i+. () It can be proved (see []) that the solution e G of smallest spectral radius of () is eg = G Q if µ, eg = G if µ >. It has been proved that the roots of the polynomials ea(z) = det(zi P M zi+ Ai), e and a(z) = det(zi P M zi+ A i), are the same except for the root z = of a(z) which is shifted to zero or to the infinity for ea(z) according to the recurrent or transient nature of the chain under consideration.

This tiny difference on the roots of a(z) and ea(z) makes a great difference in the convergence speed of the algorithms for the solution of matrix equations if applied to () or to (). In fact, iterative methods converge faster if applied to equation (). More precisely, denoting by λ i, i =,,..., the roots of a(z) ordered such that λ i λ i+, and ξ = λ m, η = λ m+, one finds that ξ η. Furthermore, if µ = then ξ = η =, if µ < then ξ = < η and if µ > then ξ < < η =. The convergence speed of certain algorithms like cyclic reduction (CR) and logarithmic reduction (LR) or fixed point iterations, depends on the ratio ξ/η. The smaller is this ratio the faster is the convergence. In the positive recurrent case, the roots λ e i of ea(z) are given by λ e i = λ i, for i =,..., m +, λ e =, λ e i = λ i, for i > m +. Therefore the ratio ξ/eη e turns out to be λ m /η < ξ/η. The most effective case is the null-recurrent case where ξ = η =. After shifting the problem one finds that the ratio ξ/eη e <. The basic shift enables one to move the root either to zero or to infinity according to the recurrent or transient nature of the chain. In the new version of SMCSolver, we introduce a more general shift which consists in moving either ξ to zero or η to infinity or both. This may lead to a further speed up of the algorithm. For more details on this shift technique we refer the reader to [8], [], [], [].. ACCELERATION OF ALGORITHMS Dual transformations and the shift techniques together with their combinations, enable one to improve the efficiency of the known algorithms implemented in SMCSolver. In particular, as pointed out in [], the cyclic reduction algorithm implemented with the strategy of evaluation-interpolation at the roots of unity may dramatically reduce the computational cost due to the very low number of knots that are needed to approximate the solution. Here we mostly report the comments of [] and complement them with further remarks. The algorithm CR applied to M/G/ Markov chains generates a sequence of matrix power series which can be approximated with high precision by means of the evaluationinterpolation technique. More details can be found in [], []. Given a matrix power series F (z) = P + i= zi F i define the matrix power series F even(z) = (F ( z) + F ( z)) = i= z i F i, F odd (z) = z (F ( z) F ( z)) = z i F i+. Let A () (z) = P + zi+ A i, A b () (z) = P + i= zi A i. The algorithm CR generates the sequences K (n) (z) = (I A (n) odd (z)), i= A (n+) (z) = za (n) odd (z) + A(n) even(z)k (n) (z)a even(z), (n) ba (n+) (z) = A b even(z) (n) + A b(n) odd (z)k(n) (z)a even(z). (n) () It is possible to show that the sequence G n = (I b A (n) ()) A () converges to G. Convergence is quadratic if µ, is linear if µ =. The computation of the coefficients of the matrix power series A (n+) (z) and A b(n+) (z) is performed by means of the evaluation-interpolation technique. More specifically, the matrix power series A (n) (z) and A b(n) (z) are computed at the N-th roots of for sufficiently large N, then () are computed point-wise and the values of A (n+) (z) and A b(n+) (z) at the N-th roots of are obtained. Interpolation to these values is used for computing the coefficients of A (n+) (z) and A b(n+) (z). In this process, the number N must be sufficiently large. If A (n+) (z) were a polynomial of degree K then N K + would be enough. If A (n+) (z) is a power series with negligible coefficients for degree greater than K, then it can be approximated by a polynomial. Therefore, in the general case the decay properties of the coefficients of A (n) (z) and A b(n) (z) play a fundamental role. A nice feature of this algorithm is that for positive recurrent Markov chains the matrix power series A (n) (z) quadratically converges to a matrix polynomial A + za. This implies that in practice, the power series A (n) (z) are well approximated by polynomials of low degree. A similar property holds for A b(n) (z). In this way, the number of interpolation points needed during the iteration can be kept small. On the other hand, for transient Markov chains the limit of A (n) (z) is a matrix power series and not a polynomial. This fact implies that a large number of interpolation points may be required by the iteration with a consequent slow down of the algorithm even though convergence still remains quadratic. In the case we are given a transient M/G/-type Markov chain we can transform it into a positive recurrent M/G/- type Markov chain by the Bright dual. This fact enables us to keep low the number of interpolation points for transient Markov chains. For a GI/M/-type Markov chain, if the chain is transient then the Ramaswami dual is a positive recurrent M/G/- type Markov chain, for which CR works fine. If the chain is positive recurrent, then the Ramaswami dual is transient and we may apply the Bright dual to the latter M/G/- type transient Markov chain. In this way we get a positive recurrent M/G/-type Markov chain. Further acceleration of the convergence can be obtained by applying the shift technique of ξ and η. In fact, cyclic reduction can be applied to the shifted equation (). It is interesting to point out that if the shifted problem is such that the function a(z) has no more zeros of modulus then the sequence A (n) (z) generated by CR still converges to a polynomial of degree. In this way the number of interpolation points is kept small. Moreover, the convergence occurs with a higher speed.. IMPLEMENTATION AND NUMERICAL EXPERIMENTS The transformations and the shift techniques introduced in the previous sections have been implemented in the package SMCSolver both in the Matlab version and in the Fortran 9 version.

In the first edition of this tool, the R matrix of a GI/M/- type Markov chain was computed by computing the G matrix of its Ramaswami dual, from which R can be obtained easily. In the current Matlab version of the tool, the user can select one of two duals: the Ramaswami or Bright dual, by setting the Dual parameter to R or B, respectively. Setting the Dual parameter to A (Automatic) causes the software to select the Bright dual for positive recurrent chains and the Ramaswami dual for transient ones as this choice is typically the most efficient (for null recurrent chains, both duals are identical). The shift techniques have been implemented in the following way. A ShiftType option has been introduced. The option may be selected one, tau and dbl ; with the one option the root equal to is shifted to zero, or infinity, according to the recurrent/transient nature of the chain; with the tau option the root η is shifted to infinity in the recurrent case, and the root ξ < is shifted to zero in the transient case; the dbl option combines both the one and the tau shift. In the Fortran 9 package we have inserted a new button Preprocessing in the main window of the GUI. By clicking on this button the user can select the kind of shift ( No Shift, Simple Shift, Tau Shift or Double Shift ), and the kind of dual transformation ( Auto Dual, Ramaswami Dual, Bright Dual, Both Duals ) with the same behavior as in the Matlab version. These new features are shown in Figure. The numerical experiments reported in this section are based on the GI/M/-type Markov chain discussed in [9] to compute the waiting time and queue length distribution in a discrete-time multitype queueing system with Markovian arrivals, phase-type services and correlated customer types, i.e., the SM[K]/PH[K]/ queue. The arrival process considered has m = states and the interarrival time in state i is uniformly distributed between and U i, with U =, U = and U =. At each arrival instant the state changes from i to i mod + with probability /s i, with s = x, s = x and s = 8x. Thus, as x increases the arrival process becomes more correlated. We will consider both x = and x =. We consider three types of customers. A customer generated in phase i is of type i with probability / and of type j i with probability /, meaning while in state i, twice as many type i customers are generated on average, than type j i customers. The service time of a type i customer has an discrete Erlang distribution with k i phases and parameter p i, meaning its mean service time is k i/p i. We set p = /, p = / and p = /, while k = + y, k = + y and k = + y, with y = or. Having y = results in an overall load of.9 (medium load), while y = gives a load of.89 (high load). This results in a GI/M/-type Markov chain with nonzero blocks A to A, each of size (for y = ) or (for y = ). Figure depicts the number of roots required per iteration to compute the R matrix of the GI/M/-type Markov chain, by taking the dual M/G/-type Markov chain and running the cyclic reduction algorithm with or without shifting. Four combinations are considered: the Bright or Ramaswami dual and no shift or the double shift. The two other types of shifting were by far inferior to the double shift as they required many more roots per iteration, therefore they are not included in the figure. For each of these four combinations, we consider a medium (y = ) and high (y = ) load scenario in combination with low (x = ) and high (x = ) correlation. Apart from depicting a bar per iteration that reflects the number of roots required, we also added an estimate (instead of a machine dependent measurement) for the number of flops needed to perform a single FFT of the required size for each iteration (above the bars), where we estimated the number of flops of a size N FFT as /N log N (the exact number depends on the FFT-variant selected and requires at least N log N multiplications). Thus, the ratio between two such numbers indicates how much faster/slower the computation will be. When we compare the Bright and Ramaswami dual without shifting, we find that the Bright dual performs up to times faster. The lower the load or correlation gets, the bigger the gain. This is as expected, as higher loads and stronger correlation implies that the dominant eigenvalue η of R approaches one, which determines the speed at which the number of required roots decreases for the Bright dual. For the high load and correlation case in Figure (d) we find η =.9998, meaning it takes many iterations before a gain is achieved by the Bright dual. For the medium load and low correlation scenario in Figure (a) the dominant eigenvalue η still equals.9, which explains why we only gain a factor. For instance, setting y = would result in a load of. and for x = the dominant eigenvalue η would decrease to.8, resulting in an improvement of a factor.8. For even smaller values of η improvements of a factor or more can be achieved (see []). Figure indicates that the shift operation reduces the number of iterations most notably for the high load scenarios (in Figure (c) from to 9 iterations, in Figure (d) from to ). However, more roots are sometimes required during the first few iterations, meaning the overall performance is only better in the high load scenario. For the double shift, the gain achieved by the Bright dual is far less pronounced, as the double shift typically also induces a reduction in the number of roots required per iteration for the Ramaswami dual (though the rate is /η times as slow, see []). For the high load and correlation scenario, we find an identical performance, which is not that remarkable as η =.9998, meaning the rate at which the number of roots decreases is nearly identical. Although not shown in Figure, the two other types of shifting are inferior to the no shift even for the high load scenario, due to the (much) higher number of roots required during each iteration.. CONCLUSIONS In this paper we presented an extension of the software package SMCSolver both in the Matlab and in the Fortran 9 versions. This extension includes a preprocessing of the original problem based on a more general shift technique and on some dual transformations. The Matlab version of the software is available at ftp://ftp.win.ua.ac.be/pub/pats/tools; the Fortran 9 version with the GUI is available at http://bezout.dm.unipi.it/smcsolver. 8. REFERENCES [] D. A. Bini, L. Gemignani, and B. Meini. Solving certain matrix equations by means of Toeplitz computations: algorithms and applications. In Fast

8 88 98 8 9 log log (a) Low correlation (x = ), medium load (y = ) (b) High correlation (x = ), medium load (y = ) 8 9 988 8 8 8 log log (c) Low correlation (x = ), high load (y = ) (d) High correlation (x = ), high load (y = ) Figure : Number of roots required per iteration during the computation of the R matrix using the cyclic reduction algorithm algorithms for structured matrices: theory and applications (South Hadley, MA, ), volume of Contemp. Math., pages. Amer. Math. Soc., Providence, RI,. [] D. A. Bini, G. Latouche, and B. Meini. Numerical methods for structured Markov chains. Numerical Mathematics and Scientific Computation. Oxford University Press, New York,. Oxford Science Publications. [] D. A. Bini and B. Meini. The cyclic reduction algorithm: from Poisson equation to stochastic processes and beyond. Numerical Algorithms, :, 9. [] D. A. Bini, B. Meini, and V. Ramaswami. A probabilistic interpretation of cyclic reduction and its relationships with logarithmic reduction. Calcolo, ():, 8. [] D. A. Bini, B. Meini, S. Steffé, and B. Van Houdt. Structured Markov chains solver: algorithms. Proceedings of SMCTOOLS, Pisa,. [] D. A. Bini, B. Meini, S. Steffé, and B. Van Houdt. Structured Markov chains solver: software tools. Proceedings of SMCTOOLS, Pisa,. [] L. Bright. Matrix-Analytic Methods in Applied Probability. PhD thesis, University of Adelaide, 99. [8] C. He, B. Meini, and N. H. Rhee. A shifted cyclic reduction algorithm for quasi-birth-death problems. SIAM J. Matrix Anal. Appl., (): 9 (electronic), /. [9] Q. He. Age process, workload process, sojourn times, and waiting times in a discrete-time SM[K]/PH[K]//FCFS queue. Queueing Systems, 9:,. [] G. Latouche and V. Ramaswami. Introduction to matrix analytic methods in stochastic modeling. ASA-SIAM Series on Statistics and Applied Probability. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 999. [] M. F. Neuts. Matrix-geometric solutions in stochastic models, volume of Johns Hopkins Series in the Mathematical Sciences. Johns Hopkins University Press, Baltimore, Md., 98. An algorithmic approach. [] M. F. Neuts. Structured stochastic matrices of M/G/ type and their applications, volume of Probability: Pure and Applied. Marcel Dekker Inc., New York, 989.

Figure : Examples from the GUI: main menu with submenus Preprocessing, Algorithms and Goals

[] V. Ramaswami. A duality theorem for the matrix paradigms in queueing theory. Stochastic Models, :, 99. [] P. G. Taylor and B. Van Houdt. On the dual relationship between Markov chains of GI/M/ and M/G/ type. 9. Submitted.