OptaPlanner:在施工启发式阶段改变监听器的步骤 [英] Optaplanner : Step changes listener in construction heuristic phase

查看:0
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆