原来使用的是直接在python中,使用pip install CPLEX的社区版。平时我就跑论文中的代码时用python,感觉能把代码跑起来就行,不作为生产工具。最近把模型的参数改动的复杂一些,直接报错:
PLEX Error 1016: Community Edition. Problem size limits exceeded. Purchase at http://ibm.biz/error1016.
社区版无法满足要求了,只能想办法换,我的python版本3.7.2,搜了一圈,决定换成学术版的CPLEX 12.10版本。(注意下表仅供参考,我自己没有验证,从别的地方看来了)
学术版CPLEX版本 | python版本 |
---|---|
12.8 | 2.7、3.5、3.6 |
12.10 | 3.6、3.7 |
22.1.0 | 3.7、3.8、3.9、2.10 |
CPLEX 12.10百度网盘下载地址(感谢知乎老哥——躺平生活):
https://pan.baidu.com/s/1C5bhjcJgqG5sOT0WxN3KuA
验证码:wcxx
首先,注意先把原来的社区版CPLEX卸载
pip uninstall CPLEX
卸载的时候,我们其实根据提示可以看到,社区版cplex的主要文件在site-packages下面
在CPLEX学术版下载完成后,点击安装,按照引导,一步步安装即可(忘记截图,可参考下图)。
安装完成后,按照其他帖子,我先安装了Anaconda的2021.05版本,下载地址:
https://repo.anaconda.com/archive/
可是下载完成后,按照其他帖子的说法,在Anaconda prompt中打开cplex位置,然后运行
python setup.py install
可是,失败了!它给我报错,说CPLEX12.10与我的python版本不匹配!:
Exception: CPLEX 12.10.0.0 is not compatible with this version of Python.
我直接一口老血喷屏幕上,搞了半天了,给我来个这个。我想可能要像其他帖子一样,创建python 3.7环境,然后再执行。就在我一筹莫展的时候,知乎里一个老哥提到,可以直接将CPLEX文件夹复制到site-packages下,就可以运行了。死马当活马医,就这么试时。
CPLEX默认文件夹位置一般是:C:\Program Files\IBM\ILOG\CPLEX_Enterprise_Server1210\CPLEX_Studio\cplex\python\3.7\x64_win64
复制后,安装到python的lib/site-packages
然后在代码中试试导入CPLEX,成功!
使用cvxpy调用CPLEX也没问题。
这样起码能先跑起来运行了。