はじめに
このガイドでは、Linux で C++ をサポートするソース OR-Tools からビルドする方法について説明します。
ソースコードを変更する予定や、OR-Tools でサードパーティのソルバーを使用する予定がない場合は、パッケージのインストールをおすすめします。
この手順は他の Linux バリアントでも動作する可能性がありますが、以下の要件を満たすマシンでのみテストしています。
- Alpine Edge 64 ビット(x86_64)
- Centos 7 LTS 64-bit(x86_64)
- Debian SID 64 ビット(x86_64)
- Debian 11(bullseye)64 ビット(x86_64)
- Fedora 38 64 ビット(x86_64)
- Fedora 37 64-bit(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-Tools をインストールするための前提条件について説明します。
C++ ツール
C++ ツールをインストールするには、ターミナル ウィンドウを開いて次のように入力します。
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
Centos
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
ソースコードをダウンロードする
GitHub の OR-Tools ソースコードには、stable
と main
の 2 つの異なるブランチがあります。
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 タグを使用して特定のリリースをチェックアウトできます。たとえば、main
ブランチではなく v9.9 リリースを使用するには、ローカル リポジトリに次のコマンドを入力します。git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
ビルドを構成する
OR-Tools をビルドする前に、CMake ビルドシステム生成ツールを構成する必要があります。
ターミナルを開き、ファイルを抽出したディレクトリに移動します。続いて、次のように入力します。
cmake -S . -B build -DBUILD_DEPS=ON
詳しくは、CMake のドキュメントをご覧ください。
SCIP の使用
v7.8 以降、SCIP は統合されているので、手動でインストールする必要はありません。
Gurobi の使用
Gurobi は事前統合されました。必要に応じて、OR-Tools は実行時に、MAC OS X と Windows の Gurobi インストーラのデフォルトのインストール パスから、または GUROBI_HOME
環境変数を使用して、Gurobi 共有ライブラリを検索します。
オプションのサードパーティ製 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
cmake --build build --config Release --target all -j -v
オペレーティング システムに OR-Tools をインストールする
OR-Tools for C++ をオペレーティング システムにインストールするには、次のコマンドを入力します。
cmake --build build --config Release --target install -v