19 votos

Buen software para programación lineal/entera

Nunca hice programación lineal/entera, por lo que me pregunto lo siguiente

  • ¿Cuáles son algunos solucionadores eficientes y gratuitos de programación lineal?
  • ¿Cuáles son algunos solucionadores comerciales eficientes de programación lineal?

Sería bueno proporcionar un ejemplo de uso ficticio con cada respuesta propuesta.

¿Qué sucede si quiero resolver un problema de programación entera? ¿Cuáles son las respuestas a las dos preguntas anteriores en este caso?

Sé que la programación entera es un problema difícil, pero a veces se emplean métodos de relajación para obtener una solución a un problema de programación entera. ¿Hay algún paquete de software que implemente este tipo de cosas?

1 votos

Usé GLPK una vez y parecía funcionar bien.

0 votos

GAMS y LINGO son bastante populares para programación lineal, cuadrática y no lineal (también compatible con programación entera). MATLAB tiene algunas funciones integradas para programación lineal, pero para programación entera tendrías que escribir tu propio código de ramificación y acotación o pagar por alguna caja de herramientas. QPC (sigpromu.org/quadprog) es un solucionador de prog. cuadráticos con interfaz para MATLAB y es bastante eficiente. Definitivamente deberías revisar YALMIP (goo.gl/Hzqq9) para MATLAB. CPLEX es gratuito para uso académico. También está Gurobi (gurobi.com) y mucho más...

14voto

Drew Jolesch Puntos 11
  • Ver: LiPS:
    El Solucionador de Programas Lineales (LiPS) está destinado a resolver problemas de programación lineal. Características principales: interfaz gráfica fácil de usar, análisis de sensibilidad, solucionador de metas y programación entera mixta. LiPS admite el formato MPS y LP simple (como lpsolve).

  • Ver también: CLP
    CLP significa COIN-OR LP (Infraestructura Computacional para Investigación Operativa: Programación Lineal). CLP es un solucionador de programación lineal de código abierto escrito en C++.

  • También de COIN-OR es SYMPHONY, un programa para resolver problemas de programación entera (IP) y sus variantes.

  • Y: LpSolvers:
    Este sitio proporciona información de instalación para un paquete de software gratuito que resuelve modelos de Programación Lineal mediante el Método Simplex y/o el Método Push-and-Pull.

  • Finalmente, consulte la sección de Software de Programación Lineal e Entera de Wikipedia para obtener una lista más extensa (con enlaces) de solucionadores de programación lineal tanto gratuitos como comerciales.

1 votos

¡una lista agradable de hecho! +1

12voto

Rod Carvalho Puntos 1939

Algunos solucionadores de Programación Lineal:

  • GLPK (GNU Linear Programming Kit) está escrito en C. Echa un vistazo a esta introducción. Creo que GLPK también puede hacer Programación Entera.

  • CVXOPT es una biblioteca de Python para la optimización convexa. Además de LP, te permite resolver programas cuadráticos y semidefinidos.

  • Gurobi: puedes descargar una prueba gratuita.

5voto

Tyler Puntos 1

El Instituto Konrad-Zuse en Berlín (ZIB), Alemania proporciona una buena suite para resolver todo tipo de tareas de LP / ILP. Incluye:

  • zimpl: un lenguaje para modelar programas matemáticos
  • SCIP: un solucionador de programación entera mixta y marco de programación de restricciones
  • SoPlex: un solucionador de programación lineal
  • y más

¡Lo mejor de todo, es gratis! Y todas las implementaciones son razonablemente rápidas.

El estado del arte en el sector comercial es probablemente el CPLEX Studio de IBM. Este es un software costoso, pero IBM tiene un programa académico donde obtienes licencias gratuitas. Sin embargo, es un poco complicado aplicar. Solía trabajar con el paquete CPLEX porque incluye este buen lenguaje de modelado ampl. Sin embargo, cuando salió el equivalente gratuito de zimpl, cambié al paquete ZIB más disponible.

2voto

Proghero Puntos 142

¡Yo recomendaría Sage! Es una excelente alternativa gratuita basada en Python a Magma, Maple, Mathematica o Matlab.

¡Formular problemas de programación lineal utilizando Sage también es bastante simple en comparación con otras herramientas!

1 votos

Sí, en realidad Sage utiliza (por defecto) GLPK y se puede ajustar para ejecutar Gurobi también.

2voto

dwstu Puntos 234

Utilizo lpsolve IDE, además de utilizar lpsolve con R, con Python, etc.

Aquí está una lista de algunas de las características de la IDE:

  • Todo es gráfico y controlado por ratón
  • Ingrese su modelo lp en todos los formatos admitidos e incluso a través de un XLI (interfaz de lenguaje externo)
  • Convierta su modelo lp de un formato admitido a otro formato admitido e incluso a través de un XLI
  • Editor muy amigable para ingresar/cambiar el modelo con resaltado de sintaxis
  • Verificación de sintaxis del modelo
  • Resolver el modelo
  • Ver los resultados en cuadrículas
  • Controlar todas las opciones posibles de lpsolve (tolerancias, pre-soluciones, escalado, ...)
  • Ver la matriz en cuadrículas
  • Exportar modelo a salida HTML, RTF, LaTeX
  • Exportar matriz a salida CSV, HTML, RTF
  • Exportar resultados a salida CSV, HTML, RTF
  • Mostrar estadísticas sobre el modelo.
  • ...

Más detalles: http://sourceforge.net/projects/lpsolve/

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X