optaplanner - 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 秒后查看分数。那可能吗?
解决方案
如果您打开 DEBUG(或 TRACE)日志记录,您会看到它。如果您想在 java 中收听它,公共 API 不支持,但PhaseLifecycleListener
在内部实现中没有向后兼容性保证......
推荐阅读
- vagrant - Vagrant 'pre-boot' VM customization error
- postgresql - The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL
- javascript - 如何在反应中使用函数 React.createElement() 编写选择字段
- c# - 如何从 AWS S3 glacier 中查找存档 ID?
- c# - 带有自定义控件的 DataGridTemplateColumn
- java - 无法在 Junit 中自动装配 bean
- powershell - Powershell Compare-Object with Hash 仅通过 $_.SideIndicator 而不是 $_.path $_.hash
- javascript - 在Javascript中的嵌套对象数组中查找目标对象的路径
- typo3 - TYPO3 TCA (V 8.7) 中的翻译选择器
- python - 根据某些条件删除列