1classdef ThroughputConstraint < opt.Constraint
2 % ThroughputConstraint Throughput constraint: Tput >= minValue.
9 function obj = ThroughputConstraint(station,
jobclass, minValue, name)
10 if nargin < 4, name =
''; end
11 obj@opt.Constraint(name);
12 obj.station = opt.Constraint.nameOf(station);
14 obj.jobclass = opt.Constraint.nameOf(
jobclass);
16 obj.minValue = minValue;
18 function n = generateName(obj)
19 if ~isempty(obj.jobclass)
20 n = sprintf('Tput_%s_%s_ge_%g', obj.station, obj.
jobclass, obj.minValue);
22 n = sprintf('Tput_%s_ge_%g', obj.station, obj.minValue);
25 function v = evaluate(obj, result, ~)
27 actual = result.getThroughput(obj.station, obj.
jobclass);
29 actual = result.getThroughput(obj.station);
31 v = opt.Constraint.lowerBoundViolation(actual, obj.minValue);