При использовании решателя Gurobi, solver_io = direct или параметры Python поддерживаются с Python 3.6? - PullRequest
2 голосов
/ 16 марта 2019

Вот игрушечный код, с которым я играю:

from __future__ import division
from pyomo.environ import *
from pyomo.opt import SolverStatus, TerminationCondition
import sys

sys.path.append('/Library/gurobi810/mac64/lib/gurobipy')

model = ConcreteModel()
model.x = Var([1,2], domain=NonNegativeReals)
model.obj = Objective(expr = 2*model.x[1] + 3*model.x[2])
model.constraint1 = Constraint(expr = 3*model.x[1] + 4*model.x[2] >= 1)

opt = SolverFactory('gurobi_direct')
#opt = SolverFactory('gurobi')
#opt = SolverFactory('gurobi', solver_io='python')

rr = opt.solve(model)

Приведенный выше код работает нормально, либо с solver_io = 'python', либо с 'gurobi_direct' только в Python 2.7виртуальная среда .Когда я работаю в виртуальной среде Python 3.6, я получаю следующую ошибку:

pyutilib.common._exceptions.ApplicationError: No Python bindings available for <class 'pyomo.solvers.plugins.solvers.gurobi_direct.GurobiDirect'> solver plugin

Означает ли это, что Pyomo не поддерживает эти параметры для Python 3.6?Любая работа вокруг?

1 Ответ

1 голос
/ 16 марта 2019

Вам также необходимо установить привязки Python для Gurobi с вашей виртуальной средой python 3.6 (используя установку python setup.py в привязках Gurobi)

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