OptaPlanner:如何使用ProblemFactChange更改实体

时间:2016-05-05 16:25:27

标签: optaplanner

OptaPlanner: How to add a planning entity with ProblemFactChange类似

我有一个长期运行的求解器,在解决过程中订单的内容可能会发生变化。如何使用ProblemFactChange将该更改引入求解器? ScoreDirectory具有beforeEntityAdded / afterEntityAdded和beforeEntityRemoved / afterEntityRemoved方法,但我没有看到任何更改现有实体的内容。

我应该排队一个删除后跟一个添加?

1 个答案:

答案 0 :(得分:0)

无需删除+添加,因为这是一个(无关紧要的?)性能损失。

相反,只需更改所有非规划变量字段之前/之后/ afterProblemFactChanged,并为每个真实/阴影变量字段更改前/ afterVariablechanged。