OptaPlanner:在施工启发式阶段改变监听器的步骤 [英] Optaplanner : Step changes listener in construction heuristic phase
本文介绍了OptaPlanner:在施工启发式阶段改变监听器的步骤的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Optaplanner中,我注意到每个动作都有可变的更改监听程序。以及在每个阶段之后计算的Best SolutionChanged的SolverEventListener。然而,我找不到每一步结束时的变化。 在施工启发式阶段听取步骤变化有什么建议吗? 提前谢谢。
推荐答案
若要监听步骤和阶段级别的事件,您需要使用名为PhaseLifecycleListener
的内部监听器。例如,内部基准代码使用它:
StepScoreSingleStatisticListener listener = new StepScoreSingleStatisticListener();
((DefaultSolver) solver).addPhaseLifecycleListener(listener);
// solver.solve(...);
((DefaultSolver) solver).removePhaseLifecycleListener(listener);
实现可能如下所示:
private class StepScoreSingleStatisticListener extends PhaseLifecycleListenerAdapter {
@Override
public void stepEnded(AbstractStepScope stepScope) {
...
}
}
警告:这是内部API,在未来版本中不向后兼容,没有文档记录,不适用于胆小鬼,使用风险自负,您不再位于堪萨斯州Dorothy,...:)
这篇关于OptaPlanner:在施工启发式阶段改变监听器的步骤的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文