CVXOPT rozwiązuje tylko wypukłe problemy (gładkie i nie gładkie), zapewniając dostęp do kilku wypukłych solverów innych firm z gwarantowaną najnowocześniejszą złożonością najgorszych przypadków. Możesz tworzyć liniowe, wypukłe kwadratowe, liniowe półfinały i wiele innych wypukłych typów wiązań.
OpenOpt rozwiązuje ogólne (gładkie i nie gładkie) programy nieliniowe, w tym problemy z ograniczeniami całkowitymi. W przeciwieństwie do CVXOPT, nie ma oprogramowania do rozwiązywania programów półfinałowych. Wszystkie solwery napisał sam Dmitrey Kroshko i nie mają długiej historii, więc testy były prawdopodobnie ograniczone. Sam OpenOpt nie łączy się z ogólnymi rozwiązaniami innych firm.
Istnieje jednak „OpenOpt Framework” (http://openopt.org/OOFramework), który łączy się z IPOPT (wspomnianym w innym komentarzu; nie może rozwiązać problemów niezwiązanych z wygładzeniem), CVXOPT i niektórymi innymi rozwiązaniami dostępnymi w Pythonie.
Poza tym interfejsem nie ma związku między tymi pakietami. Metody są zupełnie inne; jedynymi powszechnymi rzeczami mogą być język Python i dostęp do LAPACK.
W przypadku problemów wypukłych chciałbym również polecić
CVX: Matlab Software for Disciplined Convex Programming
http://cvxr.com/cvx ,
za który autorzy otrzymali tegoroczną bardzo prestiżową nagrodę Beale-Hays-Orchard za doskonałość w programowaniu matematycznym . Jest to jednak napisane w Matlabie.
Mają także „wersję” Pythona o nazwie CVXPY
http://www.stanford.edu/~ttinoco/cvxpy/ , ale CVXPY jest w rzeczywistości tylko bardzo ładnym i użytecznym „zdyscyplinowanym” interfejsem do CVXOPT, w którym jeden może upewnić się, że gdy program jest poprawny pod względem składniowym, jest to problem optymalizacji wypukłej.