LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
ld_multiserver_fcfs.m
1clear node jobclass
2
3N = 16; % number of jobs
4c = 2; % number of servers
5
6model = Network('model');
7node{1} = Delay(model, 'Delay');
8node{2} = Queue(model, 'Queue1', SchedStrategy.FCFS);
9jobclass{1} = ClosedClass(model, 'Class1', N, node{1}, 0);
10node{1}.setService(jobclass{1}, Exp.fitMean(1.0)); % mean = 1
11node{2}.setService(jobclass{1}, Exp.fitMean(1.5)); % mean = 1.5
12node{2}.setNumberOfServers(c);
13
14model.link(model.serialRouting(node));
15
16msT=NC(model).getAvgTable
17
18%% casted with scaling function that depends on the total queue
19ldmodel = Network('model');
20node{1} = Delay(ldmodel, 'Delay');
21node{2} = Queue(ldmodel, 'Queue1', SchedStrategy.FCFS);
22jobclass{1} = ClosedClass(ldmodel, 'Class1', N, node{1}, 0);
23node{1}.setService(jobclass{1}, Exp.fitMean(1.0)); % mean = 1
24node{2}.setService(jobclass{1}, Exp.fitMean(1.5)); % mean = 1.5
25node{2}.setLoadDependence(min(1:N,c)); % multi-server with c servers
26
27ldmodel.link(ldmodel.serialRouting(node));
28
29lldAvgTableCTMC=CTMC(ldmodel).getAvgTable
30
31lldAvgTableNC=NC(ldmodel).getAvgTable
32lldAvgTableRD=NC(ldmodel,'method','rd').getAvgTable
33lldAvgTableNRP=NC(ldmodel,'method','nrp').getAvgTable
34lldAvgTableNRL=NC(ldmodel,'method','nrl').getAvgTable
35
36lldAvgTableMVALD=MVA(ldmodel,'method','exact').getAvgTable
37lldAvgTableQD=MVA(ldmodel,'method','qd').getAvgTable
38
39lldAvgTableJMT=JMT(ldmodel,'seed',23000).getAvgTable
40
41%% casted with scaling function that depends on the per-class queue population
42cdmodel = Network('model');
43node{1} = Delay(cdmodel, 'Delay');
44node{2} = Queue(cdmodel, 'Queue1', SchedStrategy.FCFS);
45jobclass{1} = ClosedClass(cdmodel, 'Class1', N, node{1}, 0);
46node{1}.setService(jobclass{1}, Exp.fitMean(1.0)); % mean = 1
47node{2}.setService(jobclass{1}, Exp.fitMean(1.5)); % mean = 1.5
48node{2}.setClassDependence(@(ni) min(sum(ni),c)); % ni is a vector where ni(r) is the number of jobs in class r at station i
49
50cdmodel.link(cdmodel.serialRouting(node));
51
52cdAvgTableCTMC=CTMC(cdmodel).getAvgTable
53cdAvgTableCD=MVA(cdmodel,'method','qd').getAvgTable
54cdAvgTableJMT=JMT(cdmodel,'seed',23000).getAvgTable