Gurobi 10.0 offre des performances exceptionnelles, une intégration innovante de la Data Science et une meilleure expérience de développement et de déploiement à l’échelle de l’entreprise
Gurobi Optimization, LLC, le leader de la technologie d’intelligence décisionnelle, a annoncé aujourd’hui la sortie de Gurobi Optimizer 10.0. Cette version permet aux clients de bénéficier d’une vitesse d’exécution accrue, qui est déjà la meilleure du marché, la possibilité d’intégrer des modèles d’apprentissage automatique directement dans les modèles d’optimisation Gurobi, et de nouveaux outils pour le développement de modèles, le monitoring et le diagnostic avancé. Les utilisateurs peuvent résoudre de nouveaux types de problèmes, encore plus rapidement qu’auparavant.
L’équipe R&D de Gurobi continue de repousser les limites de ses performances. Cela se traduit par des améliorations des algorithmes existants et le développement de plusieurs nouvelles techniques. Gurobi Optimizer 10.0 apporte les améliorations de performance suivantes par rapport à Gurobi Optimizer 9.5 :
« Nous avons multiplié la vitesse par plus de 75 sur les problèmes MILP depuis la version 1.1. Mais plus important encore, Gurobi 10.0 peut maintenant résoudre facilement un nombre plus élevé de modèles, y compris certains qui étaient insolubles jusqu’à présent », a expliqué le Dr Tobias Achterberg, vice-président de la recherche et du développement chez Gurobi Optimisation.
Gurobi 10.0 comprend également les avancées suivantes dans son framework algorithmique :
Nouvel algorithme simplexe de réseau : Accélère considérablement la résolution des programmes linéaires avec une structure de réseau.
Nouvelle heuristique pour les modèles QUBO, qui peuvent se présenter dans l’optimisation quantique : Améliore la capacité de Gurobi à trouver rapidement de bonnes solutions réalisables pour les problèmes d’optimisation booléenne quadratique sans contrainte.
Gains de performance significatifs sur les problèmes MIP contenant des modèles d’apprentissage automatique : Amélioration d’un facteur supérieur à 10 des performances sur certains modèles contenant des réseaux neuronaux intégrés avec des fonctions d’activation ReLU.
Nouvel algorithme de résolution de problèmes d’optimisation par les techniques OBBT (Optimality-Based Bound Tightening) : Accélère considérablement la résolution des modèles MIQCP non convexes.
Solveur de programme linéaire concurrent réorganisé : Améliore les performances et réduit l’empreinte mémoire.
Avec Gurobi Machine Learning, un projet Python open source visant à intégrer des modèles de machine learning entraînés directement dans Gurobi, les data scientists peuvent plus facilement exploiter la puissance de l’optimisation mathématique.
Plus précisément, Gurobi Machine Learning permet aux utilisateurs d’ajouter un modèle d’apprentissage automatique entraîné, comme contrainte à un modèle Gurobi (par exemple, à partir de scikit-learn, TensorFlow/Keras ou PyTorch). Ainsi, les utilisateurs peuvent évaluer un système du monde réel en formant un modèle de machine learning, puis utiliser ce modèle comme une contrainte dans Gurobi, afin d’optimiser les contrôles sur ce système.
« Notre objectif est de connecter le monde de la Data Science avec le monde de l’optimisation. Avec Gurobi, vous pouvez prendre votre « boîte noire » de machine learning qui génère vos prédictions et la brancher directement sur votre modèle d’optimisation, ce qui vous permet de relier vos prévisions à l’optimisation », explique M. Achterberg.
« Avec cette version, nous rendons également plus pratique l’intégration de la construction de modèles gurobipy avec les objets pandas grâce à un nouveau package open-source dédié. (Disponible sur GitHub/PyPI au quatrième trimestre 2022). »
Pour rendre son solveur encore plus accessible et facile à utiliser, l’équipe de Gurobi a intégré de nouveaux outils pour le développement de modèles, le monitoring et le diagnostic avancé :
Améliorations significatives de l’API adaptée aux matrices dans gurobipy : Tous les objets de modélisation adaptés aux matrices prennent désormais en charge plusieurs dimensions, et la gestion des dimensions s’appuie systématiquement sur NumPy, y compris la diffusion.
Nouvelle contrainte générale logistique : Facilite l’intégration d’une contrainte dans un problème MIP qui modélise la fonction logistique.
Package NuGet pour .NET : Permet aux utilisateurs de .NET de télécharger Gurobi directement depuis le serveur NuGet.
Paramètre de limite de mémoire permettant d’éviter les erreurs dues à une saturation de la mémoire : Les utilisateurs peuvent définir une limite de mémoire tout en bénéficiant de la meilleure solution et continuer l’optimisation après avoir atteint la limite.
Nouveaux tableaux de bord : Gurobi Compute Server comprend désormais deux nouveaux tableaux de bord, permettant aux utilisateurs de surveiller les métriques au fil du temps et d’accéder à l’activité réelle pour mieux comprendre l’utilisation du cluster et le comportement des applications.
Prise en charge étendue de la plate-forme : Gurobi 10.0 prend en charge Python 3.11 et Linux sur ARM 64 bits.
L’année dernière, avec la sortie de Gurobi 9.5, Gurobi a introduit son service de licence Web (WLS) pour les environnements de conteneurs Docker et Kubernetes. Avec Gurobi 10.0, l’équipe a étendu le WLS pour prendre en charge presque tous les types d’environnements conteneurisés. Les clients peuvent désormais obtenir des licences WLS qui leur permettent d’exécuter Gurobi dans pratiquement tous les scénarios de déploiement, y compris les environnements conteneurisés, les machines virtuelles et les machines bare metal, sur Linux, macOS et Windows.
« Nos clients aiment notre WLS et la flexibilité qu’il offre. Ils peuvent désormais déployer dynamiquement le logiciel Gurobi dans un grand nombre d’environnements », explique Duke Perrucci, COO de Gurobi.
En outre, à partir de la version 10.0 de Gurobi, les versions majeures du produit, et leurs versions mineures et techniques ultérieures, seront prises en charge pendant une durée de trois ans à compter de la date de la première version majeure du produit. Par exemple, la version 10.0.0 de Gurobi (sortie en novembre 2022) et les versions mineures entre 10.0 et 11.0 seront prises en charge jusqu’en novembre 2025.
« Cela permet de créer une prévisibilité pour nos clients, afin qu’ils sachent exactement combien de temps une version sera prise en charge », a expliqué le Dr Sonja Mars, directrice du support d’optimisation chez Gurobi Optimization. « Notre objectif est de fournir à nos clients des conseils techniques et un support d’experts, et cette politique permet d’éliminer les approximations. Nous voulons que nos clients obtiennent l’aide dont ils ont besoin, quand ils en ont besoin. »
Edward Rothberg, CEO et Cofondateur de Gurobi Optimization, a ajouté : « Chez Gurobi, nous avons les meilleurs experts de l’optimisation. Dans chaque service, vous trouverez des personnes non seulement brillantes mais qui sont aussi profondément engagées envers nos clients pour leur fournir la meilleure expérience possible. Je suis fier de faire partie de cette équipe. »