透過 Linux 上的原始碼 OR-Tools C++ 建構

簡介

本指南將說明如何使用原始碼「或」工具,並支援 C++、Linux 上的問題。

除非您打算修改原始碼或使用第三方解答工具 OR-Tools,建議使用套件安裝

上述指示或許也適用於其他 Linux 版本, 只是在符合下列需求條件的機器上測試:

  • 高山邊緣 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

費多拉帽

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

費多拉帽

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

下載原始碼

OR 工具原始碼中有兩個不同的分支 GitHubstablemain

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 檢查特定版本 標記。 舉例來說,如果想使用 9.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

查看 CMake 說明文件

使用 SCIP

SCIP 自 7.8 版起現已整合,因此您不必手動安裝。

使用 Gurobi

Gurobi 現已預先整合。在必要時,OR-Tools 會在執行階段搜尋 使用 Gurobi 安裝程式的預設安裝路徑 ,或使用 GUROBI_HOME 環境變數。

使用選用的第三方 MIP 解析器

您也可以將 OR-Tools 與下列任一選用第三方 MIP 搭配使用 會預設為停用支援功能的解題工具:

請參閱 這份說明文件

建構原始碼

如要建構原始碼,請開啟終端機並前往以下目錄: 解壓縮檔案然後輸入下列指令來編譯 OR-Tools:

cmake --build build --config Release --target all -j -v

查看 CMake 說明文件

測試原始碼

您可以輸入以下指令,檢查系統是否正常運作:

cmake --build build --config Release --target test -v

這會執行 OR-Tools 範例。如果所有範例都執行了 即可開始 開始使用 OR-Tools

清除建構檔案

如需重新安裝 OR-Tools,請執行以下指令:

rm -r build

會移除所有已編譯的依附元件 這在重設為乾淨狀態時很實用。

然後重新輸入指令:

cmake -S . -B build -DBUILD_DEPS=ON

cmake --build build --config Release --target all -j -v

在作業系統上安裝 OR-Tools

如要在作業系統上安裝 C++ 適用的 OR-Tools,請輸入:

cmake --build build --config Release --target install -v