在 Linux 上使用原始碼或工具 .Net 建構

簡介

本指南將說明如何使用原始碼「或」工具,並支援 Linux 上的 .Net。

除非您打算修改原始碼或使用第三方解答工具 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

SWIG

如要安裝 SWIG,請開啟終端機視窗並輸入:

Alpine

apk add swig

仙人掌

sudo yum install -y swig

Debian

sudo apt install -y swig

費多拉帽

sudo dnf install -y swig

費多拉帽

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

.Net Core SDK >= 3.1

接下來,請安裝 .Net Core SDK 3.1 以上版本。方法如下 開啟終端機視窗並輸入:

Alpine

apk add dotnet6-sdk
    

ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine

仙人掌

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
參考資源:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-centos#centos-7

Debian

安裝 .NET 前,請先執行下列指令新增 Microsoft 將套件簽署金鑰新增至信任的金鑰清單,然後新增套件 Cloud Storage 也提供目錄同步處理功能

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y dotnet-sdk-6.0
參照:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-debian

費多拉帽

sudo dnf install -y dotnet-sdk-6.0
參照:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-fedora

費多拉帽

sudo dnf install -y dotnet-sdk-6.0
參照:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-fedora

OpenSUSE

安裝 .NET 前,請先執行下列指令新增 Microsoft 將套件簽署金鑰新增至信任的金鑰清單,然後新增套件 Cloud Storage 也提供目錄同步處理功能

sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo

接著,您可以使用下列指令安裝 .Net SDK:

sudo zypper install -y dotnet-sdk-6.0
參照:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-opensuse

Ubuntu

sudo apt install -y dotnet-sdk-6.0
參照:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
參照:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
參照:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-ubuntu

下載原始碼

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 -DBUILD_DOTNET=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 -DBUILD_DOTNET=ON

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

在作業系統上安裝 OR-Tools

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

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