跳转到主要内容

Gurobi后端,用于Sage MixedIntegerLinearProgram

项目描述

sage-numerical-backends-gurobi: SageMath的Gurobi混合整数线性规划后端

PyPI

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 设置为包含子目录 binlib ... 的目录。

      $ export GUROBI_HOME=/opt/gurobi900/linux64
    

    然后调整您的 PATH(或创建符号链接),以便可以从 PATH 中找到交互式Gurobi shell gurobi.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 (27.1 kB 查看哈希值)

上传时间 来源

由以下支持