首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pyomo无法找到“gurobi”可执行文件

pyomo无法找到“gurobi”可执行文件
EN

Stack Overflow用户
提问于 2021-02-01 12:30:41
回答 1查看 747关注 0票数 0

我对让pyomo和gurobi在python中进行交互有问题。我正在运行一个优化问题,其中我使用pyomo来构建优化问题本身,然后使用gurobi来解决它。我一直在深入研究这些问题,但不幸的是,我没有成功地找到解决办法。我遇到了几个令我困惑的观察结果。它们是:

  • 我能够解决gurobi从他们的网站提供的那些简单的优化问题之一。
  • 可以将gurobi导入到python中,但不能从bash中输入gurobi.sh (gurobi.sh)。我得到了一个(命令未找到-错误)。另一方面,我能够使用grbgetkey命令添加许可证。这表明gurobi没有安装或路径设置不正确,但我可以将其导入python.

我正在运行python2.7,pyomo6.5和gurobi9.1

另外,下面是bashrc文件的外观。这是有点复杂,但我强烈地假设路径是正确的。

代码语言:javascript
运行
复制
# User specific aliases and functions
export PATH=/usr/local/anaconda27/bin:$PATH
export LD_LIBRARY_PATH=/etc/glad-smail-liberr:$LD_LIBRARY_PATH

#export GUROBI_HOME="/opt/gurobi650/linux64"
export GUROBI_HOME="/usr/local/anaconda27"
export PATH="${PATH}:${GUROBI_HOME}/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
export GRB_LICENSE_FILE="${GUROBI_HOME}/lib/gurobi.lic"

下面,我插入了错误消息:

代码语言:javascript
运行
复制
WARNING:pyomo.solvers:Could not locate the 'gurobi' executable, which is required for solver gurobi
failed
Traceback (most recent call last):
File "scripts/solve_network.py", line 179, in <module>
    solve_model(network)
  File "scripts/solve_network.py", line 106, in solve_model
    network.lopf(network.snapshots,solver_name=solver_name,solver_io=solver_io,solver_options=solver_options,extra_functionality=extra_functionality,keep_files=network.opf_keep_files,formulation=options['formulation'])
  File "/usr/local/anaconda27/lib/python2.7/site-packages/pypsa-0.15.0-py2.7.egg/pypsa/opf.py", line 1673, in network_lopf
    extra_postprocessing=extra_postprocessing)
  File "/usr/local/anaconda27/lib/python2.7/site-packages/pypsa-0.15.0-py2.7.egg/pypsa/opf.py", line 1580, in network_lopf_solve
    network.results = network.opt.solve(*args, suffixes=["dual"], keepfiles=keep_files, logfile=solver_logfile, options=solver_options)
  File "/usr/local/anaconda27/lib/python2.7/site-packages/Pyomo-5.6-py2.7-linux-x86_64.egg/pyomo/opt/base/solvers.py", line 512, in solve
    self.available(exception_flag=True)
  File "/usr/local/anaconda27/lib/python2.7/site-packages/Pyomo-5.6-py2.7-linux-x86_64.egg/pyomo/solvers/plugins/solvers/GUROBI.py", line 155, in available
    val = ILMLicensedSystemCallSolver.available(self, exception_flag)
  File "/usr/local/anaconda27/lib/python2.7/site-packages/Pyomo-5.6-py2.7-linux-x86_64.egg/pyomo/opt/solver/ilmcmd.py", line 36, in available
    if not pyomo.opt.solver.shellcmd.SystemCallSolver.available(self, exception_flag):
  File "/usr/local/anaconda27/lib/python2.7/site-packages/Pyomo-5.6-py2.7-linux-x86_64.egg/pyomo/opt/solver/shellcmd.py", line 126, in available
    raise ApplicationError(msg % self.name)
pyutilib.common._exceptions.ApplicationError: No executable found for solver 'gurobi'

此错误消息清楚地指出,pyomo无法定位gurobi isntallation。但是,我可以在没有使用pyomo的其他优化问题中使用gurobi。

我真的希望有人能让我走。

EN

回答 1

Stack Overflow用户

发布于 2021-03-06 20:07:02

您的GUROBI_HOME环境变量不正确。正确的路径在上面的行中注释掉:

代码语言:javascript
运行
复制
export GUROBI_HOME="/opt/gurobi650/linux64"

您还应该更新到Python3--不再支持版本2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65992778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档