簡介
本指南說明如何在 Linux 支援 .Net 的情況下透過原始碼 OR-Tools 建構應用程式。
除非您打算修改原始碼,或是搭配 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 23.10 64 位元 (x86_64)
- Ubuntu 22.04 LTS 64 位元 (x86_64)
- Ubuntu 20.04 LTS 64 位元 (x86_64)
必要條件
以下各節說明安裝 OR-工具的必要條件。
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
半數
ref:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-centos#centos-7sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
Debian
安裝 .NET 之前,請執行下列指令,將 Microsoft 套件簽署金鑰新增至信任金鑰清單,並新增套件存放區。
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
ref: https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-debiansudo apt update
sudo apt install -y dotnet-sdk-6.0
費多拉帽
sudo dnf install -y dotnet-sdk-6.0
ref:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-fedora
費多拉帽
sudo dnf install -y dotnet-sdk-6.0
ref:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-fedora
OpenSUSE
安裝 .NET 之前,請執行下列指令,將 Microsoft 套件簽署金鑰新增至信任金鑰清單,並新增套件存放區。
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
ref: https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref:https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-ubuntu
下載原始碼
GitHub 上的 OR-Tools 原始碼有兩個不同的分支版本: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 標記查看特定版本。舉例來說,如要使用 9.9 版而非main
分支版本,請在本機存放區中輸入以下指令:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
設定建構
在建構 OR-Tools 之前,您需要設定 CMake 建構系統產生器。
開啟終端機,前往解壓縮檔案的目錄。 接著輸入:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
詳情請參閱 CMake 說明文件。
使用 SCIP
v7.8 現已整合 SCIP,因此您不必手動安裝。
使用 Gurobi
Gurobi 現已預先整合。如有需要,OR-Tools 會在 MAC OS X 和 Windows 的預設安裝路徑中,或使用 GUROBI_HOME
環境變數搜尋 Gurobi 共用資料庫。
使用選用的第三方 MIP 解題工具
您也可以將 OR-Tools 與下列任一選用第三方 MIP 解決方案搭配使用 (該解決方案預設為停用):
- CPLEX
- GLPK (僅限 Linux 和 MacOS)
- XPRESS 解題工具
詳情請參閱這份說明文件。
建構原始碼
如要建構原始碼,請開啟終端機並前往解壓縮檔案的目錄。然後輸入下列指令來編譯 OR-工具:
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-工具
您可以在作業系統上輸入以下指令,安裝適用於 .Net 的 OR-Tools:
cmake --build build --config Release --target install -v