2016-05-16 18 views
0

我已经设置了两个本地搜索阶段的求解器,它工作正常。然而,曾经有一段时间的第二阶段并没有使在约1分钟的任何举动,如在日志下面显示:Optaplanner - 在1分钟内总共进行本地阶段0步骤

阶段1结束,
... 

2016-05-07 14:14:55,847 [main] DEBUG  LS step (10069), time spent (593822), score (0hard/-81medium/5395020soft),  best score (0hard/-80medium/5393781soft), accepted/selected move count (5/48), picked move (CL [cID=1147576, id=27246 => SL [id=49, sID=E942648]] <=> CL [cID=1133912, id=14716 => SL [ id=7, sID=E942592]]). 

2016-05-07 14:14:55,858 [main] DEBUG  LS step (10070), time spent (593833), score (0hard/-81medium/5395390soft),  best score (0hard/-80medium/5393781soft), accepted/selected move count (5/18), picked move (CL [cID=1142322, id=22533 => SL [ id=51, sID=E943251]] <=> CL [cID=1134362, id=14118 => SL [ id=49, sID=E942648]]). 

2016-05-07 14:14:55,858 [main] INFO Local Search phase (1) ended: step total (10071), time spent (593833), best score (0hard/-80medium/5393781soft). 

2016-05-07 14:16:05,042 [main] INFO Local Search phase (2) ended: step total (0), time spent (663017), best score (0hard/-80medium/5393781soft). 

2016-05-07 14:16:05,042 [main] INFO Solving ended: time spent (663017), best score (0hard/-80medium/5393781soft), average calculate count per second (2771). 

之前,有没有在过去的任何改善脚步。第二阶段开始,但在一分钟内完成了0步。解算器因此达到了允许的最大时间而结束。

我感到有点惊讶,第二阶段根本没有采取任何措施。这是否仅仅是因为它无法找到更好的分数?

+1

我想这只是因为没有找到更好的移动 - 如果我将日志记录级别设置为跟踪,我应该能够看到移动。 – oy321

+0

什么是解算器配置?支持2个本地搜索阶段,但不常见。 –

+0

Re。本地搜索阶段的数量 - 我认为没有限制吗? – oy321

回答

0

如果您在TRACE日志中没有看到任何动作(如评论中所建议的),可能是因为您正在使用自定义移动列表工厂,并且这需要太长的时间才能初始化。

+0

是的,我确实有2个本地搜索阶段。两者都使用相同的自定义valueSelector,entitySelector和swapMoveSelector,但使用不同的接受器和采集器。而且我没有使用任何自定义移动列表工厂。 选择器非常简单,应该不会有任何延迟。 我怀疑的唯一的地方是第二本地搜索的接受者使用Tabu搜索大小100.我正在做一些基准测试以确定配置是否仍然良好。 – oy321

+0

跟踪记录确实会解释发生了什么。 –

+0

从6.3.0 Final升级到6.4.0 Final后出现日志记录问题。 IDE控制台中的日志记录输出变为: '2016-05-18 23:22:33,045 [main] DEBUG状态为INACTIVE为nw FIRING_ALL_RULES 2016-05-18 23:22:33,047 [main] DEBUG消防循环 2016-05-18 23:22:34,464 [main] DEBUG消防循环 ' .... 我读过升级配方,而且在日志记录方面似乎没有任何变化。 – oy321