Necesito para hacer un modelo de programación lineal. Aquí están las desigualdades que estoy usando (por ejemplo):

6x + 4y <= 24
x + 2y <= 6
-x + y <= 1
y <= 2

Necesito encontrar el área descrita por estas desigualdades, y la sombra en un gráfico, así como de mantener un seguimiento de los vértices de las líneas de delimitación de esta área, y dibujar el delimitador de línea en un color diferente. Ver el siguiente gráfico es un ejemplo de lo que estoy buscando.

la programación lineal en python?.

Estoy usando Python 3.2, numpy y matplotlib. ¿Hay mejor módulos de programación lineal en Python?

  • Paso uno convertir el sistema de desigualdades en la forma de la matriz.
  • de acuerdo a wikipedia, la programación lineal es la optimización matemática: en.wikipedia.org/wiki/Linear_programming
  • de acuerdo-la eliminación de mi comentario. El error es mío, no de la Op
  • Su tercera ecuación, -x + x <= 1 es un no-op, ya que se simplifica a 0 <= 1, lo cual es cierto para todo x e y.
  • Podría usted por favor también de elaborar el proceso que se ha utilizado para su código predeterminado. (el uso de numpy & matplotlib)
  • Aquí es un detallado paso a paso ejemplo de uso de la Pulpa. stackoverflow.com/questions/33160262/…

InformationsquelleAutor user24562 | 2012-05-22

7 Comentarios

  1. 63

    ACTUALIZACIÓN: La respuesta se ha convertido en algo obsoleto en los últimos 4 años,
    aquí está una actualización. Usted tiene muchas opciones:

    • Si no tiene que hacerlo en Python, entonces es mucho más fácil
      hacer esto en un modelado langage, ver Cualquier buen herramientas para resolver
      entero programas en linux?

    • Yo personalmente uso Gurobi estos
      días a través de su API de Python. Es un comercial, de código cerrado
      producto, pero libre para la investigación académica.

    • SciPy ofrece programación lineal: scipy.optimizar.linprog. (He
      nunca se trató de esto.)

    • Con La pulpa puede crear MPS y LP archivos y, a continuación,
      a resolverlos con GLPK, MONEDA CLP/CBC, CPLEX, o XPRESS a través de sus
      interfaz de línea de comandos. Este enfoque tiene sus ventajas y
      desventajas.

    • Al parecer, CVXOPT ofrece un Interfaz de Python para GLPK, yo lo hice
      no sé que. He estado usando GLPK durante 8 años y ahora puedo
      recomiendo GLPK. El ejemplos y tutoriales de CVXOPT parece muy bonito!

    • Usted puede encontrar otras posibilidades en el Wikibook bajo
      GLPK/Python. Tenga en cuenta que muchos de estos no son necesariamente resticted
      a GLPK.

    • el uso de Pasta, una impresionante interfaz de python para GLPK, CPLEX o Gurobi
    • Anónimo downvotes no están ayudando a nadie. Lo que está mal con la respuesta?
    • la Versión 1.1 de la Pulpa enlaces a una página web en jeannot.org que mi Sophos bloques con «Alto Riesgo de sitio Web Bloqueado, se ha bloqueado el Acceso como la amenaza C2/Genéricos-Un se ha encontrado en este sitio web.» Sophos página dice que es «Comando y Control de malware.» Alguien ha utilizado la Pulpa? ¿Cuál es su opinión sobre esto?
    • Gracias, he aceptado su edición. Es bueno ver que la gente a encontrar esta respuesta útil.
  2. 19

    Me gustaría recomendar el paquete cvxopt para la resolución de problemas de optimización convexa en Python. Un breve ejemplo con el código de Python para un problema de programación lineal es en cvxopt la documentación de aquí.

  3. 5

    La única vez que un gráfico es utilizado para resolver un problema de programación lineal es para una tarea de problema. En todos los demás casos, los problemas de programación lineal que se resuelven a través de la matriz álgebra lineal.

    Como para Python, mientras que hay algunas pura-librerías de Python, la mayoría de la gente usa una biblioteca nativa con enlaces Python. Hay una amplia variedad de libres y comerciales de las bibliotecas de programación lineal. Para obtener una lista detallada, consulte Programación Lineal en la Wikipedia o el Software De Programación Lineal De La Encuesta en O/MS Hoy.

    Descargo de responsabilidad: yo actualmente trabajo para Gurobi Optimización y anteriormente trabajó para ILOG, que siempre CPLEX.

    • Entre las tareas y el trabajo también hay pasión por el aprendizaje, creo que la primera frase que escribí es fuera de lugar…
    • Cual es la forma más rápida para los Problemas de Programación Lineal?
  4. 5

    Las otras respuestas han hecho un buen trabajo, proporcionando una lista de los que resuelven. Sin embargo, sólo la Pulpa ha sido mencionado como una biblioteca de Python para la formulación de modelos LP.

    Otra gran opción es Pyomo. Como PuLP, usted puede enviar el problema a cualquier solver y leer la solución de nuevo en Python. También puede manipular los parámetros de solver. Un compañero de clase y la he comparado el rendimiento de la Pulpa y Pyomo de vuelta en 2015 y hemos encontrado Pyomo podría generar .LP archivos para el mismo problema varias veces más rápido que las de la Pulpa.

  5. 1

    Yo recomiendo usar el La pulpa paquete de python. Tiene una interfaz agradable y se puede utilizar differenty tipos de algoritmos para resolver LP.

  6. 0

    lpsolve es el más fácil para mí. No es necesario instalar por separado solver. Viene con el paquete.

Dejar respuesta

Please enter your comment!
Please enter your name here