找不到cplex可执行文件

时间:2019-06-19 12:01:50

标签: anaconda cplex pyomo docplex

我正在尝试使用UBUNTU中的cplex求解器在pyomo中实现一个简单的优化问题。我的程序在glpk求解器中运行良好。现在我使用conda安装了cplex,docplex,但是在解决时得到了以下错误警告。它找不到cplex可执行文件

  

警告:无法找到求解器所需的'cplex'可执行文件
  错误:运行模型时发生意外异常:           找不到求解器“ cplex”的可执行文件   错误代码:1
  retval:无

我在.bashrc文件中的行下面添加了内容,但仍然无法获得结果

export PATH="/home/yash/anaconda3/envs/my_env/lib/python3.6/site-packages/docplex:$PATH"
export PATH="/home/yash/anaconda3/envs/my_env/lib/python3.6/site-packages/cplex:$PATH"

3 个答案:

答案 0 :(得分:0)

您跑步了吗    [installDir]/python/setup.py 在您的Python环境中?

答案 1 :(得分:0)

使用conda安装CPLEX仅会安装python库和该python库的引擎运行时。这不会安装运行该库所不需要的东西。

如果要查找cplex可执行文件,则要安装CPLEX Community Edition,然后运行Xavier上面提到的[installDir] /python/setup.py。

我认为您可以在此处注册并下载CPLEX CE:https://www.ibm.com/account/reg/us-en/signup?formid=urx-20028

答案 2 :(得分:0)

source code中,我们可以看到pyomo带有几个CPLEX求解器接口。这些接口之一要求PATH中包含cplex“ executable(即CPLEX” interactive“),但我相信这是默认设置。但是,在安装anaconda cplex软件包时, 不是获取此可执行文件。这部分解释了您收到的错误消息。

如果要使用CPLEXSHELL界面(即,用于CPLEX交互的界面),则需要安装IBM ILOG CPLEX Optimization Studio版本之一(例如,免费的Community Edition),然后将您的PATH更新为指向COS_INSTALL_DIR/cplex/bin/PLATFORM(其中COS_INSTALL_DIR是CPLEX Optimization Studio的安装位置,而PLATFORM是您安装的平台(例如, x86-64_linux)。

或者,我认为这是您真正想做的事情,如果您想使用连接到CPLEX Python API的pyomo接口,那么您只需要修复环境变量即可。 / p>

代替:

export PATH="/home/yash/anaconda3/envs/my_env/lib/python3.6/site-packages/cplex:$PATH"

尝试使用:

export PYTHONPATH="/home/yash/anaconda3/envs/my_env/lib/python3.6/site-packages:$PYTHONPATH"

还不清楚,但是看起来好像您已经将cplex软件包安装到Python虚拟环境(又名virtualenv)中一样。如果是这种情况,那么您只需“激活” virtualenv,即可自动访问cplex软件包。例如,以下可能适用于您:

cd /home/yash/anaconda3/envs/my_env/
source bin/activate
# use pyomo and cplex here
# when you're done, deactivate the virtualenv, like so:
deactivate
相关问题