Drools 流口水';方差';累积(Optaplanner评分)
我试图在Optaplanner中将请求公平地分配给员工(基于请求的复杂性)。因此,我需要一个规则来最小化分配给员工的请求复杂性的标准偏差。 我试着根据Optaplanner文档编写规则Drools 流口水';方差';累积(Optaplanner评分),drools,optaplanner,accumulate,Drools,Optaplanner,Accumulate,我试图在Optaplanner中将请求公平地分配给员工(基于请求的复杂性)。因此,我需要一个规则来最小化分配给员工的请求复杂性的标准偏差。 我试着根据Optaplanner文档编写规则 rule "fairAssignment" salience 1 when $employee : Employee($possType: possibleProblemTypes, $availableTime: availableTime) $complexityTot
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
但我更喜欢一个解决方案,在这个方案中,最大限度地降低成本。那么,你能帮我为“方差”编写一个内联累积函数吗?我的直觉是使用一个规则来计算标准偏差,它是
insertLogical()
it,然后使用另一个规则,每个员工的显著性较低,将标准偏差的差异作为负软约束匹配进行添加。