增量分数计算方法

时间:2013-11-02 20:50:09

标签: optaplanner

有人可以解释为增量分数计算需要实施的方法的目的吗?我理解所有后...方法,但为什么我应该在添加,删除实体或更改变量之前调整分数(beforeEntityAdded,beforeVariableChanged,beforeEntityRemoved)?

1 个答案:

答案 0 :(得分:0)

请参阅6.0.0.Final文档中的此图片:

enter image description here

另请参阅“增量分数计算”一节(这也解释了为什么这比SimpleScoreCalculator快得多)。看一下示例实现。您会看到需要beforeVariableChanged()来撤消不再匹配的违规约束匹配。

在上图中,ChangeMove需要获得+1,因为AB在beforeVariableChanged()方法中不再匹配,-1因为AC现在在afterVariableChanged方法中匹配。