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