1clear
P T R solver AvgTable
3model = Network(
"model");
5P1 = Place(model,
"P1");
6P2 = Place(model,
"P2");
8T1 = Transition(model,
"T1");
9T2 = Transition(model,
"T2");
10T3 = Transition(model,
"T3");
12jobclass1 = ClosedClass(model,
"Class1", 10, P1, 0);
13jobclass2 = ClosedClass(model,
"Class2", 7, P1, 0);
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);
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);
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);
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);
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);
53model.link(routingMatrix);
55P1.setState([jobclass1.population,jobclass2.population]);
59options = Solver.defaultOptions;
66solver{1} = JMT(model,options);
67AvgTable{1} = solver{1}.getAvgTable();