LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
cqn_twoclass_erl.m
1clear node jobclass solver;
2model = Network('model');
3
4node{1} = ClassSwitch(model,'CS',[0,1;1,0]);
5node{2} = Queue(model, 'Queue1', SchedStrategy.PS);
6node{3} = Queue(model, 'Queue2', SchedStrategy.PS);
7node{4} = Queue(model, 'Delay', SchedStrategy.INF);
8
9jobclass{1} = ClosedClass(model, 'Class1', 15, node{4}, 0);
10jobclass{2} = ClosedClass(model, 'Class2', 5, node{4}, 0);
11
12node{2}.setService(jobclass{1}, Exp.fitMean(1.5)); % mean = 1.5
13node{2}.setService(jobclass{2}, Erlang.fitMeanAndOrder(1.5,2)); % mean = 1.5
14
15node{3}.setService(jobclass{1}, Erlang.fitMeanAndOrder(1.5,2)); % mean = 1.5
16node{3}.setService(jobclass{2}, Exp.fitMean(1.5)); % mean = 1.5
17
18node{4}.setService(jobclass{1}, Exp.fitMean(1.0)); % mean = 1
19node{4}.setService(jobclass{2}, Exp.fitMean(1.0)); % mean = 1
20
21model.addLink(node{2}, node{1});
22model.addLink(node{3}, node{1});
23model.addLink(node{1}, node{4});
24model.addLink(node{4}, node{2});
25model.addLink(node{4}, node{3});
26
27node{1}.setRouting(jobclass{1},RoutingStrategy.RAND);
28node{2}.setRouting(jobclass{1},RoutingStrategy.RAND);
29node{3}.setRouting(jobclass{1},RoutingStrategy.RAND);
30node{4}.setRouting(jobclass{1},RoutingStrategy.RROBIN);
31
32node{1}.setRouting(jobclass{2},RoutingStrategy.RAND);
33node{2}.setRouting(jobclass{2},RoutingStrategy.RAND);
34node{3}.setRouting(jobclass{2},RoutingStrategy.RAND);
35node{4}.setRouting(jobclass{2},RoutingStrategy.WRROBIN,node{2},1);
36node{4}.setRouting(jobclass{2},RoutingStrategy.WRROBIN,node{3},2);
37
38simoptions = Solver.defaultOptions;
39simoptions.verbose = true;
40simoptions.seed = 23000;
41solver = {};
42solver{end+1} = JMT(model, simoptions);
43solver{end+1} = DES(model, simoptions);
44for s=1:length(solver)
45 fprintf(1,'SOLVER: %s\n',solver{s}.getName());
46 AvgTable{s} = solver{s}.getAvgTable();
47 AvgTable{s}
48end