Ошибка Python Gurobi (NoneType не имеет len ()) - PullRequest
0 голосов
/ 21 ноября 2018

Мне нужно написать файл оптимизации для Gurobi (Python), который является модифицированной версией классического TSP.Я пытался запустить файл примера с их сайта:

examples.gurobi.com / travel-salesman-problem /

Я всегда получаю следующую ошибку:

TypeError: object of type 'NoneType' has no len()

Что мне нужно изменить?Thx

Полный код: https://www.dropbox.com/s/ewisx805b3o2wq5/beispiel_opt.py?dl=0

1 Ответ

0 голосов
/ 21 ноября 2018

Я могу подтвердить ошибку примером кода с сайта 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 оттуда работает без каких-либо ошибок.Обратите внимание, что две упомянутые функции пересмотрены.Так что я думаю, что пример с сайта - это просто старая версия кода.

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