Programación lineal entera en número logarítmico de variables


16

Leí que la programación lineal entera se puede resolver en tiempo polinominal si el número de variables es fijo, es decir, n O ( 1 ) . Si el número de variables crece logarítmicamente, es decir, n O ( log 2 ( N ) ) para una entrada dada de tamaño N , ¿el problema aún se puede resolver en tiempo polinominal o es un problema abierto?nnO(1)nO(log2(N))N


¿No puede agregar restricciones trivialmente verdaderas para aumentar el tamaño de la entrada?
joro

¿Por qué debería querer aumentar el tamaño de la entrada?
user3613886

Para que la entrada sea tan grande que el número de variables sea logarítmico y se ajuste a su pregunta.
joro

pero en la pregunta ya asumimos que las variables son logarítmicas en comparación con el tamaño de entrada
user3613886

Pensé en hacer todas las instancias como suyas, pero esto podría aumentar exponencialmente la entrada.
joro

Respuestas:


15

Solo puedo dar una respuesta parcial a esta pregunta.

Un resultado de Lenstra (luego mejorado por Kannan y Frank y Tardos) afirma que ILP con variables se pueden resolver en el tiempo k O ( k ) (multiplicado por un polinomio en el tamaño de ILP). Por lo tanto, ILP está en P cuando el número de variables es O ( log n / log log n ) . No estoy seguro de si se conoce un algoritmo de 2 O ( k ) , o si dicho algoritmo contradeciría el ETH.kkO(k)O(logn/loglogn)2O(k)

Encontré esta información en la disertación de Daniel Lokshtanov. Aquí están las referencias relevantes.

  1. HW Lenstra. Programación de enteros con un número fijo de variables. Mathematics of Operations Research, 8: 538–548, 1983.

  2. R. Kannan. Teorema del cuerpo convexo de Minkowski y programación de enteros. Mathematics of Operations Research, 12: 415–440, 1987.

  3. Andras Frank y Eva Tardos. Una aplicación de aproximación de diofantina simultánea en la optimización combinatoria. Combinatorica, 7: 49–65, 1987.


Creo que necesitarías un algoritmo O (k ^ p) para una p fija, ya que incluso un algoritmo con 2 ^ O (k) sería exponencial?
user3613886

Lo siento, usé una notación diferente de la pregunta. Por quiero decir el número de variables, y n es el tamaño de la entrada, por lo que un algoritmo de 2 k sería de tiempo polinomial si k = O ( log n ) . kn2kk=O(logn)
Michael Lampis

Pero supongamos que tiene solo variables binarias, ¿no sería fuerza bruta ? 2k
user3613886

@ user3613886, claro, por supuesto, pero ese es un problema / pregunta diferente. No se nos prometió en la pregunta que las variables son binarias.
DW

¿No puede agregar restricciones trivialmente verdaderas para aumentar el tamaño de la entrada?
joro
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.