【问题标题】:OptaPlanner immediately produces better solution after terminating and restarting the solverOptaPlanner 在终止并重新启动求解器后立即生成更好的解决方案
【发布时间】:2018-08-28 15:15:18
【问题描述】:

我根据 OptaPlanner 的任务分配示例创建了一个解决方案,并观察了原始示例和我自己的解决方案中的一个特定行为:

解决 100tasks-5employees 问题几乎不会在半分钟左右后产生新的更好的分数,但终止求解器并重新启动它会立即产生更好的解决方案。

为什么会这样?据我了解,重复构建启发式不会改变任何规划实体,因为它们都已经初始化。然后再次开始本地搜索。为什么它会立即找到新的更好的解决方案,而只是继续第一次执行而不会中断,或者至少慢得多?

【问题讨论】:

    标签: optaplanner


    【解决方案1】:

    通过终止并重新启动求解器,您实际上导致延迟接受进行重新加热。 OptaPlanner 将自动重新加热一次this jira is prioritized and implemented

    这发生在少数用例中。但如果它发生在一个用例上,它往往会发生在所有数据集上。

    我有一些解决方法,方法是配置多个带有<unimprovedSecondsSpentLimit> 终止的<localSearch> 阶段,但我不喜欢这样。修复 jira 是唯一真正的解决方案。

    【讨论】:

    • 好的,明白了。非常感谢您的快速回答。
    猜你喜欢
    • 2020-08-11
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2019-11-07
    • 2021-05-25
    相关资源
    最近更新 更多