我们可以使用 Java 动态添加/删除 optaplanner 中的约束吗?有没有例子。我希望允许用户使用某些 UI 在运行时添加或删除此约束。
下面的链接使用口水讲述了一些关于它的内容。可以用java来完成吗? 如何在 optaplanner 中动态添加/删除约束
1)通常非硬编码约束就足够了。例如,不要有这样的约束:
有:
这种方法足以在大多数用例中避免动态约束。请注意,您可以使用 实时添加/删除 DayOfWeekDislike 数据Solver.addProblemFactChange()。
2) 接下来,@ConstraintConfiguration可以使用@ConstraintWeight实时禁用/启用约束Solver.addProblemFactChange()。将约束权重设置为零分以禁用它。
3) 如果 1) 和 2) 都失败,那么你确实需要动态约束。我还没有看到任何需要走到这一步的用例,但我们可以支持它。如果您确实需要这种方法,您的用例是什么?