LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
FiniteCapacityRegion.m
1classdef FiniteCapacityRegion < handle
2 % A finite capacity region
3 %
4 % Copyright (c) 2012-2026, Imperial College London
5 % All rights reserved.
6
7 properties (Constant)
8 UNBOUNDED = -1;
9 end
10
11 properties
12 name;
13 classes;
14 nodes;
15 globalMaxJobs;
16 globalMaxMemory;
17 classMaxJobs;
18 classMaxMemory;
19 dropRule;
20 %classWeight;
21 classSize;
22 end
23
24 methods
25 function self = FiniteCapacityRegion(nodes,classes)
26 self.name = '';
27 self.nodes = {nodes{:}}';
28 self.classes = classes;
29 self.globalMaxJobs = FiniteCapacityRegion.UNBOUNDED;
30 self.globalMaxMemory = FiniteCapacityRegion.UNBOUNDED;
31 %self.classWeight = ones(1,length(self.classes));
32 self.dropRule = false(1,length(self.classes));
33 self.classSize = ones(1,length(self.classes));
34 self.classMaxJobs = FiniteCapacityRegion.UNBOUNDED * ones(1,length(self.classes));
35 self.classMaxMemory = FiniteCapacityRegion.UNBOUNDED * ones(1,length(self.classes));
36 end
37
38 function self = setGlobalMaxJobs(self, njobs)
39 self.globalMaxJobs = njobs;
40 end
41
42 function self = setGlobalMaxMemory(self, memlim)
43 self.globalMaxMemory = memlim;
44 end
45
46 function self = setClassMaxJobs(self, class, njobs)
47 self.classMaxJobs(class.index) = njobs;
48 end
49
50 function self = setClassWeight(self, class, weight)
51 self.classWeight(class.index) = weight;
52 end
53
54 function self = setDropRule(self, class, isDropEnabled)
55 self.dropRule(class.index) = isDropEnabled;
56 end
57
58 function self = setClassSize(self, class, size)
59 self.classSize(class.index) = size;
60 end
61
62 function self = setClassMaxMemory(self, class, memlim)
63 self.classMaxMemory(class.index) = memlim;
64 end
65
66 function self = setName(self, name)
67 self.name = name;
68 end
69
70 function name = getName(self)
71 name = self.name;
72 end
73 end
74
75end
Definition mmt.m:92