LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
cs_implicit.m
1clear node jobclass solver AvgTable;
2%% a basic M/M/1 with explicit definition of a ClassSwitch node
3% Recommended ClassSwitch declaration style
4model = Network('mm1cs');
5
6%% Block 1: nodes
7node{1} = Source(model, 'Source 1');
8node{2} = Queue(model, 'Queue 1', SchedStrategy.FCFS);
9node{3} = Sink(model, 'Sink 1');
10node{4} = ClassSwitch(model, 'ClassSwitch 1');
11
12%% Block 2: classes
13jobclass{1} = OpenClass(model, 'Class1', 0);
14jobclass{2} = OpenClass(model, 'Class2', 0);
15
16node{1}.setArrival(jobclass{1}, Exp.fitMean(10.000000)); % (Source 1,Class1)
17node{1}.setArrival(jobclass{2}, Exp.fitMean(2.000000)); % (Source 1,Class2)
18node{2}.setService(jobclass{1}, Exp.fitMean(1.000000)); % (Queue 1,Class1)
19node{2}.setService(jobclass{2}, Exp.fitMean(1.000000)); % (Queue 1,Class2)
20
21%% Block 3: topology
22% The class switching matrix can now be declared after the classes, so the
23% ClassSwitch node can be declared outside Block 1.
24csmatrix = node{4}.initClassSwitchMatrix; % element (i,j) = probability that class i switches to j
25csmatrix(jobclass{1},jobclass{1}) = 0.3;
26csmatrix(jobclass{1},jobclass{2}) = 0.7;
27csmatrix(jobclass{2},jobclass{1}) = 1.0;
28node{4}.setClassSwitchingMatrix(csmatrix);
29
30P = model.initRoutingMatrix(); % initialize routing matrix
31P{1,1}(1,4) = 1; % (Source 1,Class1) -> (ClassSwitch 1,Class1)
32P{1,1}(4,2) = 1; % (ClassSwitch 1,Class1) -> (Queue 1,Class1)
33P{1,1}(2,3) = 1; % (Queue 1,Class1) -> (Sink 1,Class1)
34
35P{2,2}(1,4) = 1; % (Source 1,Class2) -> (ClassSwitch 1,Class2)
36P{2,2}(4,2) = 1; % (ClassSwitch 1,Class2) -> (Queue 1,Class2)
37P{2,2}(2,3) = 1; % (Queue 1,Class2) -> (Sink 1,Class2)
38
39model.link(P);
40
41model.printRoutingMatrix();
42
43solver{1} = MVA(model);
44AvgTable{1} = solver{1}.getAvgChainTable;
45AvgTable{1}
Definition mmt.m:92