Optaplanner:查看中级分数

时间:2019-02-01 20:46:19

标签: optaplanner

在求解器运行时,是否可以不时跟踪分数?

我当前实例化我的求解器如下

SolverFactory solverFactory = SolverFactory.createFromXmlResource("solver/SolverConfig.xml");
Solver solver = solverFactory.buildSolver();
solver.addEventListener(new SolverEventListener() {
    @Override
    public void bestSolutionChanged(BestSolutionChangedEvent event) {
        logger.info("New best score : " + event.getNewBestScore().toShortString());
    }
});
solver.solve(planningSolution);

这样,每次最佳分数变化时,我都能看到日志。

但是,我想每100步或每10秒查看一次得分。有可能吗?

1 个答案:

答案 0 :(得分:1)

如果打开DEBUG(或TRACE)日志记录,则会看到它。 如果要使用Java进行监听,则公共API不支持该功能,但是内部实现中有PhaseLifecycleListener,没有向后兼容性保证...