Qu'est-ce que MathOpt ?

MathOpt est une bibliothèque conçue pour modéliser et résoudre les problèmes d'optimisation mathématiques, tels que les problèmes de programmation linéaire (LP) ou les problèmes de programmation mixte (MIP). MathOpt distingue la modélisation de la résolution, ce qui permet aux utilisateurs de basculer entre les méthodes de solution en modifiant une énumération (et une dépendance de compilation) pour sélectionner leur résolveur.

Regardez cette vidéo pour une brève présentation de MathOpt tirée de la présentation de la conférence JuMP 2023.

Fonctionnalités de MathOpt

Les modèles MathOpt peuvent contenir les éléments suivants:

  • Variables entières ou continues
  • contraintes linéaires ou quadratiques
  • des objectifs linéaires ou quadratiques
  • plusieurs objectifs hiérarchiques
  • contraintes MIP spécialisées (SOS, indicateur, autres à venir)
  • quelques contraintes coniques (cône de second ordre, d'autres à venir)

Les modèles sont définis indépendamment des résolveurs, qui sont interchangeables de manière interchangeable. MathOpt est compatible avec les résolveurs suivants:

MathOpt fournit des bibliothèques clientes en C++ et Python pour créer votre modèle d'optimisation.

MathOpt prend en charge de nombreuses fonctionnalités avancées, y compris:

  • Analyse d'infaisabilité (ensemble infaisable irréductible ou IIS), Gurobi uniquement
  • Résolution incrémentielle
  • Rappels
  • Dualité
  • Rayons primaires et doubles
  • Solutions primaires et doubles non optimales
  • Suppressions de variables et de contraintes
  • Démarrages tièdes (par solution ou base)
  • Motif détaillé de la résiliation
  • Priorité des branches
  • Interruption
  • Nombreux paramètres indépendants du résolveur