简介
本指南介绍如何从源 OR 工具进行构建,支持 Java 和 Linux 上的 Java。
除非您打算修改源代码或使用第三方求解器,否则 OR 工具,我们建议使用软件包安装。
虽然这些说明可能也适用于其他 Linux 版本 仅在满足以下要求的计算机上进行了测试:
- Alpine Edge 64 位 (x86_64)
- Centos 7 LTS 64 位 (x86_64)
- Debian SID 64 位 (x86_64)
- Debian 11 (bullseye) 64 位 (x86_64)
- Fedora 38 64 位 (x86_64)
- Fedora 37 64 位 (x86_64)
- OpenSuse Leap 64 位 (x86_64)
- Ubuntu 24.04 64 位 (x86_64)
- Ubuntu 22.04 LTS 64 位 (x86_64)
- Ubuntu 20.04 LTS 64 位 (x86_64)
前提条件
以下各部分介绍了安装 OR-Tools 的前提条件。
C++ 工具
如需安装 C++ 工具,请打开终端窗口并输入:
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
森托斯
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core
Debian
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Fedora
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
Fedora
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
OpenSUSE
sudo zypper refresh
sudo zypper install -y git gcc11 gcc11-c++ lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
SWIG
如需安装 SWIG,请打开终端窗口并输入以下内容:
Alpine
apk add swig
森托斯
sudo yum install -y swig
Debian
sudo apt install -y swig
Fedora
sudo dnf install -y swig
Fedora
sudo dnf install -y swig
OpenSUSE
sudo zypper install -y swig
Ubuntu
sudo apt install -y swig
Ubuntu
sudo apt install -y swig
Ubuntu
sudo apt install -y swig
Java JDK 8.0 或更高版本
要安装 Java JDK 8.0 或更高版本,请打开终端窗口并输入:
Alpine
sudo apk add openjdk8
export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
森托斯
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
Debian
sudo apt install -y default-jdk
export JAVA_HOME=/usr/lib/jvm/default-java
Fedora
sudo dnf install -y java-openjdk java-openjdk-devel
Fedora
sudo dnf install -y java-openjdk java-openjdk-devel
OpenSUSE
sudo zypper install -y java-1_8_0-openjdk java-1_8_0-openjdk-devel
Ubuntu
sudo apt install -y default-jdk
Ubuntu
sudo apt install -y default-jdk
Ubuntu
sudo apt install -y default-jdk
Maven 3.3 及更高版本
要安装 Maven 3.3 或更高版本,请打开终端窗口并输入以下内容:
Alpine
sudo apk add maven
森托斯
sudo yum install -y maven
Debian
sudo apt install -y maven
Fedora
sudo dnf install -y maven
Fedora
sudo dnf install -y maven
OpenSUSE
sudo zypper install -y maven
Ubuntu
sudo apt install -y maven
Ubuntu
sudo apt install -y maven
Ubuntu
sudo apt install -y maven
您可以测试 Maven 是否已正确安装,并可以使用以下命令找到 java:
mvn -v
下载源代码
OR-Tools 源代码有两个不同的分支,
GitHub:stable
和 main
。
stable
分支已经过全面测试,应该能够
支持的平台
main
分支用于存放
已进行了多项改进;虽然版本较新,但稳定性较差。
下载稳定的源代码
您可以通过以下任一方式获取 OR-Tools 的稳定源代码:
输入以下命令来克隆
stable
分支:git clone https://github.com/google/or-tools
点击 GitHub 中的
Clone or download
按钮。
下载主源代码
如需从 main
分支检索源代码,请输入:
git clone -b main https://github.com/google/or-tools
下载先前版本
您可以通过以下任一方式获取先前版本的源代码:
- 请从 GitHub 发布页面下载之前的版本。
假设您已经(通过
git clone
)创建了一个本地代码库, 则可以使用 Git 代码。 例如,要使用 v9.10 版本,而不是main
分支时,在本地代码库中输入以下命令:git fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
配置构建
在构建 OR-Tools 之前,您需要配置 CMake 构建系统 生成器。
打开终端并导航到解压缩文件的目录。 然后输入以下命令:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
查看 CMake 文档 了解详情。
使用 SCIP
自 v7.8 起,SCIP 现已集成,因此您无需手动安装。
使用 Gurobi
Gurobi 现已预先集成。必要时,OR-Tools 会在运行时搜索
Gurobi 安装程序的默认安装路径中的 Gurobi 共享库
或在 MAC OS X 和 Windows 上运行,或者使用 GUROBI_HOME
环境变量。
使用可选的第三方 MIP 求解器
您还可以将 OR-Tools 与以下任一可选的第三方 MIP 搭配使用 支持默认停用的求解器:
- CPLEX
- GLPK(仅限 Linux 和 MacOS)
- XPRESS 求解器
请查看 此文档 了解详情。
构建源代码
如需构建源代码,请打开终端并导航到 文件。然后输入以下命令来编译 OR-Tools:
cmake --build build --config Release --target all -j -v
查看 CMake 文档 了解详情。
测试源代码
您可以输入以下命令,检查是否一切正常:
cmake --build build --config Release --target test -v
这会运行 OR-Tools 示例。如果所有示例都运行 您就可以 开始使用 OR 工具。
清理构建文件
如果您需要重新安装 OR-Tools,请使用以下命令:
rm -r build
将移除所有已编译的依赖项 这对于重置为干净状态非常有用。
然后重新输入以下命令:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
cmake --build build --config Release --target all -j -v
在操作系统上安装 OR-工具
您可以在操作系统中安装适用于 Java 的 OR-Tools,方法是输入以下命令:
cmake --build build --config Release --target install -v