Compiler depuis la source OR-Tools .Net sous macOS

Introduction

Ce guide explique comment compiler à partir de la source OR-Tools, avec prise en charge de .Net, sous macOS.

Sauf si vous prévoyez de modifier le code source ou d'utiliser un outil de résolution tiers avec OU-Tools, nous vous recommandons d'installer le package.

Bien que ces instructions puissent également fonctionner sur d'autres variantes de macOS, nous ne les ont testés que sur des machines répondant aux exigences suivantes:

  • MacOS 13.0.1 (Ventura) Intel 64 bits (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (arm64)

Prérequis

Les sections suivantes décrivent les conditions préalables à l'installation de OR-Tools.

Outils de ligne de commande Xcode

Vous devez installer les outils de ligne de commande Xcode. Pour ce faire, ouvrez la Terminal, disponible dans /Applications/Utilities/, puis saisissez la commande suivante:

xcode-select --install

Cliquez sur "Installer" pour télécharger et installer les outils de ligne de commande Xcode. Vous n'avez pas besoin par "Get Xcode" sur l'App Store. Si votre connexion Internet est lente, peut prendre plusieurs minutes.

Vérifiez que vous avez installé correctement les outils de ligne de commande Xcode:

xcode-select -p

Vous devriez obtenir le résultat suivant :

/Library/Developer/CommandLineTools

Homebrew

Pour installer les autres prérequis, nous vous recommandons d'installer d'abord "gestionnaire de paquets manquant pour macOS" également appelé Homebrew Pour ce faire, ouvrez une fenêtre de terminal et saisissez la commande suivante:

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

Pour vérifier que vous avez correctement installé brew:

brew --version

Vous devriez obtenir le résultat suivant :

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

Outils C++

Pour installer les outils C++, ouvrez une fenêtre de terminal et saisissez:

brew install cmake wget pkg-config

Outil SWIG

Pour installer l'outil SWIG, ouvrez une fenêtre de terminal et saisissez:

brew install swig

SDK .Net 6.0

Vous devez installer le SDK .Net 6.0.

Une fois Homebrew installé, vous pouvez installer dotnet-sdk en ouvrant un fenêtre de terminal et saisissez la commande suivante:

brew cask install dotnet-sdk

Vous pouvez vérifier que la CLI dotnet est correctement installée à l'aide de la commande suivante:

dotnet --info

Télécharger le code source

Il existe deux branches distinctes du code source OR-Tools sur GitHub: stable et main.

La branche stable a été minutieusement testée et devrait fonctionner parfaitement plates-formes compatibles.
La branche main contient les dernières mises à jour et si des améliorations ont été apportées. elle est plus actuelle, mais moins stable.

Télécharger le code source stable

Vous pouvez obtenir le code source stable de OR-Tools de l'une des manières suivantes:

  • Clonez la branche stable en saisissant la commande suivante:

    git clone https://github.com/google/or-tools
    
  • Téléchargez la dernière version dans un fichier compressé en cliquant sur Bouton Clone or download dans GitHub. image du bouton "Cloner" ou "Télécharger"

Télécharger le code source principal

Pour récupérer le code source à partir de la branche main, saisissez:

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

Télécharger les versions précédentes

Vous pouvez obtenir le code source des versions précédentes de l'une des manières suivantes:

  • Téléchargez une version précédente sur la page des versions GitHub.
  • En supposant que vous ayez déjà créé un dépôt local (par git clone), vous pouvez consulter une version spécifique à l'aide d'un tag. Par exemple, pour travailler avec la version 9.10 au lieu de la version main, saisissez les commandes suivantes dans votre dépôt local:

    git fetch --all --tags --prune
    git checkout tags/v9.10 -b v9.10
    

Configurer la compilation

Avant de créer des outils OU, vous devez configurer le système de compilation CMake générateur.

Ouvrez un terminal et accédez au répertoire dans lequel vous avez extrait les fichiers. Ensuite, saisissez cette commande :

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

Consultez le Documentation CMake pour en savoir plus.

Utiliser SCIP

Depuis la version 7.8, SCIP est désormais intégré, vous n'aurez donc pas à l'installer manuellement.

Utiliser Gurobi

Gurobi est désormais préintégré. Au besoin, au moment de l'exécution, OR-Tools recherche la bibliothèque partagée Gurobi dans le chemin d'installation par défaut des programmes d'installation Gurobi sous MAC OS X et Windows, ou à l'aide de la variable d'environnement GUROBI_HOME.

Utiliser une solution MIP tierce facultative

Vous pouvez également utiliser les outils OR avec l'un des produits MIP tiers en option suivants les résolveurs dont la prise en charge est désactivée par défaut:

Veuillez consulter cette documentation pour en savoir plus.

Compiler le code source

Pour compiler le code source, ouvrez un terminal et accédez au répertoire vous avez extrait les fichiers. Saisissez ensuite la commande suivante pour compiler OR-Tools:

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

Consultez le Documentation CMake pour en savoir plus.

Tester le code source

Pour vérifier que tout fonctionne correctement, saisissez la commande suivante:

cmake --build build --config Release --target RUN_TESTS -v

Cette opération permet d'exécuter des exemples pour OR-Tools. Si tous les exemples s'exécutent avec succès, vous êtes prêt à Premiers pas avec OR-Tools.

Nettoyer les fichiers de compilation

Si vous devez réinstaller OR-Tools, la commande suivante:

rm -r build

supprimera toutes les dépendances compilées. Cela peut être utile pour rétablir un état propre.

Saisissez à nouveau les commandes suivantes:

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

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

Installation de OR-Tools sur votre système d'exploitation

Vous pouvez installer OR-Tools pour .Net sur votre système d'exploitation en saisissant:

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