Einführung
In diesem Leitfaden wird erläutert, wie Sie aus der Quelle ODER-Tools mit Unterstützung für .Net unter Linux.
Es sei denn, Sie möchten den Quellcode ändern oder den Rechner eines Drittanbieters mit OR-Tools, empfehlen wir die Paketinstallation.
Auch wenn diese Anleitung auch für andere Linux-Varianten funktioniert, 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 (Volltreffer) 64-Bit (x86_64)
- Fedora 38 64-Bit (x86_64)
- Fedora 37 64-Bit (x86_64)
- OpenSuse Leap 64-Bit (x86_64)
- Ubuntu 24.04 64-Bit (x86_64)
- Ubuntu 22.04 LTS 64-Bit (x86_64)
- Ubuntu 20.04 LTS 64-Bit (x86_64)
Vorbereitung
In den folgenden Abschnitten werden die Voraussetzungen für die Installation von OR-Tools beschrieben.
C++-Tools
Öffnen Sie zum Installieren von C++-Tools 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
SWIG
Um SWIG zu installieren, öffne ein Terminalfenster und gib 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 >= 3.1
Installieren Sie als Nächstes das .Net Core SDK Version 3.1 oder höher. Gehen Sie dazu wie folgt vor: ein Terminalfenster öffnen und Folgendes eingeben:
Alpine
apk add dotnet6-sdk
ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
Centos
Referenz: https://learn.microsoft.com/de-de/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
Führen Sie vor der Installation von .NET die folgenden Befehle aus, um die Microsoft- Paketsignaturschlüssel zur Liste der vertrauenswürdigen Schlüssel und fügen das Paket hinzu zu erstellen.
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
Referenz: https://learn.microsoft.com/de-de/dotnet/core/install/linux-debiansudo apt update
sudo apt install -y dotnet-sdk-6.0
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 die Microsoft- Paketsignaturschlüssel zur Liste der vertrauenswürdigen Schlüssel und fügen das Paket hinzu zu erstellen.
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 mit dem folgenden Befehl 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
-Branch wurde gründlich getestet und sollte bei allen
unterstützten Plattformen.
Im Zweig main
werden die neuesten Updates und
Verbesserungen vorgenommen wurden; zwar aktueller, aber weniger stabil.
Stabilen Quellcode herunterladen
Sie haben folgende Möglichkeiten, den stabilen Quellcode für OR-Tools abzurufen:
Klonen Sie den
stable
-Zweig, indem Sie Folgendes eingeben:git clone https://github.com/google/or-tools
Laden Sie die neueste Version in einer komprimierten Datei herunter. Klicken Sie dazu auf
Clone or download
-Schaltfläche in GitHub.
Hauptquellcode herunterladen
Geben Sie Folgendes ein, um den Quellcode aus dem Zweig main
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 eine frühere Version von der GitHub-Versionsseite herunter.
Angenommen, Sie haben bereits ein lokales Repository (von
git clone
) erstellt: können Sie eine bestimmte Version mithilfe eines Git- Tag. Wenn Sie beispielsweise mit der Version v9.10 und nicht mit dermain
-Branch die folgenden Befehle in Ihr lokales Repository ein:git fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
Build konfigurieren
Bevor Sie OR-Tools erstellen, müssen Sie das Build-System von CMake konfigurieren Generator.
Ö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
Mehr erfahren Sie in der CMake-Dokumentation .
SCIP verwenden
Seit Version 7.8 ist SCIP jetzt integriert, sodass Sie es nicht manuell installieren müssen.
Gurobi verwenden
Gurobi ist jetzt vorintegriert. Bei Bedarf sucht OR-Tools zur Laufzeit nach
die gemeinsam genutzte Gurobi-Bibliothek im Standard-Installationspfad der Gurobi-Installationsprogramme
unter MAC OS X und Windows oder mithilfe der Umgebungsvariable GUROBI_HOME
.
Optionalen MIP-Resolver eines Drittanbieters verwenden
Sie können OR-Tools auch mit einem der folgenden optionalen Drittanbieter-MIPs verwenden Solver, deren Unterstützung standardmäßig deaktiviert ist:
- CPLEX
- GLPK (nur Linux und MacOS)
- XPRESS-Löser
Werfen Sie einen Blick auf dieser Dokumentation .
Quellcode erstellen
Öffnen Sie zum Erstellen des Quellcodes ein Terminal und wechseln Sie zu dem Verzeichnis, in dem 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
Mehr erfahren 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
Hier werden Beispiele für ODER-Tools ausgeführt. Wenn alle Beispiele abgeschlossen haben, sind Sie bereit, OR-Tools verwenden.
Build-Dateien bereinigen
Wenn Sie OR-Tools neu installieren müssen, führen Sie den Befehl aus:
rm -r build
entfernt alle kompilierten Abhängigkeiten. Dies kann hilfreich sein, wenn Sie Ihr Gerät auf einen bereinigten Zustand zurücksetzen möchten.
Geben Sie dann die Befehle 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 für .Net auf Ihrem Betriebssystem installieren, indem Sie Folgendes eingeben:
cmake --build build --config Release --target install -v