找不到 cplex 可执行文件
cplex executable not found
我正在尝试在 UBUNTU 中使用 cplex 求解器在 pyomo 中实现一个简单的优化问题。我的程序使用 glpk 求解器运行良好。现在我使用 conda 安装了 cplex、docplex,但在解决问题时收到了以下错误警告。它找不到 cplex 可执行文件
WARNING: Could not locate the 'cplex' executable, which is required for solver
ERROR: Unexpected exception while running model:
No executable found for solver 'cplex'
errorcode: 1
retval: None
我在 .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"
你运行
[installDir]/python/setup.py
来自您的 Python 环境?
使用 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
从source code可以看出pyomo
自带了几个CPLEX求解器接口。这些接口之一要求 cplex "executable (i.e., the CPLEX "interactive") 在您的 PATH
中,我相信这是默认设置。但是,当您安装 anaconda cplex
软件包时,您需要 not 获取此可执行文件。这部分解释了您收到的错误消息。
如果您想要使用 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)中。如果是这种情况,那么您只需要 "activate" 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
我正在尝试在 UBUNTU 中使用 cplex 求解器在 pyomo 中实现一个简单的优化问题。我的程序使用 glpk 求解器运行良好。现在我使用 conda 安装了 cplex、docplex,但在解决问题时收到了以下错误警告。它找不到 cplex 可执行文件
WARNING: Could not locate the 'cplex' executable, which is required for solver
ERROR: Unexpected exception while running model: No executable found for solver 'cplex' errorcode: 1
retval: None
我在 .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"
你运行
[installDir]/python/setup.py
来自您的 Python 环境?
使用 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
从source code可以看出pyomo
自带了几个CPLEX求解器接口。这些接口之一要求 cplex "executable (i.e., the CPLEX "interactive") 在您的 PATH
中,我相信这是默认设置。但是,当您安装 anaconda cplex
软件包时,您需要 not 获取此可执行文件。这部分解释了您收到的错误消息。
如果您想要使用 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)中。如果是这种情况,那么您只需要 "activate" 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