CPLEX¶
Comment obtenir Cplex¶
Le logiciel cplex est disponible pour les étudiants en plus des professeurs, chercheurs et employés universitaires. Pour le télécharger, suivez le lien suivant:
https://www.ibm.com/academic/home
Sur les ordinateurs Linux du CIRRELT/GERAD, le logiciel est déjà disponible en chargeant le module cplex-studio
.
module load cplex-studio
Installation¶
Pour certains langages, comme python et julia, en plus de faire l'installation normale de cplex, vous devez ajouter les modules propres au language.
Pour utiliser cplex avec python, vous devez utiliser la version 22.1.2 ou plus récente. Pour cette version, il est possible d'installer les modules jusqu'à python 3.12.
Voici une procédure d'installation.
Création et activation d'un environnement virtuel
Mise à jour de pip et installation des modules cplex
L'installation des modules avec pip installe la version gratuite. Comme cette version a des limites sur la taille des problèmes, on applique la modification pour utiliser la version complète. Cette procédure est décrite sur le site d'ibm: https://www.ibm.com/support/pages/does-cplex-optimization-studio-2211-support-python-311
Tutoriel CPLEX¶
Voici un tutoriel en deux parties en format PDF permettant de comprendre les bases de l'implantation d'un modèle mathématique avec CPLEX en C++.
Comme point de départ, vous pouvez consulter ce document de référence couvrant les notions importantes (classes, méthodes) à savoir au sujet de CPLEX.
Vous pouvez aussi vous référer aux exemples commentés extraits de la distribution de CPLEX et couvrant l'ensemble des notions vues dans la partie Référence.
Paramètres Cplex¶
Depuis la version 11 de CPLEX, le solveur cherche à utiliser tous les processeurs de la machine pour résoudre les modèles qui sont présents dans la machine, que ce soit des CPU, coeurs ou hyperthreading.
Il est donc primordial de spécifier à CPLEX de résoudre les modèles avec un nombre de processeurs limités, afin de ne pas interférer avec les autres programmes qui tournent déjà sur une machine.
Dans les exemples qui suivent, nous utilisons 1 seul processeur.