在求解器运行时,是否可以不时跟踪分数?
我当前实例化我的求解器如下
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秒查看一次得分。有可能吗?
答案 0 :(得分:1)
如果打开DEBUG(或TRACE)日志记录,则会看到它。
如果要使用Java进行监听,则公共API不支持该功能,但是内部实现中有PhaseLifecycleListener
,没有向后兼容性保证...