# copyright Barry L. Nelson and Michael R. Taaffe 2000 with(linalg): MapPhInfMCNMoments := proc(A, vA, lambda, R, B, mu, K, Pr, nodelist, lower, upper) # # this procedure returns a plot of the mean and variance of # the number in system an at a list of nodes # for a [Map_t/Ph_t/Infinity]^K network with R different arrival processes # # initial conditions for the queue are empty and idle # # this version is designed to work with Maple V release 5 # # last update 1/26/01 # # Inputs: # A = Markov chain transition matrix for the arrival process # [vector of matrices of dimension R] # vA = number of absorbing states in Map representation # [vector of numbers of dimension R] # lambda = arrival rate vector # [vector of vectors of dimension R] # R = number of distinct Ph arrival processes # B = Markov chain transition matrix for the service process # [vector of matrices of dimension K] # mu = service rate vector # [vector of vectors of dimension K] # Pr = Markov routing probabilities # nodelist = list of nodes to be plotted # lower, upper = range of plots local r, deq, initial, temp, mplots; if R = 1 then RETURN(MapPhInfNetMoments(A, vA, lambda, B, mu, K, Pr, nodelist, lower, upper)); else mplots := vector(R); temp := MapPhInfNetMoments(A[1], vA[1], lambda[1], B, mu, K, Pr[1], nodelist, lower, upper); mplots[1] := temp; for r from 2 to R do temp := MapPhInfNetMoments(A[r], vA[r], lambda[r], B, mu, K, Pr[r], nodelist, lower, upper); mplots[r] := temp; od; RETURN(mplots); fi; end;