High-level function for analyzing QN models.
INPUTS
N
N(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.
lambda
lambda(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.
Z
External 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