如何知道Optaplanner解决方案已经结束?

时间:2014-08-27 17:59:30

标签: drools optaplanner

我已经初始化并启动了一个求解器,我已经注册了一个听众以获得最佳的解决方案,但我也想知道解决方案何时结束。 我已经配置了记录器并且它正确地显示了解算器何时停止求解(当满足终止条件或何时提前终止时)。我想知道解算器何时完成,无论它以何种方式结束。

这是我目前用于收听最佳解决方案更改的代码

solver.addEventListener(new SolverEventListener() {
    @Override
    public void bestSolutionChanged(BestSolutionChangedEvent bestSolutionChangedEvent) {
        //Get the new best solution
    }
});

我已多次浏览文档,但找不到我需要的内容。有任何想法吗?谢谢。 PS:我正在使用Optaplanner 6.0.1 final

1 个答案:

答案 0 :(得分:1)

Solver.solve()方法返回时。

注意,当daemon模式显式设置为true时,只有在从另一个线程调用Solver.terminateEarly()时才会发生这种情况。否则,它会在Termination说完之后发生。