Czym jest MathOpt
MathOpt to biblioteka do modelowania i rozwiązywania problemów z optymalizacją matematyczną, np. liniowych problemów z programowaniem oraz mieszanych problemów z programowaniem liczb całkowitych (MIP). MathOpt oddziela modelowanie od rozwiązywania, dzięki czemu użytkownicy mogą przełączać się między metodami rozwiązania przez zmianę wartości wyliczeniowej (i zależności kompilacji) w celu wybrania odpowiedniego rozwiązania.
Obejrzyj ten film, aby pokrótce zapoznać się z matematyką MathOpt z prezentacji z konferencji JuMP 2023.
Funkcje MathOpt
Modele MathOpt mogą zawierać:
- zmienne całkowite lub ciągłe
- ograniczenia liniowe lub kwadratowe
- cele liniowe lub kwadratowe
- wiele celów hierarchicznych
- specjalistyczne ograniczenia MIP (SOS, wskaźnik, wkrótce)
- pewne ograniczenia stożkowe (stożek drugiego rzędu, kolejne)
Modele są definiowane niezależnie od rozwiązań, a rozwiązania można zastępować na zmianę. MathOpt obsługuje te rozwiązania:
MathOpt udostępnia biblioteki klienta w językach C++ i Pythonie do tworzenia modeli optymalizacji.
MathOpt obsługuje wiele zaawansowanych funkcji, w tym:
- Analiza niewykonalności (Irreducible Infeasible Set, IIS), tylko Gurobi
- Rozwiązania przyrostowe
- Wywołania zwrotne
- Dualizacja
- Promieniowanie podstawowe i podwójne
- Rozwiązania nieoptymalne: pierwsze i podwójne
- Usuwanie zmiennych i ograniczeń
- Uruchomienia z pamięci (według rozwiązania lub podstawy)
- Szczegółowa przyczyna zamknięcia
- Priorytet rozgałęzienia
- Przerwa
- Wiele parametrów niezależnych od rozwiązania