在将Optaplanner从6.0.1版本更新到6.1.0之后,我注意到解决程序在使用同步终止时不会停止。
例如,以下两种配置都不再工作了:
<termination>
<secondsSpentLimit>5</secondsSpentLimit>
</termination>和
<termination>
<bestScoreLimit>-1000/0/0</bestScoreLimit>
</termination>最奇怪的是,当使用错误的值进行同步终止时,例如:
<termination>
<secondsSpentLimit>-5</secondsSpentLimit>
</termination>它不会导致任何错误!因此,看起来求解者不再关心同步终止。
发布于 2014-09-16 09:44:29
在6.1.0.Final中,secondsSpentLimit没有负值,这是没有问题的。但这是个好主意,所以我刚把它加到6.2.0。。
我在6.1.0中看到了求解器在同步终止时停止,因此假设daemonMode 是false (默认情况下是错误的),在您的情况下一定有一些特殊的东西。确认在您的示例中没有指定deamonMode (或者它是false),提交一个jira (参见optaplanner.org ->代码>创建问题)并附加一个复制器zip。
另外,还要检查您的终端是在<solver>内部还是在<phase>中。如果它处于一个阶段(而不是求解器),并且不是最后一个阶段,它不会阻止求解器。
https://stackoverflow.com/questions/25859491
复制相似问题