LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
cqn_bcmp_theorem.m
1clear node jobclass solver AvgTable;
2% comparison of product-form scheduling policies
3c=1;
4psmodel = Network('PS scheduling model');
5
6node{1} = Delay(psmodel, 'Delay');
7node{2} = Queue(psmodel, 'Queue1', SchedStrategy.PS);
8node{2}.setNumberOfServers(c);
9
10jobclass{1} = ClosedClass(psmodel, 'Class1', 2, node{1}, 0);
11jobclass{2} = ClosedClass(psmodel, 'Class2', 2, node{1}, 0);
12
13node{1}.setService(jobclass{1}, Erlang(3,2));
14node{1}.setService(jobclass{2}, HyperExp(0.5,3.0,10.0));
15
16node{2}.setService(jobclass{1}, Exp(1));
17node{2}.setService(jobclass{2}, Exp(1));
18
19P = psmodel.initRoutingMatrix;
20P{1} = Network.serialRouting(node);
21P{2} = Network.serialRouting(node);
22psmodel.link(P);
23%%
24fcfsmodel = Network('FCFS scheduling model');
25
26node{1} = Delay(fcfsmodel, 'Delay');
27node{2} = Queue(fcfsmodel, 'Queue1', SchedStrategy.FCFS);
28node{2}.setNumberOfServers(c);
29
30jobclass{1} = ClosedClass(fcfsmodel, 'Class1', 2, node{1}, 0);
31jobclass{2} = ClosedClass(fcfsmodel, 'Class2', 2, node{1}, 0);
32
33node{1}.setService(jobclass{1}, Erlang(3,2));
34node{1}.setService(jobclass{2}, HyperExp(0.5,3.0,10.0));
35
36node{2}.setService(jobclass{1}, Exp(1));
37node{2}.setService(jobclass{2}, Exp(1));
38
39P = fcfsmodel.initRoutingMatrix;
40P{1} = Network.serialRouting(node);
41P{2} = Network.serialRouting(node);
42fcfsmodel.link(P);
43%%
44lcfsprmodel = Network('LCFS-PR scheduling model');
45
46node{1} = Delay(lcfsprmodel, 'Delay');
47node{2} = Queue(lcfsprmodel, 'Queue1', SchedStrategy.LCFSPR);
48node{2}.setNumberOfServers(c);
49
50jobclass{1} = ClosedClass(lcfsprmodel, 'Class1', 2, node{1}, 0);
51jobclass{2} = ClosedClass(lcfsprmodel, 'Class2', 2, node{1}, 0);
52
53node{1}.setService(jobclass{1}, Erlang(3,2));
54node{1}.setService(jobclass{2}, HyperExp(0.5,3.0,10.0));
55
56node{2}.setService(jobclass{1}, Exp(1));
57node{2}.setService(jobclass{2}, Exp(1));
58
59P = lcfsprmodel.initRoutingMatrix;
60P{1} = Network.serialRouting(node);
61P{2} = Network.serialRouting(node);
62lcfsprmodel.link(P);
63%%
64% This part illustrates the execution of different solvers
65solver = {};
66solver{end+1} = CTMC(psmodel);
67solver{end+1} = CTMC(fcfsmodel);
68solver{end+1} = CTMC(lcfsprmodel);
69for s=1:length(solver)
70 fprintf(1,'MODEL: %s\n',solver{s}.model.getName());
71 AvgTable{s} = solver{s}.getAvgTable();
72 AvgTable{s}
73end
74