LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
spn_fourmodes.m
1clear P T R solver AvgTable
2
3model = Network("model");
4
5P1 = Place(model, "P1");
6P2 = Place(model, "P2");
7P3 = Place(model, "P3");
8
9T1 = Transition(model, "T1");
10T2 = Transition(model, "T2");
11T3 = Transition(model, "T3");
12T4 = Transition(model, "T4");
13
14jobclass = ClosedClass(model, "Class1", 8, P1, 0);
15
16mode1 = T1.addMode("Mode1");
17%T1.setNumberOfServers(mode1,Inf);
18T1.setDistribution(mode1, Exp(2));
19T1.setEnablingConditions(mode1, jobclass, P1, 2);
20T1.setFiringOutcome(mode1, jobclass, P2, 2);
21
22mode2 = T2.addMode("Mode2");
23%T2.setNumberOfServers(mode2,Inf);
24T2.setDistribution(mode2, Exp(1));
25T2.setEnablingConditions(mode2, jobclass, P1, 3);
26T2.setFiringOutcome(mode2, jobclass, P3, 3);
27
28mode3 = T3.addMode("Mode3");
29%T3.setNumberOfServers(mode3,Inf);
30T3.setDistribution(mode3, Exp(4));
31T3.setEnablingConditions(mode3, jobclass, P2, 1);
32T3.setFiringOutcome(mode3, jobclass, P1, 1);
33
34mode4 = T4.addMode("Mode4");
35%T4.setNumberOfServers(mode4,Inf);
36T4.setDistribution(mode4, Exp(2));
37T4.setEnablingConditions(mode4, jobclass, P3, 2);
38T4.setFiringOutcome(mode4, jobclass, P1, 2);
39
40routingMatrix = model.initRoutingMatrix();
41routingMatrix.set(jobclass, jobclass, P1, T1, 1.0);
42routingMatrix.set(jobclass, jobclass, P1, T2, 1.0);
43routingMatrix.set(jobclass, jobclass, P2, T3, 1.0);
44routingMatrix.set(jobclass, jobclass, P3, T4, 1.0);
45
46routingMatrix.set(jobclass, jobclass, T1, P2, 1.0);
47routingMatrix.set(jobclass, jobclass, T2, P3, 1.0);
48routingMatrix.set(jobclass, jobclass, T3, P1, 1.0);
49routingMatrix.set(jobclass, jobclass, T4, P1, 1.0);
50
51model.link(routingMatrix);
52%% Set Initial State
53P1.setState(jobclass.population);
54P2.setState(0);
55P3.setState(0);
56
57%% Solver
58options = Solver.defaultOptions;
59options.keep=2;
60options.verbose=1;
61options.cutoff = 10;
62options.seed = 23000;
63
64solver = {};
65solver{1} = JMT(model,options);
66AvgTable{1} = solver{1}.getAvgTable();
67AvgTable{1}