Как я могу записать историю решений optaplanner? ⇐ JAVA
-
Anonymous
Как я могу записать историю решений optaplanner?
Без дополнительных настроек optaplanner вернет лучшее решение. Но в моем случае мне нужно иметь n лучших решений. Я вижу, что есть SolverEventListener, который мы можем добавить в решатель, а SolverEventListener имеет метод bestSolutionChanged. Мы можем послушать, что там происходит. Однако когда я пытаюсь это сделать, он ловит только две записи истории. Я установил стратегию завершения как лимит в 10 секунд. Однако в журналах отладки я вижу, что он продолжает двигаться после нахождения лучшего решения, и он определенно регистрирует другие лучшие решения с ходами. Но почему прослушиватель событий не улавливает новые решения, которые также дают лучшие результаты?
Кроме того, есть ли какие-нибудь предложения о том, как записать лучшие n решений? Я вижу, что есть еще один хак с BestSolutionRecaller. Есть ли у вас пример использования BestSolutionRecaller? Спасибо!
Я попробовал SolverEventListener, предложенный вики.
Без дополнительных настроек optaplanner вернет лучшее решение. Но в моем случае мне нужно иметь n лучших решений. Я вижу, что есть SolverEventListener, который мы можем добавить в решатель, а SolverEventListener имеет метод bestSolutionChanged. Мы можем послушать, что там происходит. Однако когда я пытаюсь это сделать, он ловит только две записи истории. Я установил стратегию завершения как лимит в 10 секунд. Однако в журналах отладки я вижу, что он продолжает двигаться после нахождения лучшего решения, и он определенно регистрирует другие лучшие решения с ходами. Но почему прослушиватель событий не улавливает новые решения, которые также дают лучшие результаты?
Кроме того, есть ли какие-нибудь предложения о том, как записать лучшие n решений? Я вижу, что есть еще один хак с BestSolutionRecaller. Есть ли у вас пример использования BestSolutionRecaller? Спасибо!
Я попробовал SolverEventListener, предложенный вики.
Мобильная версия