Решатель маршрутизации ortools пропускает решение с лучшим ObjectiveValue, но говорит "NoMoreSolutions" - PullRequest
0 голосов
/ 12 июня 2019

Я дважды запускаю ту же модель с routing.SolveFromAssignmentWithParameters(initial_solution, pywrapcp.DefaultRoutingSearchParameters()).

Когда я даю ей initial_solution с assignment.ObjectiveValue()=1471713, она в течение нескольких секунд улучшает цель до 1440093 и заявляет: search.cc:375] ######## NoMoreSolutions()

ОДНАКО, есть намного лучшее назначение!с assignment.ObjectiveValue()=1242107.Я проверил, что это действительно с routing.solver().CheckAssignment(), и действительно, это действительно.Почему решатель упустил его и почему он потребовал NoMoreSolutions?:( Я думал, что вся идея решателя СР заключается в широком поиске всех возможных решений в интеллектуальном эвристическом порядке, пока я не скажу ему остановиться.

Даже незнакомец - я далЛучшее назначение решателю как initial_solution, и оно за несколько секунд улучшает его до еще лучшего решения с целью 1240146 (и снова заявляет NoMoreSolutions, но я больше не покупаю эту ложь:)

Чего мне не хватает? Уверен, я не давал time_limit или solution_limit.

Я использую python с ortools==7.0.6546.

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