LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
spn_basic_closed.m
1clear P T R solver AvgTable jobclass
2
3model = Network('model');
4
5%% Nodes
6P{1} = Place(model, 'P1');
7T{1} = Transition(model, 'T1');
8
9% Source
10jobclass{1} = ClosedClass(model, 'Class1', 1, P{1});
11
12%% Parameterisation
13
14% T1
15mode1 = T{1}.addMode('Mode1');
16T{1}.setDistribution(mode1,Exp.fitMean(1));
17T{1}.setEnablingConditions(mode1,jobclass{1},P{1},1);
18T{1}.setFiringOutcome(mode1,jobclass{1},P{1},1);
19
20mode2 = T{1}.addMode('Mode2');
21T{1}.setDistribution(mode2,Erlang.fitMeanAndOrder(1,2));
22T{1}.setEnablingConditions(mode2,jobclass{1},P{1},1);
23T{1}.setFiringOutcome(mode2,jobclass{1},P{1},1);
24
25mode3 = T{1}.addMode('Mode3');
26T{1}.setDistribution(mode3,HyperExp.fitMeanAndSCV(1,4));
27T{1}.setEnablingConditions(mode3,jobclass{1},P{1},1);
28T{1}.setFiringOutcome(mode3,jobclass{1},P{1},1);
29
30% Routing
31M = model.getNumberOfStations();
32K = model.getNumberOfClasses();
33
34R = model.initRoutingMatrix(); % initialize routing matrix
35
36R{1,1}(P{1},T{1}) = 1;
37R{1,1}(T{1},P{1}) = 1;
38
39model.link(R);
40
41%% Set Initial State
42P{1}.setState(jobclass{1}.population);
43
44state = model.getState;
45
46%% Solver
47options = Solver.defaultOptions;
48options.keep=2;
49options.verbose=1;
50options.cutoff = 10;
51options.seed = 23000;
52%options.samples = 100;
53
54% options.hide_immediate=1;
55% options.is_pn=1;
56% options.samples=2e4;
57
58% All stations must be initialised.
59% initial_state = [0;2;0;0;0;1;0;0];
60
61% solver = CTMC(model, options);
62% solver.getAvgTable();
63
64solver = {};
65solver{1} = JMT(model,options);
66AvgTable{1} = solver{1}.getAvgTable();
67if ~isempty(AvgTable{1})
68 AvgTable{1}
69end