Gurobi后端,用于Sage MixedIntegerLinearProgram
项目描述
sage-numerical-backends-gurobi: SageMath的Gurobi混合整数线性规划后端
GurobiBackend
之前曾作为SageMath源代码树的一部分提供,如果手动将专有Gurobi库和头文件链接到 $SAGE_LOCAL
,则作为“可选扩展”构建。
由于Gurobi软件的专有性质,GurobiBackend
不在SageMath的任何二进制发行版中提供。
本独立Python包 sage-numerical-backends-gurobi
是从 SageMath 源代码(版本 9.0.beta10)创建的;在 Sage工单 #28175 中删除了树内版本的 GurobiBackend
。SageMath 9.1 及更高版本将该包作为可选Sage包(SPKG)提供。
当前版本的此包也可以使用pip在各种Sage安装上安装。(您的Sage安装必须基于Python 3;如果您的SageMath版本为9.2或更高,则如此。)
安装Gurobi
按照网站上的说明安装Gurobi,包括获取许可证密钥。
-
在Linux系统上,在期望的位置(如
/opt
)解压缩Gurobi存档后,将环境变量GUROBI_HOME
设置为包含子目录bin
、lib
... 的目录。$ export GUROBI_HOME=/opt/gurobi900/linux64
然后调整您的
PATH
(或创建符号链接),以便可以从PATH
中找到交互式Gurobi shellgurobi.sh
。$ export PATH="$GUROBI_HOME/bin:$PATH"
-
在macOS上,Gurobi安装程序应将交互式Gurobi shell
gurobi.sh
放在/usr/local/bin
中,因此可以从PATH
中访问。
通过输入shell命令 gurobi.sh
来验证这一点:
$ gurobi.sh
Python 3.7.4 (default, Aug 27 2019, 11:27:39)
...
Gurobi Interactive Shell (mac64), Version 9.0.0
Copyright (c) 2019, Gurobi Optimization, LLC
Type "help()" for help
gurobi>
如果不起作用,请调整您的 PATH
(或创建符号链接),以便找到 gurobi.sh
。
安装此包
此包使用 GUROBI_HOME
环境变量查找Gurobi安装。(在macOS上,只需在 PATH
中有 gurobi.sh
即可。)另一种构建配置方法是适当设置编译器/链接器标志。
在 SageMath 9.1 及更高版本 中,此包作为可选SPKG提供,可以使用以下方式安装:
$ sage -i sage_numerical_backends_gurobi
或者,您可以使用以下方式从PyPI安装此包:
$ sage -pip install sage-numerical-backends-gurobi
或者从检出的源树使用
$ sage -pip install .
或者从GitHub使用
$ sage -pip install git+https://github.com/sagemath/sage-numerical-backends-gurobi
(有关各种系统上包的依赖项的详细信息,请参阅相关包 sage-numerical-backends-coin 中的 build.yml
。)
使用此包
安装成功后,Sage将自动将此新后端作为默认MIP求解器。
要显式将 'Gurobi'
求解器作为默认MIP后端选择,请使用以下命令。
sage: default_mip_solver('Gurobi')
要使这些设置永久生效,请将上述2 + 1个命令添加到您的 ~/.sage/init.sage
文件中。请注意,此设置不会影响doctesting(sage -t
),因为在doctesting模式下此文件将被忽略。
运行doctests
要运行此包的(有限的)测试套件,使用
$ sage setup.py test
如果没有Gurobi许可证,测试将跳过而不会出错。
要使用此包提供的后端将默认MIP求解器设置为Sage测试套件,使用
$ sage setup.py check_sage_testsuite
如果没有Gurobi许可证,测试将跳过而不会出错。
使用tox运行测试
doctests也可以使用 tox
来调用
$ tox -e local
$ tox -e local check_sage_testsuite.py
并行测试多个安装的Gurobi版本(请参阅 tox.ini
)
$ tox -p auto
项目详情
sage_numerical_backends_gurobi-10.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3c3b51d6577f651d10cb7f6fc37ca4bb27c6fe2716d6515d1d23eeed1f34e32a |
|
MD5 | 99d2f0d049e46c0324131ba6ab39f672 |
|
BLAKE2b-256 | 3d85ae0c683d9d51c0bcc11ccfec7207f2564e6e3d6279c628e0aaed88b4ac41 |