GUROBI¶
Obtention¶
Pour obtenir gurobi, vous devez vous inscrire sur le site https://www.gurobi.com/academia/academic-program-and-licenses/
Ensuite vous pourrez télécharger et activer votre clé.
Sur les postes Linux du CIRRELT/GERAD, le logiciel est déjà disponible et vous pouvez y accéder en chargeant le module gurobi.
module load gurobi
Installation¶
Pour certains langages comme python et julia, même si gurobi est déjà installé, vous devez tout de même installer le package approprié pour la langue.
Le module gurobipy est disponible dans pypy, donc il peut être installé avec pip.
Voici un exemple d'installation pour gurobi 11.0.0. Assurez-vous de charger la même version du module que celle que vous utilisez lors de l'installation.
Nous vous recommandons d'utiliser un environnement virtuel pour votre projet.
Compilation¶
C++¶
Lorsque vous compilez votre programme C++ avec gurobi, vous devez spécifier quelle version de la librairie g++ utiliser. La décision dépends de quelle version de g++ Vous utilisez. vous pouvez vérifier en utilisant la commande suivante:
g++ --version
-
g++ < 7 utilisez: -lgurobi_g++4.8
-
g++ >= 7 utilisez: -lgurobi_g++5.2
Si vous n'utilisez pas la version par défaut de gurobi, il est possible que vous ayez à ajuster la version de la librairie à utiliser.
Nombre de threads¶
Gurobi essaiera automatiquement d'utiliser tous les threads sur une machine lors de l'optimisation. Comme les ordinateurs sont partagés, limitez le nombre utilisé par votre application. Il y a aussi des considération de quantité de mémoire disponible à prendre en compte, chaque thread exigeant plus de mémoire.
Obtenir le nombre de licences utilisées de gurobi¶
gurobi_cl --tokens
Gestion des environements gurobi¶
Lorsque vous avez a utilisé des environements gurobi en séquence (dasn une boucle itérative par exemple). Chaque itération crée un environement gurobi qui consomme une license. (Vue le nombre limité de license Gurobi dont on dispose 4024, il faudrait libérer l'environement après chaque utilisation. Voici le lien sur le site de Gurobi comment le faire https://support.gurobi.com/hc/en-us/articles/4424054948881-How-do-I-manage-Gurobi-environments-in-gurobipy