Aus der Quell-OR-Tools .Net unter Linux erstellen

Einleitung

In dieser Anleitung wird erläutert, wie Sie unter Linux aus Quell-OR-Tools mit Unterstützung für .Net erstellen.

Sofern Sie nicht vorhaben, den Quellcode zu ändern oder einen Solver eines Drittanbieters mit OR-Tools zu verwenden, empfehlen wir die Paketinstallation.

Obwohl diese Anleitung möglicherweise auch für andere Linux-Varianten funktioniert, wurde sie nur auf Computern getestet, die die folgenden Anforderungen erfüllen:

  • Alpine Edge 64-Bit (x86_64)
  • Centos 7 LTS 64-Bit (x86_64)
  • Debian SID 64-Bit (x86_64)
  • Debian 11 (Zielscheibe) 64-Bit (x86_64)
  • Fedora 38 64-Bit (x86_64)
  • Fedora 37 64-Bit (x86_64)
  • OpenSuse Leap 64-Bit (x86_64)
  • Ubuntu 23.10 64-Bit (x86_64)
  • Ubuntu 22.04 LTS 64-Bit (x86_64)
  • Ubuntu 20.04 LTS 64-Bit (x86_64)

Voraussetzungen

In den folgenden Abschnitten werden die Voraussetzungen für die Installation von OR-Tools beschrieben.

C++-Tools

Um C++-Tools zu installieren, öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:

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

WISCHEN

Um SWIG zu installieren, öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:

Alpine

apk add swig

Centos

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 ab 3.1

Installieren Sie als Nächstes die .Net Core SDK-Version 3.1 oder höher. Öffnen Sie dazu ein Terminalfenster und geben Sie Folgendes ein:

Alpine

apk add dotnet6-sdk
    

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

Centos

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-centos#centos-7

Debian

Führen Sie vor der Installation von .NET die folgenden Befehle aus, um den Signaturschlüssel des Microsoft-Pakets in die Liste der vertrauenswürdigen Schlüssel aufzunehmen und das Paket-Repository hinzuzufügen.

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
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-debian

Fedora

sudo dnf install -y dotnet-sdk-6.0
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-fedora

Fedora

sudo dnf install -y dotnet-sdk-6.0
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-fedora

OpenSUSE

Führen Sie vor der Installation von .NET die folgenden Befehle aus, um den Signaturschlüssel des Microsoft-Pakets in die Liste der vertrauenswürdigen Schlüssel aufzunehmen und das Paket-Repository hinzuzufügen.

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

Anschließend können Sie das .Net SDK mithilfe des folgenden Befehls installieren:

sudo zypper install -y dotnet-sdk-6.0
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-opensuse

Ubuntu

sudo apt install -y dotnet-sdk-6.0
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-Ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-Ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-Ubuntu

Quellcode herunterladen

Es gibt zwei verschiedene Zweige des OR-Tools-Quellcodes auf GitHub: stable und main.

Der stable-Zweig wurde gründlich getestet und sollte auf allen unterstützten Plattformen einwandfrei funktionieren.
Im main-Zweig wurden die neuesten Updates und Verbesserungen angewendet. Er ist aktueller, aber weniger stabil.

Stabilen Quellcode herunterladen

Sie können den stabilen Quellcode für ODER-Tools auf eine der folgenden Arten abrufen:

  • Klonen Sie den stable-Zweig durch Eingabe von:

    git clone https://github.com/google/or-tools
    
  • Laden Sie den neuesten Release als komprimierte Datei herunter. Klicken Sie dazu in GitHub auf die Schaltfläche Clone or download. Bild einer Schaltfläche zum Klonen oder Herunterladen

Hauptquellcode herunterladen

Geben Sie Folgendes ein, um den Quellcode aus dem main-Zweig abzurufen:

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

Frühere Releases herunterladen

Sie haben folgende Möglichkeiten, den Quellcode für frühere Releases abzurufen:

  • Laden Sie einen vorherigen Release von der GitHub-Releaseseite herunter.
  • Wenn Sie bereits ein lokales Repository (mit git clone) erstellt haben, können Sie einen bestimmten Release mit einem Git-Tag auschecken. Wenn Sie beispielsweise mit Version 9.9 statt mit dem Zweig main arbeiten möchten, geben Sie die folgenden Befehle in Ihr lokales Repository ein:

    git fetch --all --tags --prune
    git checkout tags/v9.9 -v v9.9
    

Build konfigurieren

Bevor Sie die OR-Tools erstellen können, müssen Sie den Build-Systemgenerator CMake konfigurieren.

Öffnen Sie ein Terminal und rufen Sie das Verzeichnis auf, in dem Sie die Dateien extrahiert haben. Geben Sie als Nächstes Folgendes ein:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

Weitere Informationen finden Sie in der CMake-Dokumentation.

SCIP verwenden

Seit Version 7.8 ist SCIP jetzt integriert, sodass Sie es nicht mehr manuell installieren müssen.

Gurobi verwenden

Gurobi ist jetzt vorintegriert. Bei Bedarf sucht OR-Tools während der Laufzeit im Standardinstallationspfad der Gurobi-Installationsprogramme unter MAC OS X und Windows oder mithilfe der Umgebungsvariablen GUROBI_HOME nach der gemeinsam genutzten Gurobi-Bibliothek.

Optionalen MIP-Rechner eines Drittanbieters verwenden

Sie können die ODER-Tools auch mit den folgenden optionalen MIP-Lösern von Drittanbietern verwenden, deren Unterstützung standardmäßig deaktiviert ist:

Weitere Informationen finden Sie in dieser Dokumentation.

Quellcode erstellen

Öffnen Sie zum Erstellen des Quellcodes ein Terminal und rufen Sie das Verzeichnis auf, in das Sie die Dateien extrahiert haben. Geben Sie dann den folgenden Befehl ein, um OR-Tools zu kompilieren:

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

Weitere Informationen finden Sie in der CMake-Dokumentation.

Quellcode testen

Sie können überprüfen, ob alles korrekt ausgeführt wird, indem Sie Folgendes eingeben:

cmake --build build --config Release --target test -v

Dadurch werden Beispiele für ODER-Tools ausgeführt. Wenn alle Beispiele erfolgreich ausgeführt werden, können Sie mit OR-Tools loslegen.

Build-Dateien bereinigen

Wenn Sie OR-Tools neu installieren müssen, führen Sie den folgenden Befehl aus:

rm -r build

entfernt alle kompilierten Abhängigkeiten. Dies kann hilfreich sein, um das Gerät auf einen bereinigten Zustand zurückzusetzen.

Geben Sie die Befehle dann noch einmal ein:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

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

OR-Tools auf Ihrem Betriebssystem installieren

Sie können OR-Tools for .Net auf Ihrem Betriebssystem installieren, indem Sie Folgendes eingeben:

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