4%
this is a difficult sparse LDMX model
5model = Network(
'model');
7node{1} = Queue(model,
'Queue1', SchedStrategy.PS);
8node{1}.setNumberOfServers(1);
9node{2} = Queue(model,
'Queue2', SchedStrategy.PS);
10node{2}.setNumberOfServers(2);
11node{3} = Queue(model,
'Queue3', SchedStrategy.PS);
12node{3}.setNumberOfServers(3);
13node{4} = Queue(model,
'Queue4', SchedStrategy.PS); % only closed
classes
14node{4}.setNumberOfServers(4);
15node{5} = Queue(model,
'Queue5', SchedStrategy.PS); % only open
classes
16node{5}.setNumberOfServers(5);
17source = Source(model,
'Source');
18sink = Sink(model,
'Sink');
20jobclass{1} = ClosedClass(model,
'ClosedClass', 3, node{1}, 0);
21jobclass{2} = OpenClass(model,
'OpenClass', 0);
24 node{i}.setService(
jobclass{1}, Exp(i));
25 node{i}.setService(
jobclass{2}, Exp(sqrt(i)));
28source.setArrival(
jobclass{2}, Exp(0.3));
30M = model.getNumberOfStations();
31K = model.getNumberOfClasses();
33P = model.initRoutingMatrix;
35P{1,1} = Network.serialRouting(node{1},node{2},node{3},node{4});
38P{2,2} = Network.serialRouting(source,node{1},node{2},node{3},node{5},sink);
42options = Solver.defaultOptions;
48optionssa = options; optionssa.cutoff = Inf;
50mam_options = MAM.defaultOptions;
51mam_options.seed = 23000;
52mam_options.keep=
false;
55disp(
'This example shows the execution of the solver on a 2-class mixed model with 5 multi-server nodes.')
56% This part illustrates the execution of different solvers
58solver{end+1} = CTMC(model,options); % CTMC
is infinite on
this model
59solver{end+1} = JMT(model,
'samples',1e5,
'seed', 23000);
60solver{end+1} = MVA(model,
'exact');
61solver{end+1} = DES(model,
'samples',1e5,
'seed', 23000);
62%solver{end+1} = NC(model,options);
63%solver{end+1} = MAM(model,mam_options);
65 fprintf(1,
'SOLVER: %s\n',solver{s}.getName());
66 AvgTable{s} = solver{s}.getAvgTable();