CPLEX - CPLEX
Deweloper (y) | IBM |
---|---|
Wersja stabilna | 20.1.0
|
Rodzaj | Obliczenia techniczne |
Licencja | Prawnie zastrzeżony |
Stronie internetowej | www |
IBM ILOG CPLEX Optimization Studio (często nieformalnie określane po prostu jako CPLEX ) to pakiet oprogramowania optymalizacyjnego . W 2004 r. Praca nad CPLEX otrzymała pierwszą nagrodę INFORMS Impact Prize.
Historia
CPLEX Optimizer został nazwany na cześć metody simplex zaimplementowanej w języku programowania C , chociaż obecnie obsługuje również inne typy optymalizacji matematycznej i oferuje interfejsy inne niż C. Został pierwotnie opracowany przez Roberta E. Bixby i sprzedawany komercyjnie od 1988 roku przez CPLEX Optimization Inc. Firma została przejęta przez ILOG w 1997 r., A ILOG została następnie przejęta przez IBM w styczniu 2009 r. CPLEX jest nadal aktywnie rozwijany przez IBM.
funkcje
IBM ILOG CPLEX Optimizer rozwiązuje problemy programowania liczb całkowitych , bardzo duże problemy programowania liniowego przy użyciu pierwotnych lub podwójnych wariantów metody simplex lub metody punktów wewnętrznych bariery , wypukłe i niewypukłe problemy z programowaniem kwadratowym oraz wypukłe problemy z ograniczeniami kwadratowymi (rozwiązywane za pomocą drugiego -order programowanie stożka lub SOCP).
CPLEX Optimizer posiada warstwę modelowania o nazwie Concert, która zapewnia interfejsy do języków C ++ , C # i Java . Istnieje interfejs w języku Python oparty na interfejsie C. Dodatkowo dostarczane są łączniki do Microsoft Excel i MATLAB . Na koniec dostępny jest samodzielny plik wykonywalny Interactive Optimizer do debugowania i do innych celów.
CPLEX Optimizer jest dostępny za pośrednictwem niezależnych systemów modelowania, takich jak AIMMS , AMPL , GAMS , OptimJ i TOMLAB . Oprócz tego AMPL zapewnia interfejs do CPLEX CP Optimizer.
Pełne oprogramowanie IBM ILOG CPLEX Optimization Studio składa się z CPLEX Optimizer do programowania matematycznego, CP Optimizer do programowania z ograniczeniami, Optimization Programming Language (OPL) oraz ściśle zintegrowanego IDE.
Historia wydania
Przed przejęciem ILOG przez IBM zespół CPLEX opublikował historię wersji CPLEX. Zostało to zaktualizowane i powielone tutaj dla potomności.
Wersja | Data wydania | Kluczowe cechy |
---|---|---|
20.1 | Grudzień 2020 | Ulepszenia wydajności MIP, nowy tryb `` podkreślenia MIP 5 '' itp. |
12.10 | Grudzień 2019 | Ulepszenia wydajności MIP i dodanie ogólnego wywołania zwrotnego rozgałęzienia do innych ogólnych wywołań zwrotnych wprowadzonych w wersji 12.8. |
12.9 | Marzec, 2019 | Bezpośrednie wsparcie dla optymalizacji wielokryterialnej, poprawy funkcjonalności callback. |
12.8 | Grudzień 2017 | Ogólne wywołanie zwrotne, rejestrator API ułatwiający debugowanie, parametry kontrolne subMIP, oferta Pobierz i przenieś |
12.7 | Listopad 2016 | Automatyczna dekompozycja giętarek, narzędzie wspomagające modelowanie, polecenie runseeds w celu lepszej oceny zmienności wydajności. |
12.6.2 | Czerwiec 2015 | Ulepszenia wydajności (głównie dla SOCP, MISOCP, non-convex QP), wsparcie dla optymalizacji w chmurze. |
12.6 | Grudzień 2013 | Obsługa niewypukłych QP i MIQP, rozproszonych równoległych MIP i więcej równoległości w węźle głównym dla MIP. |
12.5 | Październik 2012 | Ulepszenia wydajności MIP, losowy parametr początkowy w celu uwzględnienia zmienności wydajności, zdalny obiekt, dualne dla QCP, deterministyczne narzędzie do strojenia. |
12.4 | Listopad 2011 | Obsługa deterministycznych limitów czasowych, duals dla SOCP, API wyrażeń kwadratowych w Concert, ulepszenia wydajności we wszystkich algorytmach, ale przede wszystkim MIP. |
12.3 | Czerwiec 2011 | Obsługa dużych liczb niezerowych, które wymagają indeksowania 64-bitowego, lokalnych optymalnych wartości dla niewypukłych QP i globalizacji. |
12.2 | Czerwiec 2010 | Więcej równoległości w węźle głównym, deterministyczna równoległa równoległa optymalizacja LP, wraz z kilkoma dodatkowymi ulepszeniami wydajności bariery i dodatkowymi narzędziami do diagnozowania źle uwarunkowanych macierzy bazowych w MIP. |
12,0 | Kwiecień 2009 | Pierwsza wersja po przejęciu ILOG przez IBM. Zawiera łączniki dla języków Python, MATLAB i Excel. Uwzględniono również deterministyczną barierę równoległą. |
11.0 | Październik 2007 | Przełomowy wzrost wydajności w modelach mieszanego programowania liczb całkowitych (MIP) i ulepszonej optymalizacji równoległej MIP. Wprowadzono funkcję puli rozwiązań MIP i narzędzie do dostrajania wydajności. |
10,0 | Styczeń 2006 | Ulepszenia wydajności w podstawowych metodach simplex i barierowych, a także w optymalizatorze MIP. Wprowadzono ograniczenia wskaźników i heurystykę dopracowania rozwiązań, a także udoskonalono analizę niewykonalności. |
9.0 | Grudzień 2003 | Ulepszenia wydajności w metodach pierwotnych i podwójnych simplex oraz optymalizatorze MIP. Obejmuje technologię ILOG Concert dla użytkowników .NET i obsługę programów z ograniczeniami kwadratowymi. |
8.0 | Lipiec 2002 | Ulepszenia wydajności MIP i obsługa programów kwadratowych z mieszanymi liczbami całkowitymi. |
7.5 | Grudzień 2001 | Technologia koncertowa ILOG dla użytkowników języka Java. |
7.0 | Październik 2000 | ILOG Concert Technology dla użytkowników C ++. |
6.5 | Marzec 1999 | Znaczące ulepszenia wydajności w metodach pierwotnych i podwójnych simplex oraz optymalizatorze ILOG CPLEX Mixed Integer Optimizer. |
6.0 | Kwiecień 1998 | Znaczące ulepszenia wydajności w metodach pierwotnych i podwójnych simplex oraz CPLEX Barrier Optimizer. |
5.0 | Wrzesień 1997 | Nowy model pamięci ułatwiający integrację z C ++. |
4.0.5 | Marzec 1996 | Wprowadzono równoległy solver mieszanych liczb całkowitych CPLEX. |
4.0 | Grudzień 1995 | Przeprojektowany zaawansowany interfejs programowania (API), aby umożliwić bezpieczne wątkowo aplikacje. |
3.0.8 | Marzec 1995 | Wprowadzono równoległy CPLEX Barrier Solver. |
3.0 | Kwiecień 1994 | Wprowadzenie CPLEX Barrier Solver. |
2.1 | Marzec 1993 | Wprowadzenie algorytmów CPLEX Presolve. |
2.0 | Kwiecień 1992 | Ulepszenia w wydajności. |
1.2 | 1991 | Wsparcie dla metody dual simplex i CPLEX Mixed Integer Optimizer. |
1.0 | 1988 | Pierwotna metoda simplex |