Compiler depuis la source OR-Tools .Net sous Linux

Introduction

Ce guide explique comment compiler à partir de la source OR-Tools, compatible avec .Net sous Linux.

Si vous ne prévoyez pas de modifier le code source ou d'utiliser un résolveur tiers avec OR-Tools, nous vous recommandons d'installer le package.

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

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

Prérequis

Les sections suivantes décrivent les conditions préalables à l'installation des outils OU.

Outils C++

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

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

Pour installer SWIG, ouvrez une fenêtre de terminal et saisissez la commande suivante:

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

SDK .Net Core >= 3.1

Installez ensuite la version 3 .1 ou ultérieure du SDK.Net Core. Pour ce faire, ouvrez une fenêtre de terminal et saisissez:

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
Réf. : https://learn.microsoft.com/fr-fr/dotnet/core/install/linux-centos#centos-7

Debian

Avant d'installer .NET, exécutez les commandes suivantes pour ajouter la clé de signature de packages Microsoft à votre liste de clés de confiance et ajouter le dépôt de packages.

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
Réf. : https://learn.microsoft.com/fr-fr/dotnet/core/install/linux-debian

Fedora

sudo dnf install -y dotnet-sdk-6.0
Réf. : https://learn.microsoft.com/fr-fr/dotnet/core/install/linux-fedora

Fedora

sudo dnf install -y dotnet-sdk-6.0
Réf. : https://learn.microsoft.com/fr-fr/dotnet/core/install/linux-fedora

OpenSUSE

Avant d'installer .NET, exécutez les commandes suivantes pour ajouter la clé de signature de packages Microsoft à votre liste de clés de confiance et ajouter le dépôt de packages.

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

Vous pouvez ensuite installer le SDK .Net à l'aide de la commande suivante:

sudo zypper install -y dotnet-sdk-6.0
Réf. : https://learn.microsoft.com/en-us/dotnet/core/install/linux-opensuse

Ubuntu

sudo apt install -y dotnet-sdk-6.0
Réf. : https://learn.microsoft.com/en-us/dotnet/core/install/linux-Ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
Réf. : https://learn.microsoft.com/en-us/dotnet/core/install/linux-Ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
Réf. : https://learn.microsoft.com/en-us/dotnet/core/install/linux-Ubuntu

Télécharger le code source

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

La branche stable a été testée de manière approfondie et devrait fonctionner parfaitement sur toutes les plates-formes compatibles.
Les dernières mises à jour et améliorations ont été appliquées dans la branche main. Elle est plus récente, mais moins stable.

Télécharger le code source stable

Vous pouvez obtenir le code source stable pour les outils OR 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 le bouton Clone or download dans GitHub. image du bouton de clone ou de téléchargement

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.
  • Si vous avez déjà créé un dépôt local (par git clone), vous pouvez vérifier une version spécifique à l'aide d'un tag Git. Par exemple, pour utiliser la version 9.9 au lieu de la branche main, saisissez les commandes suivantes dans votre dépôt local:

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

Configurer la compilation

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

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

.

Pour en savoir plus, consultez la documentation CMake.

Utiliser SCIP

Depuis la version 7.8, SCIP est intégré. Vous n'avez donc pas besoin de l'installer manuellement.

Utiliser Gurobi

Gurobi est désormais préintégré. Si nécessaire, lors 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 sur MAC OS X et Windows, ou à l'aide de la variable d'environnement GUROBI_HOME.

.

Utiliser un résolveur MIP tiers facultatif

Vous pouvez également utiliser les outils OU avec l'un des résolveurs MIP tiers facultatifs suivants, dont la compatibilité 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 dans lequel vous avez extrait les fichiers. Saisissez ensuite la commande suivante pour compiler OR-Tools:

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

Pour en savoir plus, consultez la documentation CMake.

Tester le code source

Vous pouvez vérifier que tout fonctionne correctement en saisissant la commande suivante:

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

Cette commande permet d'exécuter des exemples pour les outils OR. Si tous les exemples s'exécutent correctement, vous pouvez commencer à utiliser les outils OR.

Nettoyer les fichiers de compilation

Si vous devez réinstaller les outils OU, la commande suivante:

rm -r build

supprimera toutes les dépendances compilées. Cela peut être utile pour rétablir l'état d'origine.

Saisissez à nouveau les commandes:

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

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

Installation des outils OR sur votre système d'exploitation

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

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