LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
Place.m
1classdef Place < Station
2 %
3 %
4 % Copyright (c) 2012-2026, Imperial College London
5 % All rights reserved.
6
7 properties
8 schedStrategies;
9 schedStrategy;
10 schedStrategyPar;
11 end
12
13 methods
14 function self = Place(model,name)
15 % PLACE(MODEL, NAME)
16
17 self@Station(name);
18 if model.isMatlabNative()
19 classes = model.getClasses();
20 self.input = Storage(classes);
21 self.output = Linkage(classes);
22 self.setModel(model);
23 self.model.addNode(self);
24 self.server = ServiceTunnel();
25
26 %numOfClasses = [];
27 % Places have infinite capacity (like delay nodes)
28 self.numberOfServers = Inf;
29 self.schedStrategy = SchedStrategy.INF;
30 self.schedStrategyPar = [];
31
32 self.classCap = [];
33 self.cap = [];
34 self.schedStrategies = [];
35 self.dropRule = [];
36 elseif model.isJavaNative()
37 self.setModel(model);
38 self.obj = jline.lang.nodes.Place(model.obj, name);
39 self.index = model.obj.getNodeIndex(self.obj);
40 end
41 end
42
43 function init(self)
44 numOfClasses = length(self.model.getClasses());
45 self.schedStrategy = SchedStrategy.FCFS;
46 self.schedStrategyPar = zeros(1,numOfClasses);
47
48 self.classCap = Inf(1,numOfClasses);
49 self.cap = Inf;
50 self.schedStrategies = ones(1, numOfClasses);
51 for r=1:numOfClasses
52 classes = self.model.getClasses();
53 self.dropRule(classes{r}.index) = DropStrategy.WAITQ;
54 end
55 end
56
57 function self = setClassCapacity(self, class, capacity)
58 % SELF = SETCLASSCAPACITY(CLASS, CAPACITY)
59
60 self.classCap(class) = capacity;
61 end
62
63 function self = setSchedStrategies(self, class, strategy)
64 % SELF = SETSCHEDSTRATEGIES(CLASS, STRATEGY)
65
66 self.schedStrategies(class) = strategy;
67 end
68
69 end
70end
71
Definition mmt.m:92