• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

433
Vistas
Cómo realizar la programación lineal entera en Apache Commons Math

El paquete org.apache.commons.math3.optim.linear en Apache Commons Math Library permite la optimización lineal , pero los valores devueltos son el doble. ¿Hay alguna forma de realizar la programación lineal entera usando esta biblioteca? Intenté buscar en Google, pero parece que no hay ninguna mención de ILP en ninguna parte.

Alternativamente, ¿hay alguna otra biblioteca de Java que pueda hacer ILP? tenga en cuenta que necesito ejecutar esto en Android, así que SCPSolver, GLPK, Or-tools. etc. no son posibles.

Gracias por adelantado.

about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Como esta pregunta y la 'Programación lineal en Android' en general es un tema poco discutido, pensé que publicaría mis hallazgos aquí para cualquiera que busque en el futuro.

Por cierto, terminé usando un puerto de Ojalgo, que se muestra a continuación.

Estos son los LP Libs que encontré que se pueden importar fácilmente a un proyecto de Android:

Apache Commons Matemáticas

Quizás la biblioteca mejor mantenida, esta admite la optimización lineal pero no tiene LP "Integer" .

Las siguientes dos bibliotecas admiten Integer LP y/o Mixed Integer LP.

Chocó Solver

Aunque la última versión de Choco (4.0) se basa en Java 8, existe una variante de Java 7 de la versión 3.3.3. Puedes encontrarlo aquí . Esto se importa a Android Studio sin ningún problema.

Otro problema con el que te puedes encontrar es que, aunque hay guías y tutoriales en su sitio web para la versión 4, no podrás encontrar ninguna guía para Choco 3 excepto los Javadocs. Pero, afortunadamente, alguien había hecho un PDF de las guías más antiguas que puede obtener buscando en Google "Manual de usuario de Choco3" .

También tenga en cuenta que Choco tiene una licencia Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . Entonces, si desea utilizar LP en un proyecto comercial, considere la siguiente opción.

¡Oj! Algoritmos

Ojalgo es otra gran biblioteca que tiene una licencia MIT y es compatible con Java 7. Pero como descubrí, usa un par de llamadas de Java que no están disponibles en Android.

Afortunadamente, un MVP ha portado la biblioteca para que funcione en Android: KIC/ojAlgoAndroid

Este puerto se ejecutó sin problemas. He bifurcado y creado un lanzamiento en Jitpack: shahimclt/ojAlgoAndroid .

about 3 years ago · Santiago Trujillo Denunciar

0

Solo para arreglar la respuesta de ShahiM:

  • La licencia de Choco Solver es BSD-4, por lo que puede usarla en un proyecto comercial: https://github.com/chocoteam/choco-solver/blob/master/LICENSE

  • En cuanto a la documentación, bueno, si desea acceder a la guía de usuario de una versión anterior, simplemente debe buscar una versión anterior, por ejemplo, https://github.com/chocoteam/choco-solver/releases?after=choco-3.3. 2

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda