Aus dem Quellcode OR-Tools mit Python unter Linux erstellen

Einführung

In diesem Leitfaden wird erläutert, wie Sie aus der Quelle ODER-Tools mit Unterstützung für Python 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

Python

Python 3.8+ muss installiert sein.

Um Python 3.8 oder höher zu installieren, öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:

Alpine

apk add python3-dev py3-pip py3-wheel

Centos

sudo yum install -y python3 python3-devel python3-pip numpy

Debian

sudo apt install -y python3-dev python3-pip python3-venv

Fedora

sudo dnf install -y python3-devel python3-pip python3-venv

Fedora

sudo dnf install -y python3-devel python3-pip python3-venv

OpenSUSE

sudo zypper install -y python3-devel python3-pip python3-wheel

Ubuntu

sudo apt install -y python3-dev python3-pip python3-venv

Ubuntu

sudo apt install -y python3-dev python3-pip python3-venv

Ubuntu

sudo apt install -y python3-dev python3-pip python3-venv

Sie können Ihre Python 3-Installation folgendermaßen prüfen:

python3 --version
python3 -c "import platform; print(platform.architecture()[0])"
python3 -m pip --version

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. Bild der Schaltfläche zum Klonen oder Herunterladen

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 der main-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_PYTHON=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:

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, mit OR-Tools starten.

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_PYTHON=ON

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

OR-Tools auf Ihrem Betriebssystem installieren

Sie können OR-Tools für Python auf Ihrem Betriebssystem installieren, indem Sie Folgendes eingeben:

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