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