Я могу подтвердить ошибку примером кода с сайта Gurobi.На первый взгляд, проблема, похоже, связана с функцией subtour
, которая возвращает None
, если sum(lengths) == n
, и отсутствующей проверкой, если tour
равно None
внутри функции subtourlim
.
Вместо того, чтобы предоставить исправление для конкретного кода, я сначала проверил примеры, которые Gurobi устанавливает внутри определенного установочного каталога:
- Mac:
/Library/gurobi810/mac64/examples/python/
- Linux:
/opt/gurobi800/linux64/examples/python/
- Windows:
c:\gurobi800\win64\examples\python\
И, что удивительно, tsp.py
оттуда работает без каких-либо ошибок.Обратите внимание, что две упомянутые функции пересмотрены.Так что я думаю, что пример с сайта - это просто старая версия кода.