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