Optaplanner:查看中间分数
Optaplanner : View intermediate score
有没有办法在求解器 运行 时不时跟踪分数?
我目前实例化我的求解器如下
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 秒后查看分数。这可能吗?
如果您打开 DEBUG(或 TRACE)日志记录,您就会看到它。
如果你想在 java 中收听它,那在 public API 中不支持,但在内部实现中有 PhaseLifecycleListener
没有向后兼容性保证......
有没有办法在求解器 运行 时不时跟踪分数?
我目前实例化我的求解器如下
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 秒后查看分数。这可能吗?
如果您打开 DEBUG(或 TRACE)日志记录,您就会看到它。
如果你想在 java 中收听它,那在 public API 中不支持,但在内部实现中有 PhaseLifecycleListener
没有向后兼容性保证......