LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
sdroute_twoclasses_closed.m
1clear node jobclass solver AvgTable
2
3model = Network('model');
4
5node{1} = Delay(model, 'Delay');
6node{2} = Queue(model, 'Queue1', SchedStrategy.PS);
7node{3} = Queue(model, 'Queue2', SchedStrategy.FCFS);
8
9jobclass{1} = ClosedClass(model, 'Class1', 1, node{1}, 0);
10jobclass{2} = ClosedClass(model, 'Class2', 2, node{1}, 0);
11
12% renewal
13map21 = APH([1,0],[-2,2; 0,-0.5]);
14map22 = PH(1,-1);
15% non-renewal
16map31 = MAP([-20,0; 0,-1],[0,20;0.8,0.2]);
17map32 = MAP([-4, 3; 4, -6],[1,0;0,2]);
18%map32 = MMPP2(1,2,3,4).toMAP();
19
20node{1}.setService(jobclass{1}, HyperExp.fitMeanAndSCV(1,25));
21node{2}.setService(jobclass{1}, map21);
22node{3}.setService(jobclass{1}, map31);
23
24node{1}.setService(jobclass{2}, HyperExp.fitMeanAndSCV(1,25));
25node{2}.setService(jobclass{2}, map22);
26node{3}.setService(jobclass{2}, map32);
27
28model.addLink(node{1}, node{1});
29model.addLink(node{1}, node{2});
30model.addLink(node{1}, node{3});
31model.addLink(node{2}, node{1});
32model.addLink(node{3}, node{1});
33
34node{1}.setRouting(jobclass{1},RoutingStrategy.RROBIN);
35node{2}.setProbRouting(jobclass{1}, node{1}, 1.0)
36node{3}.setProbRouting(jobclass{1}, node{1}, 1.0)
37
38node{1}.setRouting(jobclass{2},RoutingStrategy.RROBIN);
39node{2}.setProbRouting(jobclass{2}, node{1}, 1.0)
40node{3}.setProbRouting(jobclass{2}, node{1}, 1.0)
41
42solver={};
43solver{end+1} = CTMC(model,'keep',false);
44solver{end+1} = JMT(model,'samples',1e5,'seed',23000);
45solver{end+1} = SSA(model,'verbose',true,'samples',5e3,'seed',23000);
46
47AvgTable = {};
48for s=1:length(solver)
49 fprintf(1,'SOLVER: %s\n',solver{s}.getName());
50 AvgTable{s} = solver{s}.getAvgTable();
51 AvgTable{s}
52end