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?nn∈O(1)n∈O(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(log⁡n/log⁡log⁡n)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(log⁡n)
— 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.