1clear node
jobclass solver AvgTable AvgChainTable AvgSysChainTable;
3model = Network(
'model');
5node{1} = Delay(model,
'Delay');
6node{2} = Queue(model,
'Queue1', SchedStrategy.PS);
7node{2}.setNumberOfServers(2);
9jobclass{1} = ClosedClass(model,
'Class1', 2, node{1}, 0);
10jobclass{2} = ClosedClass(model,
'Class2', 0, node{1}, 0);
11jobclass{3} = ClosedClass(model,
'Class3', 1, node{1}, 0);
13node{1}.setService(
jobclass{1}, Erlang(3,2));
14node{1}.setService(
jobclass{2}, HyperExp(0.5,3.0,10.0));
15node{1}.setService(
jobclass{3}, Exp(1));
17node{2}.setService(
jobclass{1}, HyperExp(0.1,1.0,10.0));
18node{2}.setService(
jobclass{2}, Exp(2));
19node{2}.setService(
jobclass{3}, Exp(3));
21M = model.getNumberOfStations();
22K = model.getNumberOfClasses();
24P = model.initRoutingMatrix;
25P{1,1} = [0.3,0.1; 0.2,0];
26P{1,2} = [0.6,0; 0.8,0];
39% This part illustrates the execution of different solvers
40solver{1} = CTMC(model);
41solver{end+1} = JMT(model,
'seed',23000,
'samples',5e3,
'verbose',
true);
42solver{end+1} = SSA(model,
'seed',23000,
'samples',5e3,
'verbose',
true);
43solver{end+1} = FLD(model);
44solver{end+1} = MVA(model);
45solver{end+1} = NC(model,
'exact');
46solver{end+1} = MAM(model);
47solver{end+1} = LINE(model,
'seed',23000);
48solver{end+1} = DES(model,
'seed',23000,
'samples',5e3,
'verbose',
true);
51 fprintf(1,
'SOLVER: %s\n',solver{s}.getName());
52 AvgTable{s} = solver{s}.getAvgTable();
53 AvgChainTable{s} = solver{s}.getAvgChainTable();
54 AvgSysChainTable{s} = solver{s}.getAvgSysTable();