【问题标题】:cplex executable not found找不到 cplex 可执行文件
【发布时间】:2019-11-02 03:59:13
【问题描述】:

我正在尝试使用 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"

【问题讨论】:

  • 您能否仔细检查您添加到PATH 的目录中是否至少有一个包含 cplex 可执行文件? cplex 可执行文件可能位于 bin/ 或类似的子目录中。

标签: anaconda cplex pyomo docplex


【解决方案1】:

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

如果您想使用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

【讨论】:

    【解决方案2】:

    使用 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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-20
        • 2012-07-22
        • 2017-05-07
        • 1970-01-01
        • 2020-10-25
        • 2021-12-14
        相关资源
        最近更新 更多