¿Alguien sabe de una biblioteca que realiza optimización matemática (programación lineal, optimización convexa o tipos más generales de problemas)? Estoy buscando algo como MATLAB, pero con la capacidad de manejar problemas más grandes. ¿Debo escribir mis propias implementaciones o comprar uno de esos productos comerciales (CPLEX y similares)?biblioteca de optimización matemática para Java --- ¿recomendaciones gratuitas o de código abierto?
biblioteca de optimización matemática para Java --- ¿recomendaciones gratuitas o de código abierto?
Respuesta
Una buena respuesta depende de lo que quiere decir con "convexo" y "más general" Si está tratando de resolver problemas de optimización lineales o convexos cuadráticos grandes o desafiantes (especialmente con un componente discreto), entonces es difícil de superar los principales solucionadores comerciales, gurobi, cplex y Dash a menos que el dinero sea un gran problema para usted. Todos ellos tienen interfaces JNI limpias y están disponibles en la mayoría de las plataformas principales. Hay un interesante entorno de modelado basado en Java llamado optimj, que le permite enganchar en varios optimizadores, pero requiere una licencia para sí mismo y para los solucionadores que obtenga (pero hay algunos solucionadores libres). El proyecto coin-or tiene varios optimizadores y tiene un proyecto para la interfaz JNI. Es totalmente gratuito (licencia EPL), pero le llevará más trabajo configurarlo y probablemente no le proporcione el mismo rendimiento.
Es posible que desee mirar JScience, se ve bastante completo. (Estructuras matemáticas, resolución de álgebra lineal, etc.)
Mire en AMPL. La edición básica es gratuita, pero cuesta dinero para problemas más grandes. No pagas por el idioma; pagas por los solucionadores También es posible cargar su código y ejecutarlo en sus servidores.
cómo es AMPL una buena solución para un entorno Java. –
Hay una herramienta de optimización lineal llamada lpsolve. Está escrito en C (creo) pero viene con un contenedor Java/JNI (API no es muy OO pero cumple su función). Es bastante fácil de usar y lo he estado ejecutando muy felizmente y de forma estable en un sistema en vivo durante el último año.
OptaPlanner (Java, código abierto, ASL) puede manejar problemas grandes y no tiene limitaciones de tipo de restricciones (como lineal frente a convexo).
Estos conceptos están ganando mucha tracción en los últimos días. Sería genial saber si hay algún conjunto nuevo de bibliotecas o API en esta área en Java. – Gana
Sí, está Choco, jacop, jsprit, etc. OptaPlanner es, con mucho, el afaik más descargado (aunque estoy predispuesto). La versión 7.0 lanzada recientemente apunta a Java 8 y 9 (lamba, etc.). –
Puede intentar JOptimizer, de código abierto y adecuado para los problemas generales convexas de optimización (programación lineal, programación cuadrática, qcqp, programación de cono, programación semidefinida, ect
IPOPT tiene una interface for Java. También puede ser capaz de adaptarse el lenguaje de modelado de APMonitor para Java. Desarrollo esta plataforma, así que estaré encantado de trabajar con alguien si desean crear una nueva interfaz para Java. Ya tiene una interfaz Python API y MATLAB e incluye solucionadores como IPOPT, APOPT , BPOPT y otros que pueden manejar sistemas a gran escala.
- 1. Java o Python para matemática?
- 2. Recomendaciones para Java + OpenPGP?
- 3. Librerías de optimización de imágenes de código abierto Java
- 4. Biblioteca matemática BCD para números grandes arbitrarios?
- 5. ¿Biblioteca Java de código abierto para leer datos de ECG?
- 6. Finanzas cuantitativas/biblioteca matemática para Java
- 7. ¿Cuáles son algunas herramientas interesantes, gratuitas y de código abierto de análisis dinámico para Java?
- 8. biblioteca zip de código abierto para .NET?
- 9. Biblioteca de reconocimiento de voz de código abierto en Java
- 10. Mejoras de código abierto o reemplazos para componentes Swing
- 11. Biblioteca matemática de alto rendimiento para .NET/C# y Java
- 12. biblioteca de texto a voz de código abierto
- 13. subclases de una biblioteca de código abierto
- 14. Biblioteca de CoverFlow de código abierto para iPhone
- 15. Recomendaciones para la biblioteca de compresión .NET
- 16. ¿Hay utilidades o jarras de reflexión Java de código abierto?
- 17. ¿Cuál es la mejor biblioteca matemática para usar con Java?
- 18. ¿Existe un monitor de sistema de archivos sofisticado para Java que sea de software gratuito o de código abierto?
- 19. Pequeña biblioteca Unicode de código abierto para C/C++
- 20. ¿Existe una buena biblioteca de equilibrio de carga abstracta de código abierto para Java?
- 21. Biblioteca Java de código abierto para producir miniaturas de páginas web del lado del servidor
- 22. Mejores prácticas para escribir código abierto Java
- 23. biblioteca Java de código abierto para leer correos electrónicos de Outlook, calendario, etc.
- 24. ¿Hay alguna biblioteca de memoria temporal jerárquica de código abierto?
- 25. Biblioteca C++ de código abierto para matemáticas vectoriales
- 26. Biblioteca de diseño de gráficos de código abierto
- 27. Biblioteca de código abierto java para el problema de flujo de costo mínimo
- 28. ¿Hay una biblioteca de código abierto de Java para analizar archivos de Excel 2007?
- 29. biblioteca de código abierto de Java para la validación de HTML5?
- 30. Biblioteca de eventos personalizados para JavaScript. ¿Hay alguno? Recomendaciones?
Gracias por su respuesta. Desafortunadamente, JScience se queda corto de reall y implementando algoritmos de optimización. –
lol ............. –