High-level function for analyzing QN models.
INPUTS
NN(c)Number of requests in the system for closed networks. For
single-class networks, N must be a scalar. For multiclass
networks, N(c) is the population size of closed class
c.
lambdalambda(c)External arrival rate (scalar) for open networks. For single-class
networks, lambda must be a scalar. For multiclass networks,
lambda(c) is the class c overall arrival rate.
QQ{i}List of queues in the network. This must be a cell array
with N elements, such that QQ{i} is
a struct produced by the qnmknode function.
ZExternal delay ("think time") for closed networks. Default 0.
OUTPUTS
U(k)If k is a FCFS node, then U(k) is the utilization
of service center k. If k is an IS node, then
U(k) is the traffic intensity defined as
X(k)*S(k).
R(k)average response time of service center k.
Q(k)average number of customers in service center k.
X(k)throughput of service center k.
Note that for multiclass networks, the computed results are per-class
utilization, response time, number of customers and throughput:
U(c,k), R(c,k), Q(c,k),
X(c,k).
String literals are case-insensitive, so "closed", "Closed" and "CLoSEd" are all equivalent.
The following code
QQ = { qnmknode( "m/m/m-fcfs", [0.2 0.1 0.1; 0.2 0.1 0.1] ), ...
qnmknode( "-/g/1-ps", [0.4; 0.6] ), ...
qnmknode( "-/g/inf", [1; 2] ) };
V = [ 1 0.6 0.4; ...
1 0.3 0.7 ];
N = [ 2 1 ];
[U R Q X] = qnsolve( "closed", N, QQ, V );
gives an example of how 'qnsolve' is used.
Package: queueing