我正在尝试将请求公平地分发给Optaplanner中的员工(基于请求的复杂性)。因此,我想要一条规则来最小化分配给员工的请求复杂性的标准偏差。 我尝试过根据Optaplanner文档编写规则,
rule "fairAssignment"
salience 1
when
$employee : Employee($possType: possibleProblemTypes, $availableTime: availableTime)
$complexityTotal: Number() from accumulate
(Request(employee==$employee,problemType memberOf $possType,$Complexity : complexity),sum(complexity))
then
scoreHolder.addSoftConstraintMatch(kcontext, -($complexityTotal.intValue()* $complexityTotal.intValue()));
end
但我更喜欢一种解决方案,其中the standard deviation被最小化。那么你可以帮我写一个内联累加函数来实现“变异”。 ?