Was ist MathOpt

MathOpt ist eine Bibliothek zum Modellieren und Lösen mathematischer Optimierungsprobleme, z. B. linearen Programmierproblemen (LPs) oder gemischten Integer-Programming-Problemen (MIPs). MathOpt trennt die Modellierung von Lösen, sodass Nutzer zwischen Lösungsmethoden wechseln können, indem sie eine Enum (und eine Build-Abhängigkeit) ändern, um ihren Solver auszuwählen.

In diesem Video erhalten Sie eine kurze Einführung in MathOpt aus der Präsentation der JuMP Conference 2023.

MathOpt-Funktionen

MathOpt-Modelle können Folgendes enthalten:

  • Ganzzahlige oder kontinuierliche Variablen
  • lineare oder quadratische Einschränkungen
  • lineare oder quadratische Ziele
  • mehrere hierarchische Ziele
  • Spezialisierte MIP-Einschränkungen (SOS, Indikator, weitere folgen)
  • einige kegelförmige Einschränkungen (Kegel zweiter Ordnung, weitere folgen)

Modelle werden unabhängig von Solver definiert und Solver können austauschbar ausgetauscht werden. MathOpt unterstützt die folgenden Solver:

MathOpt bietet Clientbibliotheken in C++ und Python zum Erstellen Ihres Optimierungsmodells.

MathOpt unterstützt viele erweiterte Funktionen, darunter:

  • Analyse der Undurchführbarkeit (Irreducible Infeasible Set oder IIS), nur Gurobi
  • Inkrementelle Lösungen
  • Callbacks
  • Dualität
  • Primale und Dual-Strahlen
  • Suboptimale urzeitliche und duale Lösungen
  • Löschungen von Variablen und Einschränkungen
  • Warmstarts (nach Lösung oder Basis)
  • Detaillierter Grund für die Kündigung
  • Verzweigungspriorität
  • Unterbrechung
  • Viele Solver-unabhängige Parameter