OptaPlanner 求解器:多个最佳解决方案

OptaPlanner solver: multiple best solutions

我正在使用 OptaPlanner 解决规划问题。配置求解器后,我调用 solve() 方法并等待它生成解决方案。问题是,如果我想比较由求解器方法创建的几个最佳解决方案并选择其中一个怎么办。可能吗? 我想通过比较最后两个解决方案并查看它们之间的差异来设置终止条件。这就是为什么我要实现它。 提前谢谢你。

简单的答案:将 SolverEventListener 添加到 Solver 并收听 bestSolutionChanged() 事件以记住它们。这对大多数用户来说已经足够了。

困难的答案:请参阅 optaplanner 文档中的 "pareto optimization"。开箱即用 不支持,但一些用户通过破解 BestSolutionRecaller.

自行添加了它