LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
fj_cs_multi_visits.m
1% fork-join with multiple visits within the same chain
2clear solver AvgTable
3model = Network('model');
4
5source = Source(model,'Source');
6queue1 = Queue(model,'Queue1',SchedStrategy.PS);
7queue2 = Queue(model,'Queue2',SchedStrategy.PS);
8fork = Fork(model,'Fork');
9join = Join(model,'Join', fork);
10sink = Sink(model,'Sink');
11
12jobclass1 = OpenClass(model, 'class1');
13jobclass2 = OpenClass(model, 'class2');
14
15source.setArrival(jobclass1, Exp(0.1));
16queue1.setService(jobclass1, Exp(1.0));
17queue2.setService(jobclass1, Exp(1.0));
18queue1.setService(jobclass2, Exp(1.0));
19queue2.setService(jobclass2, Exp(1.0));
20
21P = model.initRoutingMatrix;
22P{jobclass1,jobclass1}(source,fork) = 1;
23P{jobclass1,jobclass1}(fork,queue1) = 1.0;
24P{jobclass1,jobclass1}(fork,queue2) = 1.0;
25P{jobclass1,jobclass1}(queue1,join) = 1.0;
26P{jobclass1,jobclass1}(queue2,join) = 1.0;
27
28% now loop back in class 2
29P{jobclass1,jobclass2}(join,fork) = 1.0;
30P{jobclass2,jobclass2}(fork,queue1) = 1.0;
31P{jobclass2,jobclass2}(fork,queue2) = 1.0;
32P{jobclass2,jobclass2}(queue1,join) = 1.0;
33P{jobclass2,jobclass2}(queue2,join) = 1.0;
34P{jobclass2,jobclass2}(join,sink) = 1.0;
35
36model.link(P);
37
38solver{1} = MVA(model);
39solver{end+1} = JMT(model,'seed',23000);
40%solver{end+1} = DES(model,'seed',23000);
41
42for s=1:length(solver)
43 AvgTable{s} = solver{s}.getAvgTable;
44 AvgTable{s}
45end