跳转到主要内容

Coin-or CBC的Python原生接口

项目描述

Linux Build Status

Windows Build status

cbcpy

Coin-or分支和割解算子的Python原生接口(Cbc)。

描述

该项目提供了构建机制,用于使用SWIG自动生成Cbc C++代码和Python之间的包装代码。

该项目是在2019年8月CBC Coin-or Sprint期间开发的。

以下平台的二进制文件已预先编译并可在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存储库。要安装cbcpy,您应该使用pip命令行

pip install cbcpy

这些包包括Cbc的预编译版本。

对于Windows:您必须安装Visual C++ Redistributable for VS2015

使用方法

这里有一个使用 cbcpy 的最小化 Python 脚本。您可以在此处下载 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))

文档

使用 help() 函数可以在 Python 中访问 Cbc 项目的原始文档。

# 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.

此错误可能在 Windows 平台上发生,当找不到 msvcp140.dll 文件时。您必须安装 Visual C++ Redistributable for VS2015。对于 32 位下载 "vc_redist.x86.exe" 文件,对于 64 位下载 "vc_redist.x64.exe" 文件。

支持

要获取 cbcpy 的社区支持,您可以向 Cbc 邮件列表 发送电子邮件。

您还可以通过联系 Patrik Dufresne Service Logiciel 获得付费支持。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅 生成分发存档的教程

构建分发

cbcpy-2.10.3a2-cp37-cp37m-win_amd64.whl (2.1 MB 查看散列值)

上传时间 CPython 3.7m Windows x86-64

cbcpy-2.10.3a2-cp37-cp37m-win32.whl (1.7 MB 查看散列值)

上传时间 CPython 3.7m Windows x86

cbcpy-2.10.3a2-cp37-cp37m-manylinux2010_x86_64.whl (4.5 MB 查看散列值)

上传时间 CPython 3.7m manylinux: glibc 2.12+ x86-64

cbcpy-2.10.3a2-cp36-cp36m-win_amd64.whl (2.1 MB 查看散列值)

上传时间 CPython 3.6m Windows x86-64

cbcpy-2.10.3a2-cp36-cp36m-win32.whl (1.7 MB 查看散列值)

上传时间 CPython 3.6m Windows x86

cbcpy-2.10.3a2-cp36-cp36m-manylinux2010_x86_64.whl (4.5 MB 查看散列值)

上传时间 CPython 3.6m manylinux: glibc 2.12+ x86-64

cbcpy-2.10.3a2-cp35-cp35m-win_amd64.whl (2.1 MB 查看哈希值)

上传于 CPython 3.5m Windows x86-64

cbcpy-2.10.3a2-cp35-cp35m-win32.whl (1.7 MB 查看哈希值)

上传于 CPython 3.5m Windows x86

cbcpy-2.10.3a2-cp35-cp35m-manylinux2010_x86_64.whl (4.5 MB 查看哈希值)

上传于 CPython 3.5m manylinux: glibc 2.12+ x86-64

cbcpy-2.10.3a2-cp27-cp27mu-manylinux2010_x86_64.whl (4.5 MB 查看哈希值)

上传于 CPython 2.7mu manylinux: glibc 2.12+ x86-64

cbcpy-2.10.3a2-cp27-cp27m-manylinux2010_x86_64.whl (4.5 MB 查看哈希值)

上传于 CPython 2.7m manylinux: glibc 2.12+ x86-64

支持者