Linux のソース OR-Tools .Net からビルドする

はじめに

このガイドでは、ソース OR-Tools からビルドする方法と、 .NET、Linux 上の .Net、

ソースコードを変更する場合や、サードパーティのソルバーを使用する場合を除いて、 OR-Tools の場合は、パッケージのインストールをおすすめします。

この手順は他の 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 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

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

SWIG

SWIG をインストールするには、ターミナル ウィンドウを開き、次のように入力します。

Alpine

apk add swig

セントス

sudo yum install -y swig

Debian

sudo apt install -y swig

Fedora

sudo dnf install -y swig

Fedora

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/ja-jp/dotnet/core/install/linux-centos#centos-7
<ph type="x-smartling-placeholder">
</ph>

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
sudo apt update
sudo apt install -y dotnet-sdk-6.0
参照: https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian
<ph type="x-smartling-placeholder">
</ph>

Fedora

sudo dnf install -y dotnet-sdk-6.0
参照: https://learn.microsoft.com/en-us/dotnet/core/install/linux-fedora
<ph type="x-smartling-placeholder">
</ph>

Fedora

sudo dnf install -y dotnet-sdk-6.0
参照: https://learn.microsoft.com/en-us/dotnet/core/install/linux-fedora
<ph type="x-smartling-placeholder">
</ph>

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
参照: https://learn.microsoft.com/en-us/dotnet/core/install/linux-opensuse
<ph type="x-smartling-placeholder">
</ph>

Ubuntu

sudo apt install -y dotnet-sdk-6.0
参照: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
<ph type="x-smartling-placeholder">
</ph>

Ubuntu

sudo apt install -y dotnet-sdk-6.0
参照: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
<ph type="x-smartling-placeholder">
</ph>

Ubuntu

sudo apt install -y dotnet-sdk-6.0
参照: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

ソースコードをダウンロードする

OR-Tools のソースコードには、2 つの異なるブランチがあります。 GitHub: stablemain

stable ブランチは徹底的にテストされており、どのシステムでも問題なく動作するはずです。 サポートしています。
main ブランチには、最新のアップデートと 改善が行われました。最新のものですが安定性に欠けます

安定版のソースコードをダウンロードする

OR-Tools の安定したソースコードは、次のいずれかの方法で取得できます。

  • 次のコマンドを入力して stable ブランチのクローンを作成します。

    git clone https://github.com/google/or-tools
    
  • 最新のリリースを圧縮ファイルでダウンロードするには、 GitHubClone or download ボタン。 クローン作成またはダウンロード ボタンの画像

で確認できます。

メイン ソースコードをダウンロードする

main ブランチからソースコードを取得するには、次のように入力します。

git clone -b main https://github.com/google/or-tools

以前のリリースをダウンロードする

以前のリリースのソースコードは、次のいずれかの方法で入手できます。

  • 以前のリリースを GitHub リリースページからダウンロードします。
  • git clone までに)ローカル リポジトリをすでに作成していると仮定します。 特定のリリースをチェックアウトするには、 タグ。 たとえば、 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 の使用

v7.8 以降、SCIP が統合されたため、手動でインストールする必要はありません。

Gurobi の使用

Gurobi は事前に統合されています。OR-Tools は必要に応じて、実行時に Gurobi インストーラのデフォルトのインストール パスにある Gurobi 共有ライブラリ GUROBI_HOME 環境変数を使用します。

オプションのサードパーティ MIP ソルバーの使用

OR ツールは、次のオプションのサードパーティ製 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 をインストールする

オペレーティング システムに OR-Tools for .Net をインストールするには、次のように入力します。

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