Compiler depuis la source OR-Tools Python sous Linux

Introduction

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

Python

Python 3.8 ou version ultérieure doit être installé.

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

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

Vous pouvez vérifier votre installation Python 3 à l'aide de la commande suivante:

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

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

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