Gurobi est l’un des meilleurs solveurs en programmation mathématique existants, ce qui le rend très intéressant pour la recherche opérationnelle. Il se montre également versatile : il gère les problèmes avec des variables continues et discrètes, avec une structure linéaire ou quadratique. Il est notamment utilisé pour assigner les vols aux comptoirs d’enregistrement et aux portes d’embarquement à l’aéroport de Copenhague, mais aussi pour des recherches sur l’équilibre entre la demande en électricité et la production renouvelable.
Sa version 6.0 apporte bien évidemment des améliorations de performances intéressantes (jusqu’une trentaine de pour cent de temps économisé pour des problèmes linéaires en nombres entiers — MIP — difficiles), mais aussi de nouvelles fonctionnalités algorithmiques : les objectifs linéaires par morceaux peuvent être indiqués directement au solveur, ce qui conduit à d’importantes améliorations de performances par rapport à une modélisation plus classique.
Le solveur distribué est également amélioré : pour résoudre un MIP, il était possible d’exploiter plusieurs machines en lançant la résolution avec des paramètres différents sur chaque machine (concurrent optimiser) ; désormais, ces machines pourront également collaborer sur une même instance du problème (distributed MIP solver). Selon les problèmes à résoudre, cette technique pourrait être plus rapide.
Parmi les autres améliorations, on peut noter que les matrices des contraintes pourront contenir plus de deux milliards d’éléments non nuls. De nouvelles méthodes permettent également l’optimisation asynchrone, afin de lancer d’autres tâches pendant que le solveur travaille. Les fonctions de retour pourront également ajouter des contraintes retardées (lazy), une indication supplémentaire par rapport aux plans sécants déjà disponibles.
Source : http://www.gurobi.com/products/gurobi-optimizer/what%27s-new-in-v6.0