Оптапланнер: solver.getBestScore и solver.explainBestScore показывают разные результаты? - PullRequest
0 голосов
/ 04 марта 2020

Я запустил свой код optaplannner и получил странные результаты. На последнем этапе процесса локального поиска до того, как весь процесс решения был завершен, решатель изменил свою «текущую» оценку. Однако «лучший результат» остался прежним.

18:30:36.384 DEBUG [main] o.o.c.i.l.DefaultLocalSearchPhase DefaultLocalSearchPhase.java:133
>     LS step (205), time spent (200026), score (-250hard/-9soft),     best score (-240hard/-9soft), accepted/selected move count (0/2), picked move (roughplan.domain.Restock@508de524 {50 -> 30}).

18:30:36.384 INFO  [main] o.o.c.i.l.DefaultLocalSearchPhase DefaultLocalSearchPhase.java:151
> Local Search phase (5) ended: time spent (200026), best score (-240hard/-9soft), score calculation speed (35/sec), step total (206).

18:30:36.400 INFO  [main] o.o.c.i.s.DefaultSolver DefaultSolver.java:230
> Solving ended: time spent (200042), best score (-240hard/-9soft), score calculation speed (40/sec), phase total (8), environment mode (REPRODUCIBLE).

Если я затем хочу получить свой результат, solver.getBestScore и solver.explainBestScore показывают разные результаты. Кроме того, solver.getBestSolution показывает ту же оценку, что и solver.explainBestScore.

> Explanation of score (-250hard/-9soft):

> Score: -240hard/-9soft

Я неоднократно получаю эту ошибку, независимо от конкретной c фазы локального поиска, во время которой решатель завершается. Запуск его на "FULL_ASSERT" не вызывает каких-либо исключений, и я также думаю, что я правильно понял все мои аннотации @DeepPlanningClone.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...