用于python的coin或cbc本机接口
cbcp的Python项目详细描述
CBCPY
Coin或Branch and Cut解算器的本地Python接口(Cbc)。
说明
此项目提供了一种构建机制,用SWIG自动生成CBC C++代码和Python之间的包装代码。
该项目是作为CBC Coin或Sprint 2019年8月的一部分开发的。
以下平台的二进制文件是预编译的,可在pypi上使用。
- Linux x86_64/python 2.7
- Linux x86_64/python 3.5
- Linux x86_64/python 3.6
- Linux x86_64/python 3.7
- win x86/python 2.7版
- win x86/python 3.5版
- win x86/python 3.6
- win x86/python 3.7版
- win x86_64/python 3.5
- win x86_64/python 3.6
- win x86_64/python 3.7
不支持Linux x86。
安装
预编译的python包被部署到cbcpy Pypi repositories。
要安装cbcpy
,您应该使用pip
命令行:
pip install cbcpy
这些包包括cbc的预编译版本。
对于Windows:必须安装Visual C++ Redistributable for VS2015
用法
这里是一个使用cbcpy
的最简单的python脚本。
您可以从here下载p0033.mps
。
import cbcpy as cbc
solver1 = cbc.OsiClpSolverInterface()
solver1.readMps("p0033.mps")
model = cbc.CbcModel(solver1)
model.branchAndBound()
numberColumns = model.solver().getNumCols()
p_solution = model.solver().getColSolution()
solution = cbc.doubleArray_frompointer(p_solution)
for i in range(numberColumns):
value = solution[i]
print("%s has value %s" % (i, value))
文档
cbc项目的原始文档可以在python中使用help()
函数获得。
# python
Python 2.7.16 (default, Jul 13 2019, 16:01:51)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cbcpy
>>> help(cbcpy)
Help on module cbcpy:
故障排除
找不到指定的模块。
>>> import cbcpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python37-32\lib\site-packages\cbcpy.py", line 15, in <module>
import _cbcpy
ImportError: DLL load failed: The specified module could not be found.
当文件msvcp140.dll
无法
被发现。必须安装Visual C++ Redistributable for VS2015。
对于32位下载的“vc_redist.x86.exe”文件和64位下载的“vc_redist.x64.exe”文件。
支架
要获得CBCPY的社区帮助,您可以向Cbc mailing list发送电子邮件。
您也可以通过联系Patrik Dufresne Service Logiciel获得有偿支持。