LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
cqn_mmpp2_service.m
1clear node jobclass AvgTable
2
3%%clearvars -except exampleName;
4model = Network('model');
5
6node{1} = Delay(model, 'Delay');
7node{2} = Queue(model, 'Queue1', SchedStrategy.PS);
8node{3} = Queue(model, 'Queue2', SchedStrategy.PS);
9
10jobclass{1} = ClosedClass(model, 'Class1', 1, node{1}, 0);
11jobclass{2} = ClosedClass(model, 'Class2', 1, 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}, HyperExp(0.1,1.0,10.0));
17node{2}.setService(jobclass{2}, MMPP2(1,2,3,4));
18
19node{3}.setService(jobclass{1}, HyperExp(0.1,1.0,10.0));
20node{3}.setService(jobclass{2}, Erlang(1,2));
21
22model.addLink(node{1}, node{1});
23model.addLink(node{1}, node{2});
24model.addLink(node{1}, node{3});
25model.addLink(node{2}, node{1});
26model.addLink(node{3}, node{1});
27
28node{1}.setProbRouting(jobclass{1}, node{1}, 0.0)
29node{1}.setProbRouting(jobclass{1}, node{2}, 0.3)
30node{1}.setProbRouting(jobclass{1}, node{3}, 0.7)
31node{2}.setProbRouting(jobclass{1}, node{1}, 1.0)
32node{3}.setProbRouting(jobclass{1}, node{1}, 1.0)
33
34node{1}.setRouting(jobclass{2},RoutingStrategy.RAND);
35node{2}.setRouting(jobclass{2},RoutingStrategy.RAND);
36node{3}.setRouting(jobclass{2},RoutingStrategy.RAND);
37
38solver={};
39options = Solver.defaultOptions;
40options.seed = 23000;
41%solver{end+1} = CTMC(model,options);
42solver{end+1} = JMT(model,options);
43% Solver.defaultOptions carries the GENERIC samples budget (1e4), which
44% overrides SolverLDES's own default (2e5) and leaves the simulation 20x
45% shorter than the solver asks for. Restore the solver's own default.
46ldesOptions = options;
47ldesOptions.samples = SolverLDES.defaultOptions.samples;
48solver{end+1} = LDES(model,ldesOptions);
49%solver{end+1} = SSA(model,options);
50%solver{end+1} = FLD(model,options);
51% If this call is re-enabled, keep SolverMVA's own iter_tol (1e-6): the generic
52% Solver.defaultOptions value (1e-4) stops the AMVA fixed point early.
53%mvaOptions = options; mvaOptions.iter_tol = SolverMVA.defaultOptions.iter_tol;
54%solver{end+1} = MVA(model,mvaOptions);
55%solver{end+1} = NC(model,options);
56%solver{end+1} = MAM(model,options);
57
58for s=1:length(solver)
59 fprintf(1,'SOLVER: %s\n',strrep(solver{s}.getName(),'Solver',''));
60 AvgTable{s} = solver{s}.getAvgTable();
61 AvgTable{s}
62end
Definition Station.m:245