我们可以使用Java动态添加/删除optaplanner中的约束吗?有没有例子。我希望允许用户使用某些UI在运行时添加或删除此约束。
下面的链接使用流口水说了一些话。可以使用Java完成吗?how to dynamically add / remove constraints in optaplanner
1)通常非硬编码约束就足够了。例如,没有约束说:
有:
在大多数用例中,此方法足以避免动态约束。请注意,您可以使用Solver.addProblemFactChange()
实时添加/删除DayOfWeekDislike数据。
2]接下来,@ConstraintConfiguration
可以使用@ConstraintWeight
通过Solver.addProblemFactChange()
实时禁用/启用约束。将约束权重设置为零得分以将其禁用。
3)如果1)和2)均失败,则确实需要动态约束。我还没有看到需要进一步发展的用例,但是我们可以提供支持。如果您确实需要这种方法,您的用例是什么?