# copyright Barry L. Nelson and Michael R. Taaffe 2000 with(linalg): PhPhInfMCNNumeric := proc(A, lambda, R, B, mu, K, Pr) # # this procedure returns a numerical procedure for evaluating # the first and second moment differential # equations for a [Ph_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 7/28/00 # # Inputs: # A = Markov chain transition matrix for the arrival process # [vector of matrices 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 # local r, deq, initial, temp; if R = 1 then RETURN(PhPhInfNetNumeric(A, lambda, B, mu, K, Pr)); else deq := vector(R); temp := PhPhInfNetNumeric(A[1], lambda[1], B, mu, K, Pr[1]); deq[1] := temp; for r from 2 to R do temp := PhPhInfNetNumeric(A[r], lambda[r], B, mu, K, Pr[r]); deq[r] := temp; od; RETURN(deq); fi; end;