Installation de Choco-solver

Choco-solver est une bibliothèque Java de résolution de problèmes par contraintes. C’est cette bibliothèque qui sera utilisée tout au long de ce cours. Il existe une version Python appelée PyChoco. Dans cette section, nous allons voir comment installer Choco-solver pour les deux langages.

Java

Choco-solver nécessite Java 8 ou une version ultérieure. Vous pouvez vérifier si Java est installé sur votre système en exécutant la commande suivante dans votre terminal ou invite de commande :

java -version

Si Java n’est pas installé, vous pouvez le télécharger et l’installer depuis le site officiel d’Oracle ou utiliser une distribution OpenJDK.

Projet Java avec Maven

Si vous utilisez Maven pour gérer votre projet Java, vous pouvez ajouter Choco-solver en tant que dépendance dans votre fichier pom.xml :

<dependency>
    <groupId>org.choco-solver</groupId>
    <artifactId>choco-solver</artifactId>
    <version>4.10.8</version>
</dependency>

Assurez-vous de remplacer 4.10.8 par la dernière version disponible. Après avoir ajouté cette dépendance, vous pouvez utiliser Choco-solver dans votre projet Java.

De manière similaire, vous pouvez déclarer Choco-solver dans d’autres systèmes de gestion de dépendances comme Gradle ou SBT en utilisant les coordonnées Maven ci-dessus.

Projet Java sans Maven

Si vous ne souhaitez pas utiliser Maven, vous pouvez télécharger le fichier JAR de Choco-solver depuis le site officiel et l’ajouter manuellement à votre classpath lors de la compilation et de l’exécution de votre programme Java. Suivant votre IDE, la méthode pour ajouter une bibliothèque externe peut varier.

REPL (jshell)

Depuis Java 9, un REPL (Read-Eval-Print Loop) appelé jshell est disponible pour tester du code Java rapidement. Pour utiliser Choco-solver dans jshell, vous pouvez télécharger le fichier JAR de Choco-solver depuis le site officiel.

Ensuite, lancez jshell avec le fichier JAR en utilisant la commande suivante :

jshell --class-path chemin/vers/choco-solver-4.10.8.jar

Remplacez chemin/vers/choco-solver-4.10.8.jar par le chemin absolu vers le fichier JAR téléchargé.

Ensuite, vous pouvez importer les classes de Choco-solver et commencer à l’utiliser :

jshell> import org.chocosolver.solver.Model;
   ...> Model model = new Model("Exemple Choco-solver");
   ...> System.out.println("Modèle créé : " + model.getName());
model ==> 
 Model[Exemple Choco-solver]

[ 0 vars -- 0 cstr ... bles ==
== constraints ==

Modèle créé : Exemple Choco-solver

jshell> 

Python

Pour utiliser Choco-solver en Python, vous devez installer la bibliothèque PyChoco. Vous pouvez l’installer via pip en exécutant la commande suivante dans votre terminal ou invite de commande :

pip install pychoco

Assurez-vous d’avoir Python 3.6 ou une version ultérieure installée sur votre système. Après l’installation, vous pouvez importer PyChoco dans votre script Python et commencer à utiliser Choco-solver :

from pychoco import *   
model = Model("Exemple PyChoco")
print("Modèle créé :", model.get_name())