Estoy buscando una biblioteca C++, y estoy tratando con funciones convexas de objetivo y restricción.¿Qué es una buena biblioteca de optimización convexa?
Respuesta
estoy adivinando su problema es no lineal. Donde trabajo, utilizamos SNOPT, Ipopt y otro solucionador patentado (no está a la venta). También hemos intentado y oído cosas buenas sobre Knitro.
Siempre que su problema sea convexo, todos estos solucionadores funcionan bien.
Todos ellos tienen su propia API, pero todos ellos piden la misma información: valores, primera y segunda derivadas.
Por lo que sé, el solver CPLEX es el mejor solucionador de optimización convexa. Es el estado del arte en solucionadores de LP. ¿La optimización convexa realmente bien? Mientras lo busco, veo que es el software de IBM ahora. Lo puedes encontrar aquí: http://www-01.ibm.com/software/integration/optimization/cplex/
Puede encontrar otras solucionadores de código abierto y sus parámetros de rendimiento aquí: http://plato.asu.edu/ftp/lpfree.html Además, no se olvide de visitar http://code.msdn.microsoft.com/solverfoundation –
Lineal implica convexo, no al revés. –
cplex resuelve problemas convexos limitados linealmente o cuadráticamente. Es muy rápido, pero no maneja problemas convexos generales. –
Suponiendo que sus problemas no son lineales, puede usar OPT++ de fuente abierta y gratuita, disponible en Sandia Lab. Lo he usado en un proyecto en C++ y fue fácil de usar y funcionó bien.
Puede utilizar GSL
(GNU Scientific Library) con the packageNLopt
que es un paquete de optimización no lineal con restricciones de desigualdad no lineal sin restricciones, con limitaciones de atado y generales.
Dos comentarios: Primero, ¿qué quiere decir que puede usar GSL y NLOpt juntos (GSL con NLOpt)? Parecen ser proyectos separados. Ellos tienen el mismo espíritu pero son independientes. En segundo lugar, el autor de NLOpt no recomienda utilizar NLOpt para problemas convexos, desde la página web: "NLopt incluye solo métodos generales que no suponen convexidad; si tiene un problema demostrablemente convexo, puede que esté mejor con un paquete de software diferente , como el paquete CVX de Stanford ". http://ab-initio.mit.edu/wiki/index.php/NLopt_Introduction#Global_versus_local_optimization – alfC
- 1. ¿Qué es una buena biblioteca de automatización de Windows .NET?
- 2. ¿Qué es una buena biblioteca de registro activo de PHP?
- 3. ¿Qué es una buena biblioteca de trazado para .Net?
- 4. ¿Qué es una buena biblioteca de lenguaje natural para parafrasear?
- 5. ¿Qué es una buena biblioteca RDF para .net?
- 6. cuál es una buena biblioteca/marco de gráficos ios
- 7. ¿Una buena biblioteca aritmética de incertidumbre (intervalo)?
- 8. ¿Qué es una buena biblioteca de Java para el etiquetado de partes de voz?
- 9. Una buena biblioteca de C++ para SOAP
- 10. ¿Hay una buena biblioteca de redes Java?
- 11. Una buena biblioteca 3D de malla
- 12. ¿Qué es una buena función hash?
- 13. ¿Qué es una buena herramienta Web Crawler?
- 14. ¿Qué es una buena biblioteca de PHP para manejar cargas de archivos?
- 15. ¿Qué es una buena biblioteca de C++ para cargar imágenes de textura en OpenGL?
- 16. ¿Qué es una buena biblioteca de Java, similar a curses, para aplicaciones de terminal?
- 17. ¿Qué es una buena biblioteca de C++ para operaciones de matriz?
- 18. ¿Qué es una buena biblioteca de manipulación de matrices disponible para C?
- 19. ¿Qué es una buena biblioteca de visualización de datos para iOS?
- 20. ¿Qué es una buena biblioteca para manipular los archivos de configuración de Apache2?
- 21. ¿Qué es una buena biblioteca de gráficos de red para el lenguaje X?
- 22. ¿Qué es una buena biblioteca de Python para árboles de decisión?
- 23. ¿Qué es una buena biblioteca de pago PHP que funciona con Paypal, Google Checkout y Authorize.net?
- 24. ¿Qué es una buena biblioteca de gráficos vectoriales multiplataforma para C/C++?
- 25. ¿Qué es una buena biblioteca de cliente SOAP para python en App Engine?
- 26. ¿Qué es una buena biblioteca de estadísticas para calcular correlaciones múltiples en .NET?
- 27. ¿Qué es una buena biblioteca de Java para las operaciones dinámicas del cliente SOAP?
- 28. ¿Qué es una buena biblioteca (gratuita) para hacer un diagrama de contorno en Java?
- 29. ¿Qué es la optimización de código?
- 30. ¿Qué es una biblioteca de clases portátil?
¿Dónde lo viste por última vez? –
La mayoría de los solucionadores de LP tienen su propia forma de definir los conjuntos de problemas. Las interfaces programáticas para esto son principalmente recubrimientos de azúcar. –
Estoy usando cvxopt, y para instalar Acabo de descargar las bibliotecas precompiladas de http://www.lfd.uci.edu/~gohlke/pythonlibs/#cvxopt, luego pip install (rueda descargada), luego me aseguré de importar numpy antes de usarlo. – Phylliida