在使用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)。 通过在此阶段之前配置构造启发式阶段来初始化解决方案。
如何克服这个问题?
答案 0 :(得分:0)
在本地搜索之前配置构造启发式或根本不配置任何内容。
答案 1 :(得分:0)
当我像这样在终止时设置“unimprovedMinutesSpentLimit”时:
<termination>
<unimprovedMinutesSpentLimit>5</unimprovedMinutesSpentLimit>
</termination>
并且 CH 阶段没有在 5 分钟内完成,我会在 LS 阶段刚开始后收到此错误。 似乎 CH 阶段已提前退出,并且并非所有规划实体都已初始化。
所以我查看了手册并像这样设置了终止条件
<termination>
<minutesSpentLimit>15</minutesSpentLimit>
</termination>
它工作正常。