簡介
本指南將說明如何使用原始碼「或」工具,並支援 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
仙人掌
參考資源: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 將套件簽署金鑰新增至信任的金鑰清單,然後新增套件 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
參照: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
參照: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 工具原始碼中有兩個不同的分支
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 檢查特定版本 標記。 舉例來說,如果想使用 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 搭配使用 會預設為停用支援功能的解題工具:
- 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-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