从源代码中,我们可以看到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
))。
或者,我认为这是您真正想要做的,如果您想使用pyomo
连接到 CPLEX Python API 的接口,那么您只需要修复您的环境变量。
代替:
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