找不到 CPLEX 可执行文件



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

警告:找不到"cplex"可执行文件,这是求解器所必需的
错误:运行模型时出现意外异常: 找不到求解器"cplex"的可执行文件 错误代码: 1
回复: 无

我在 .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"

从源代码中,我们可以看到pyomo附带了几个 CPLEX 求解器接口。其中一个接口要求 cplex"可执行文件"(即 CPLEX"交互式")在您的PATH中,我相信这是默认值。但是,当您安装 anacondacplex软件包时,您不会获得此可执行文件。这部分解释了您收到的错误消息。

如果要使用CPLEXSHELL

界面(即,与 CPLEX交互交互的界面),则需要安装一个 IBM ILOG CPLEX Optimization Studio 版本(例如,免费的社区版),然后更新PATH以指向COS_INSTALL_DIR/cplex/bin/PLATFORM(其中COS_INSTALL_DIR是安装 CPLEX Optimization Studio 的位置,PLATFORM是安装的平台(例如,x86-64_linux))。

或者,我认为这就是你真正想要做的,如果你想使用连接到 CPLEX Python API 的pyomo接口,那么你只需要修复你的环境变量。

而不是:

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

使用 conda 安装 CPLEX 仅安装该 Python 库的 python 库和引擎运行时。这不会安装库运行不需要的内容。

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

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

你跑了吗[installDir]/python/setup.py从你的 Python 环境?

最新更新