本地搜索阶段(1)需要从初始化解决方案

时间:2017-10-02 08:07:25

标签: optaplanner

在使用Optaplanner 6.1.0解决车辆路径问题期间,我收到错误

java.lang.IllegalStateException:本地搜索阶段(1)需要从初始化的解决方案开始,但规划变量(Customer.previousStandstill)未初始化为实体

从解决开始。 [org.optaplanner.core.impl.solver.DefaultSolver](Thread-166)开始解决:花费的时间(86),最佳分数(760初始化/ 0hard / 0soft),环境模式(REPRODUCIBLE),随机(种子0的JDK) 。  但在它之间抛出异常

java.lang.IllegalStateException:本地搜索阶段(1)需要从初始化的解决方案开始,但规划变量(Customer.previousStandstill)未初始化为实体(KANDIVALI)。   通过在此阶段之前配置构造启发式阶段来初始化解决方案。

如何克服这个问题?

2 个答案:

答案 0 :(得分:0)

在本地搜索之前配置构造启发式或根本不配置任何内容。

答案 1 :(得分:0)

当我像这样在终止时设置“unimprovedMinutesSpentLimit”时:

<termination>
        <unimprovedMinutesSpentLimit>5</unimprovedMinutesSpentLimit>
</termination>

并且 CH 阶段没有在 5 分钟内完成,我会在 LS 阶段刚开始后收到此错误。 似乎 CH 阶段已提前退出,并且并非所有规划实体都已初始化。

所以我查看了手册并像这样设置了终止条件

    <termination>
        <minutesSpentLimit>15</minutesSpentLimit>
    </termination>

它工作正常。