OptaPlanner:在 ConstraintProvider 中访问 ProblemId(使用 SolverManager)?

OptaPlanner : Access ProblemId in ConstraintProvider (using SolverManager)?

我正在将 Optaplanner 与 Quarkus 一起使用,有人知道是否可以从 ConstraintProvider 访问 ProblemId 吗?我正在使用 SolverManager,我希望能够根据使用用户发送并存储在 H2 中的参数的解析请求来微调约束。这些参数与 ProblemId 一起存储,我想在 ConstraintProvider 中找到它们。这可能吗?有没有人试过做类似的事情?

ConstraintProvider 可以根据任何问题事实或规划实体的任何方法编写约束。

所以它可以用 @PlanningId 注释方法做一些事情,例如 Lesson: from(Lesson.class).filter((lesson) -> lesson.getId() ...)

但我怀疑你想做的是@ConstraintConfiguration。请参阅文档。