Compiler à partir de la source OR-Tools Java sous Linux

Introduction

Ce guide explique comment compiler à partir de la source OR-Tools, compatible avec Java, 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 24.04 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

JDK Java en version 8.0 ou ultérieure

Pour installer le JDK Java version 8.0 ou ultérieure, ouvrez une fenêtre de terminal et saisissez:

Alpine

sudo apk add openjdk8
export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk

Centos

sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

Debian

sudo apt install -y default-jdk
export JAVA_HOME=/usr/lib/jvm/default-java

Fedora

sudo dnf install -y java-openjdk java-openjdk-devel

Fedora

sudo dnf install -y java-openjdk java-openjdk-devel

OpenSUSE

sudo zypper install -y java-1_8_0-openjdk java-1_8_0-openjdk-devel

Ubuntu

sudo apt install -y default-jdk

Ubuntu

sudo apt install -y default-jdk

Ubuntu

sudo apt install -y default-jdk

Maven 3.3 ou version ultérieure

Pour installer Maven version 3.3 ou une version ultérieure, ouvrez une fenêtre de terminal, puis saisissez la commande suivante:

Alpine

sudo apk add maven

Centos

sudo yum install -y maven

Debian

sudo apt install -y maven

Fedora

sudo dnf install -y maven

Fedora

sudo dnf install -y maven

OpenSUSE

sudo zypper install -y maven

Ubuntu

sudo apt install -y maven

Ubuntu

sudo apt install -y maven

Ubuntu

sudo apt install -y maven

Vous pouvez vérifier que Maven est correctement installé et trouver Java à l'aide de la commande suivante :

mvn -v

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.10 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.10 -b v9.10
    

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_JAVA=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_JAVA=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 Java sur votre système d'exploitation en saisissant la commande suivante:

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