Pyomo не может использовать Gurobi Solver

Расширьте свой сериализатор, чтобы включить поле страны, подобное этому

class StatesDetailSerializer(ModelSerializer):

    country = serializers.PrimaryKeyRelatedField(queryset=countries.objects.all()) 

    class Meta:
        model = states
        fields= ( 'country', ** plus all the fields you want **)
        depth = 1

note: не используйте __all__ для полей. Всегда лучше указывать, какие поля вы хотите сериализовать (чтобы избежать потенциальных уязвимостей в вашем приложении)

0
задан V. Brunelle 22 January 2019 в 08:50
поделиться

3 ответа

Спасибо Bethany.N и В.Брунелле за отзывы. Ценю это.

Я попытался добавить папку в windows и путь anaconda (код ошибки все еще присутствует) и попытался установить gurobipy (файл setup.py отсутствует в пакете Gurobi).

Однако я использовал Pycharm для запуска кода, но на основании руководства пользователя: " http://www.gurobi.com/documentation/8.1/quickstart_mac/install_the_anaconda_py.html#section:Anaconda «

в нем прямо упоминается использование Spyder IDE или Jupyter, поэтому я импортировал код в Spyder, и я смог заставить его работать. Он даже работает с использованием ["gurobi"] или ["gurobi", solver_io = "python"] для решателя.

Похоже, что есть некоторые проблемы с Pycharm + gurobi.

0
ответ дан Dlearn 22 January 2019 в 08:50
поделиться

Похоже, вам нужно добавить папку, содержащую исполняемый файл gurobi, в пути Windows и Anaconda.

В этом посте stackoverflow приведено пошаговое руководство о том, как это сделать: Как добавить папку в переменную среды `Path` в Windows 10 (со снимками экрана) [113 ]

См. Этот пост, чтобы добавить папку в путь к conda: Как добавить папку в путь поиска для заданной среды Anaconda?

0
ответ дан Bethany Nicholson 22 January 2019 в 08:50
поделиться

Что касается того, что вы пытаетесь использовать интерфейс Python для Gurobi с этой строкой:

opt = SolverFactory("gurobi", solver_io="python")

Вы можете получить

Traceback (most recent call last):
  File "D:/Python learning/ProjektX/chicken wings.py", line 26, in <module>
    opt_success = opt.solve(model)
  File "D:\EngineeringSoftware\Anaconda\lib\site-packages\pyomo\solvers\plugins\solvers\direct_solver.py", line 68, in solve
    self.available(exception_flag=True)
  File "D:\EngineeringSoftware\Anaconda\lib\site-packages\pyomo\solvers\plugins\solvers\direct_or_persistent_solver.py", line 301, in available
    "plugin").format(type(self)))
pyutilib.common._exceptions.ApplicationError: No Python bindings available for <class 'pyomo.solvers.plugins.solvers.gurobi_direct.GurobiDirect'> solver plugin

ошибка. Одной из причин, которая может привести к такого рода ошибкам, является необходимость установки привязки Python вашего Gurobi. Эта привязка поставляется с вашей установкой Gurobi, но не устанавливается по умолчанию. При условии, что у вас уже есть действительная лицензия Gurobi, я предлагаю вам посетить

http://www.gurobi.com/documentation/8.1/quickstart_mac/the_gurobi_python_interfac.html

[ 1114] Чтобы подвести итог страницы поддержки,

  1. Откройте командную строку с правами администратора;
  2. Перейдите в папку, где находится ваша установка Gurobi;
  3. Тип [112 ] запустить установку привязки Python.

Вы можете проверить, установлен ли он, введя строку import gurobipy в консоли Python.

0
ответ дан V. Brunelle 22 January 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: