Processing math: 100%

5 votos

Determinar rápidamente si esta Entero problema de programación Lineal tiene solución

Tengo un número entero de programación lineal de la forma Minimizec=x1++xmsubject toAxbwherexZm, x0, bRn, b0, ARn×m . Así que, lo más importante es que, tanto mi coeficiente de vectores x b siempre no negativo en cada componente, y no hay ninguna "" límite de nada. A es una forma arbitraria (finito) con un valor real de la matriz. Esto es solucionable, en una forma sencilla y en cualquier estándar LP solver. Pero de lo que he estado tratando de averiguar es si hay una sencilla manera de determinar si el dado problema tiene una solución a todos – no tener que preocuparse de que la solución es la óptima.

En otras palabras, la pregunta es si existe una xZm, x0, de modo que Axb (b0).

Mike contribuciones a continuación han sido muy valiosa, y aún así parece que no hay manera más simple de determinar esto–, pero todavía no estamos muy seguros, así que voy a dejar esta pregunta abierta un poco más de tiempo.

Yo creo, sin embargo, que en mi caso especial, una cosa que se tiene: Dadas las condiciones anteriores, si existe una solución para el problema relajado (es decir,, xRm, x0), a continuación, una solución integral que existe. He puesto esto en una pregunta aparte. Pero suponiendo que tiene, tal vez el relajado versión tiene una manera más sencilla para comprobar la solvencia?

¿Tienes una dirección en la que se me señale, o una idea de cómo ir sobre esto? O, tal vez, es Simple la única manera de averiguarlo?

Gracias de antemano por las sugerencias!

3voto

Martin OConnor Puntos 116

Por desgracia, en general, no hay ningún método rápido. En algunos casos especiales (por ejemplo, el origen es factible) determinar si un problema de programación lineal tiene una solución es bastante fácil, pero a falta de algo así como que el problema es computacionalmente difícil como encontrar una solución óptima. Así que, sí, en general simplex es realmente la única manera de averiguarlo.

Por ejemplo, si el origen no es posible, el método simplex es necesario utilizar algún método para encontrar una primera solución factible. Los métodos más comunes (por ejemplo, el Big-M método, la Fase I de una de dos fases método dual simplex) suponen resolver problemas de programación lineal a sí mismos. Así que, en general, la búsqueda de una solución factible es equivalente a la solución de algún problema de programación lineal para la optimalidad.

Con más información sobre la estructura de A, sin embargo, que podría ser capaz de decir algo. Por ejemplo, el doble de su problema (como un LP, sin el entero de restricción) es

MinimizebTysubject toATy1y0.

El origen es factible para el dual. Con más información sobre las entradas en A, si usted puede demostrar que el dual es limitada, a continuación, fuerte dualidad implica que su problema original (de nuevo, como un LP) tiene una solución factible.


Todo lo que he dicho hasta ahora es que el LP caso. El programa entero caso es aún peor, como programación entera es mucho más difícil de programación lineal. De hecho, el problema de saber si un número entero programa tiene una solución factible es un curso de la investigación. Hay un buen resumen de la historia de este problema en la introducción de este documento "Hacia el más Rápido de Programación Entero" (que parece ser alguien de la propuesta de tesis).


El OP pregunta en los comentarios para ver un ejemplo de un sistema de Axb, con x0, b0, y real de las entradas en A, pero que no tiene una solución no acotada conjunto. Este sistema es

xy1yx1x,y0. No sólo es el conjunto solución no acotada, es vacío.

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