qnsolve
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
.
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 overall arrival rate.
QQ{i}
List of queues in the network. This must be a cell array
with 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 is a FCFS node, then U(k)
is the utilization
of service center . If is an IS node, then
U(k)
is the defined as
X(k)*S(k)
.
R(k)
average response time of service center .
Q(k)
average number of customers in service center .
X(k)
throughput of service center .
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.
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 ); |