3N = 16; % number of jobs
4c = 2; % number of servers
6model = Network(
'model');
7node{1} = Delay(model,
'Delay');
8node{2} = Queue(model,
'Queue1', SchedStrategy.FCFS);
9jobclass{1} = ClosedClass(model,
'Class1', N, node{1}, 0);
10node{1}.setService(
jobclass{1}, Exp.fitMean(1.0)); % mean = 1
11node{2}.setService(
jobclass{1}, Exp.fitMean(1.5)); % mean = 1.5
12node{2}.setNumberOfServers(c);
14model.link(model.serialRouting(node));
16msT=NC(model).getAvgTable
18%% casted with scaling function that depends on the total queue
19ldmodel = Network(
'model');
20node{1} = Delay(ldmodel,
'Delay');
21node{2} = Queue(ldmodel,
'Queue1', SchedStrategy.FCFS);
22jobclass{1} = ClosedClass(ldmodel,
'Class1', N, node{1}, 0);
23node{1}.setService(
jobclass{1}, Exp.fitMean(1.0)); % mean = 1
24node{2}.setService(
jobclass{1}, Exp.fitMean(1.5)); % mean = 1.5
25node{2}.setLoadDependence(min(1:N,c)); % multi-server with c servers
27ldmodel.link(ldmodel.serialRouting(node));
29lldAvgTableCTMC=CTMC(ldmodel).getAvgTable
31lldAvgTableNC=NC(ldmodel).getAvgTable
32lldAvgTableRD=NC(ldmodel,
'method',
'rd').getAvgTable
33lldAvgTableNRP=NC(ldmodel,
'method',
'nrp').getAvgTable
34lldAvgTableNRL=NC(ldmodel,
'method',
'nrl').getAvgTable
36lldAvgTableMVALD=MVA(ldmodel,
'method',
'exact').getAvgTable
37lldAvgTableQD=MVA(ldmodel,
'method',
'qd').getAvgTable
39lldAvgTableJMT=JMT(ldmodel,
'seed',23000).getAvgTable
41%% casted with scaling function that depends on the per-
class queue population
42cdmodel = Network(
'model');
43node{1} = Delay(cdmodel,
'Delay');
44node{2} = Queue(cdmodel,
'Queue1', SchedStrategy.FCFS);
45jobclass{1} = ClosedClass(cdmodel,
'Class1', N, node{1}, 0);
46node{1}.setService(
jobclass{1}, Exp.fitMean(1.0)); % mean = 1
47node{2}.setService(
jobclass{1}, Exp.fitMean(1.5)); % mean = 1.5
48node{2}.setClassDependence(@(ni) min(sum(ni),c)); % ni
is a vector where ni(r)
is the number of jobs in
class r at station i
50cdmodel.link(cdmodel.serialRouting(node));
52cdAvgTableCTMC=CTMC(cdmodel).getAvgTable
53cdAvgTableCD=MVA(cdmodel,
'method',
'qd').getAvgTable
54cdAvgTableJMT=JMT(cdmodel,
'seed',23000).getAvgTable