Решатель OptaPlanner: несколько лучших решений - PullRequest
0 голосов
/ 27 апреля 2020

Я решаю проблему планирования с OptaPlanner. После настройки solver я вызываю метод solve () и жду, пока он выдаст решение. Вопрос в том, что если я захочу сравнить несколько лучших решений, созданных методом решателя, друг с другом и выбрать одно из них. Является ли это возможным? Я хочу установить условие завершения, сравнивая последние два решения друг с другом и видя, как они отличаются друг от друга. Вот почему я хочу реализовать это. Заранее спасибо.

1 Ответ

1 голос
/ 28 апреля 2020

Простой ответ: добавьте SolverEventListener к Solver и прослушайте bestSolutionChanged() события, чтобы запомнить их. Этого достаточно для большинства пользователей.

Сложный ответ: см. «Оптимизация по Парето» в документации по optaplanner. Это не поддерживается из коробки пока , но несколько пользователей добавили его сами, взломав BestSolutionRecaller.

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