CVXOPT löst nur (glatte und nicht glatte) konvexe Probleme und ermöglicht den Zugriff auf mehrere konvexe Löser von Drittanbietern mit garantierter Worst-Case-Komplexität auf dem neuesten Stand der Technik. Sie können lineare, konvexe quadratische, lineare semidefinite und viele andere konvexe Arten von Einschränkungen darstellen.
OpenOpt löst allgemeine (glatte und nicht glatte) nichtlineare Programme, einschließlich Probleme mit ganzzahligen Einschränkungen. Im Gegensatz zu CVXOPT gibt es keine Software zum Lösen semidefiniter Programme. Die Löser wurden alle von Dmitrey Kroshko selbst geschrieben und haben keine lange Geschichte, daher waren die Tests wahrscheinlich begrenzt. OpenOpt selbst ist nicht mit allgemeinen Solvern von Drittanbietern verbunden.
Es gibt jedoch das OpenOpt Framework (http://openopt.org/OOFramework), das mit IPOPT (in einem anderen Kommentar erwähnt; es kann nicht glatte Probleme nicht lösen), CVXOPT und einige andere in Python verfügbare Löser verbunden ist.
Abgesehen von dieser Schnittstelle besteht keine Beziehung zwischen diesen Paketen. Die Methoden sind völlig unterschiedlich; Die einzigen gemeinsamen Dinge können die Python-Sprache und der Zugriff auf LAPACK sein.
Bei konvexen Problemen möchte ich auch
CVX: Matlab Software für disziplinierte konvexe Programmierung
empfehlen http://cvxr.com/cvx ,
für die die Autoren den diesjährigen renommierten Beale-Hays-Orchard-Preis für herausragende Leistungen in der rechnergestützten mathematischen Programmierung erhalten haben . Es ist jedoch in Matlab geschrieben.
Sie haben auch eine Python-Version namens CVXPY
http://www.stanford.edu/~ttinoco/cvxpy/ , aber CVXPY ist effektiv nur eine sehr schöne und nützliche "disziplinierte" Schnittstelle zu CVXOPT, in der eine kann sicherstellen, dass ein Programm, wenn es syntaktisch korrekt ist, ein konvexes Optimierungsproblem darstellt.