是否可以通过 OptaPlanner 验证现有解决方案以检查规则如何被破坏?

Is it possible to verify already existing solution by OptaPlanner to check how may rules get broken?

这里已经存在的解决方案是由任何其他 codebase/tool 生成的,但我们可以根据 OptaPlanner 的要求调整属性。 主要目的是验证现有解决方案打破了多少规则,然后是 optaPlanner 的成熟结果。

是的,这是可能的。

参见文档部分 "explaining the score"。基本上,您使用 SolverFactory.getScoreDirectorFactory() 构建一个 ScoreDirector,然后使用 setWorkingSolution()calculateScore(),然后是 explainScore()(按此顺序)。