Erstellen aus der Quell-OR-Tools .Net unter macOS

Einleitung

In dieser Anleitung wird erläutert, wie Sie unter macOS 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.

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

  • macOS 13.0.1 (Ventura) Intel 64-Bit (x86_64)
  • macOS 13.0.1 (Ventura) M1 (arm64)

Voraussetzungen

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

Xcode-Befehlszeilentools

Sie müssen die Xcode-Befehlszeilentools installieren. Öffnen Sie dazu das Terminal, das sich in /Applications/Utilities/ befindet, und geben Sie Folgendes ein:

xcode-select --install

Klicken Sie auf „Installieren“, um die Xcode-Befehlszeilentools herunterzuladen und zu installieren. Sie müssen nicht auf „Xcode herunterladen“ aus dem App Store klicken. Bei einer langsamen Internetverbindung kann dies einige Minuten dauern.

Überprüfen Sie, ob Sie die Xcode-Befehlszeilentools erfolgreich installiert haben:

xcode-select -p

Hier sollten Sie das sehen:

/Library/Developer/CommandLineTools

Homebrew

Sie sollten zuerst den „fehlenden Paketmanager für macOS“ (auch als Homebrew bezeichnet) installieren. Öffnen Sie dazu ein Terminalfenster und geben Sie Folgendes ein:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update

So prüfen Sie, ob Sie die Brauerei richtig installiert haben:

brew --version

Hier sollten Sie das sehen:

Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)

C++-Tools

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

brew install cmake wget pkg-config

SWIG-Tool

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

brew install swig

.Net 6.0 SDK

Sie müssen das .Net 6.0 SDK installieren.

Nachdem Sie Homebrew installiert haben, können Sie das Paket dotnet-sdk installieren. Öffnen Sie dazu ein Terminalfenster und geben Sie Folgendes ein:

brew cask install dotnet-sdk

Mit dem folgenden Befehl können Sie testen, ob die dotnet-CLI korrekt installiert ist:

dotnet --info

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_BUILD -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 RUN_TESTS -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_BUILD -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