1classdef FiniteCapacityRegion < handle
2 % A finite capacity region
4 % Copyright (c) 2012-2026, Imperial College London
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));
38 function self = setGlobalMaxJobs(self, njobs)
39 self.globalMaxJobs = njobs;
42 function self = setGlobalMaxMemory(self, memlim)
43 self.globalMaxMemory = memlim;
46 function self = setClassMaxJobs(self, class, njobs)
47 self.classMaxJobs(class.index) = njobs;
50 function self = setClassWeight(self, class, weight)
51 self.classWeight(class.index) = weight;
54 function self = setDropRule(self, class, isDropEnabled)
55 self.dropRule(class.index) = isDropEnabled;
58 function self = setClassSize(self, class, size)
59 self.classSize(class.index) = size;
62 function self = setClassMaxMemory(self, class, memlim)
63 self.classMaxMemory(class.index) = memlim;
66 function self = setName(self, name)
70 function name = getName(self)