3model = LayeredNetwork(
'myLayeredModel');
5% definition of processors, tasks and entries
6P1 = Processor(model,
'P1', 1, SchedStrategy.PS);
7T1 = Task(model,
'T1', 100, SchedStrategy.REF).on(P1);
8E1 = Entry(model,
'E1').on(T1);
10P2 = Processor(model,
'P2', 1, SchedStrategy.PS);
11T2 = Task(model,
'T2', 1, SchedStrategy.INF).on(P2);
12E2 = Entry(model,
'E2').on(T2);
14E3 = Entry(model,
'E3').on(T2);
16% definition of activities
17T1.setThinkTime(Erlang.fitMeanAndOrder(10,1));
19A1 = Activity(model,
'A1', Exp(1)).on(T1).boundTo(E1).synchCall(E2).synchCall(E3,1);
21A20 = Activity(model,
'A20', Exp(1)).on(T2).boundTo(E2);
22A21 = Activity(model,
'A21', Exp(1)).on(T2);
23A22 = Activity(model,
'A22', Exp(1)).on(T2).repliesTo(E2);
24T2.addPrecedence(ActivityPrecedence.Serial(A20, A21, A22));
26A3 = Activity(model,
'A3', Exp(1)).on(T2).boundTo(E3).repliesTo(E3);
28% LN solver with
default method
29lnoptions = LN.defaultOptions;
31solveroptions = Solver.defaultOptions;
32solveroptions.verbose = 0;
33solver{1} = LN(model, @(l)MVA(l,solveroptions), lnoptions);
34AvgTable{1} = solver{1}.getAvgTable;
35fprintf(1,
'\nLN Results:\n');
38% LN solver with moment3 method
39lnoptions2 = LN.defaultOptions;
40lnoptions2.verbose = 0;
41lnoptions2.method =
'moment3';
42solveroptions2 = Solver.defaultOptions;
43solveroptions2.verbose = 0;
44solver{2} = LN(model, @(l)MVA(l,solveroptions2), lnoptions2);
45AvgTable{2} = solver{2}.getAvgTable;
46fprintf(1,
'\nLN(moment3) Results:\n');