LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
cqn_scheduling_dps.m
1clear node jobclass1
2
3model = Network('model');
4
5node1 = Delay(model, 'Delay');
6node2 = Queue(model, 'Queue1', SchedStrategy.PS);
7node3 = Queue(model, 'Queue2', SchedStrategy.DPS);
8
9jobclass1 = ClosedClass(model, 'Class1', 2, node1, 0);
10jobclass2 = ClosedClass(model, 'Class2', 1, node1, 0);
11
12node1.setService(jobclass1, Exp(3));
13node1.setService(jobclass2, Exp(0.5));
14
15% this weight assigment is ignored since the node is PS
16w1 = 5; node2.setService(jobclass1, Exp(0.1), w1);
17w2 = 1; node2.setService(jobclass2, Exp(1), w2);
18
19% this is not ignored since the node is DPS
20w1 = 1; node3.setService(jobclass1, Exp(0.1), w1);
21w2 = 5; node3.setService(jobclass2, Exp(1), w2);
22
23P = model.initRoutingMatrix();
24
25P.set(jobclass1, jobclass1, node1, node2, 0.300000); % (Delay,Class1) -> (Queue1,Class1)
26P.set(jobclass1, jobclass1, node1, node3, 0.700000); % (Delay,Class1) -> (Queue2,Class1)
27P.set(jobclass1, jobclass1, node2, node1, 1.000000); % (Queue1,Class1) -> (Delay,Class1)
28P.set(jobclass1, jobclass1, node3, node1, 1.000000); % (Queue2,Class1) -> (Delay,Class1)
29
30P.set(jobclass2, jobclass2, node1, node2, 0.700000); % (Delay,Class2) -> (Queue1,Class2)
31P.set(jobclass2, jobclass2, node1, node3, 0.300000); % (Delay,Class2) -> (Queue2,Class2)
32P.set(jobclass2, jobclass2, node2, node1, 1.000000); % (Queue1,Class2) -> (Delay,Class2)
33P.set(jobclass2, jobclass2, node3, node1, 1.000000); % (Queue2,Class2) -> (Delay,Class2)
34
35model.link(P);
36
37% This part illustrates the execution of different solvers
38
39solver={};
40options = Solver.defaultOptions;
41options.verbose=1;
42options.samples=1e4;
43options.seed = 23000;
44solver{end+1} = CTMC(model,options);
45solver{end+1} = JMT(model,options);
46solver{end+1} = FLD(model,options);
47solver{end+1} = MVA(model,options);
48solver{end+1} = DES(model,options);
49for s=1:length(solver)
50 fprintf(1,'SOLVER: %s\n',solver{s}.getName());
51 AvgTable{s} = solver{s}.getAvgTable();
52 AvgTable{s}
53end