Ya no tienes que buscar más por otras páginas porque estás al sitio correcto, tenemos la respuesta que quieres y sin liarte.
Solución:
ACTUALIZAR: La respuesta se ha vuelto algo obsoleta en los últimos 4 años, aquí hay una actualización. Tienes muchas opciones:
-
Si no lo hace tengo que hazlo Python, entonces es mucho más fácil hacerlo en un lenguaje de modeladoconsulte ¿Alguna buena herramienta para resolver programas enteros en Linux?
-
Yo personalmente uso Gurobí en estos días a través de su API de Python. Es un producto comercial de código cerrado pero gratuito para la investigación académica.
-
Con Pulpa puede crear archivos MPS y LP y luego resolverlos con GLPK, COIN CLP/CBC, CPLEX o XPRESS a través de su interfaz de línea de comandos. Este enfoque tiene sus ventajas y desventajas.
-
los OR-Herramientas de Google es un paquete de software de código abierto para la optimización, ajustado para abordar los problemas más difíciles del mundo en enrutamiento de vehículos, flujos, programación entera y lineal, y programación de restricciones.
-
piomo es un lenguaje de modelado de optimización de código abierto basado en Python con un conjunto diverso de capacidades de optimización.
-
SciPy ofrece programación lineal: scipy.optimizar.linprog. (Nunca he probado este.)
-
Aparentemente, CVXOPT ofrece una interfaz de Python para GLPK, no lo sabía. He estado usando GLPK durante 8 años y puedo recomendar GLPK. ¡Los ejemplos y el tutorial de CVXOPT parecen realmente buenos!
-
Puede encontrar otras posibilidades en Wikibook bajo
GLPK/Python. Tenga en cuenta que muchos de estos no están necesariamente restringidos a GLPK.
Recomendaría el paquete cvxopt para resolver problemas de optimización convexa en Python. Un breve ejemplo con código Python para un programa lineal se encuentra en la documentación de cvxopt aquí.
Las otras respuestas han hecho un buen trabajo proporcionando una lista de solucionadores. Sin embargo, solo PuLP se ha mencionado como una biblioteca de Python para formular modelos de LP.
Otra gran opción es Pyomo. Al igual que PuLP, puede enviar el problema a cualquier solucionador y volver a leer la solución en Python. También puede manipular los parámetros del solucionador. Un compañero de clase y yo comparamos el rendimiento de PuLP y Pyomo en 2015 y descubrimos que Pyomo podía generar archivos .LP para el mismo problema varias veces más rápido que PuLP.