Couenne
Wersja stabilna | 0.5.6 |
---|---|
Napisane w | C++ |
System operacyjny | Międzyplatformowe |
Strona internetowa |
Convex Over and Under ENvelopes for Nonlinear Estimation ( Couenne ) to biblioteka typu open source do rozwiązywania globalnych problemów optymalizacyjnych, zwanych również mieszanymi problemami optymalizacji nieliniowej liczb całkowitych. Globalny problem optymalizacji wymaga zminimalizowania funkcji , zwanej funkcją celu , podlegającą zbiorowi ograniczeń. Zarówno funkcja celu, jak i ograniczenia mogą być nieliniowe i niewypukłe. Aby rozwiązać te problemy, Couenne stosuje procedurę przeformułowania i zapewnia liniowe przybliżenie dowolnego problemu optymalizacji niewypukłej.
Couenne jest implementacją gałęzi i ograniczeń , w której każdy podproblem jest rozwiązywany przez konstruowanie relaksacji programowania liniowego w celu uzyskania dolnej granicy. Rozgałęzienia mogą występować zarówno przy zmiennych ciągłych, jak i całkowitych, co jest konieczne w globalnych problemach optymalizacji. Wymaga podania danych wejściowych w formacie .nl A Mathematical Programming Language ( AMPL ) . nl , aby można je było wykorzystać z AMPL, i zapisuje jako dane wyjściowe plik . sol zawierający najlepsze rozwiązanie znalezione do tego momentu (jeśli optymalizacja zostanie przerwana ) lub globalne optimum, jeśli kończy się bez przerwy.
Rozwój Couenne rozpoczął się w 2006 roku w ramach współpracy pomiędzy IBM i Carnegie Mellon University . Jest to oprogramowanie typu open source i jest obecnie udostępniane na licencji Eclipse Public License v1.0.
Kod źródłowy jest dostępny do pobrania w repozytorium Computational Infrastructure for Operations Research COIN-OR oraz w serwisie GitHub. Couenne używa innych pakietów zarówno w COIN-OR ( CBC , CLP , COIN-OR OSI, COIN-OR Bonmin, COIN-OR Cgl, Interior Point OPTimizer ( IPOPT )) jak i poza ( LAPACK , Basic Linear Algebra Subprograms (BLAS), Multifrontal Massively Parallel sparse direct Solver ( MUMPS ), Nauty, Solving Constraint Integer Programs ( SCIP ), SoPlex).
Zobacz też
- BARON - komercyjny solver dla MINLP opracowany przez Nicka Sahinidisa i innych
- LINDO – pakiet składający się z LindoGlobal do rozwiązywania globalnych problemów optymalizacyjnych
- Octeract Engine – komercyjny, masowo równoległy lokalny i globalny solver MINLP
- SCIP – ogólnodostępne narzędzie do rozwiązywania problemów MILP, MIQCQP i globalnej optymalizacji