Целочисленное линейное программирование в логарифмическом числе переменных

16

Я читал, что целочисленное линейное программирование разрешимо за полиноминальное время, если число переменных фиксировано, т.е. n O ( 1 ) . Если число переменных растет логарифмически, т. Е. N O ( log 2 ( N ) ) для заданного входного значения размера N , проблема все еще разрешима за полиноминальное время или это открытая проблема?nnO(1)nO(log2(N))N

user3613886
источник
Разве вы не можете добавить тривиально истинные ограничения, чтобы увеличить размер ввода?
Joro
Почему вы хотите увеличить размер ввода?
user3613886
Чтобы сделать ввод таким большим, чтобы количество переменных было логарифмическим и соответствовало вашему вопросу.
Joro
но в вопросе мы уже предполагаем, что переменные являются логарифмическими по сравнению с размером ввода
user3613886
Я думал о создании всех экземпляров как ваших, но это может экспоненциально увеличить вход.
Joro

Ответы:

15

Я могу дать только частичный ответ на этот вопрос.

Результат Ленстры (позже улучшенный Каннаном, Фрэнком и Тардосом) утверждает, что ILP с переменными может быть решена за время k O ( k ) (умноженное на полином по размеру ILP). Поэтому ILP находится в P, когда число переменных равно O ( log n / log log n ) . Я не уверен, известен ли алгоритм 2 O ( k ) или такой алгоритм противоречил бы ETH.kkO(k)O(logn/loglogn)2O(k)

Я нашел эту информацию в диссертации Данила Локштанова. Вот соответствующие ссылки.

  1. HW Lenstra. Целочисленное программирование с фиксированным числом переменных. Математика исследования операций, 8: 538–548, 1983.

  2. Р. Каннан. Теорема Минковского о выпуклом теле и целочисленное программирование. Математика исследования операций, 12: 415–440, 1987.

  3. Андрас Франк и Ева Тардос. Применение одновременной диофантовой аппроксимации в комбинаторной оптимизации. Combinatorica, 7: 49–65, 1987.

Майкл Лэмпис
источник
Я думаю, что вам понадобится алгоритм O (k ^ p) для фиксированного p, поскольку даже алгоритм с 2 ^ O (k) будет экспоненциальным?
user3613886
kn2kk=O(logn)
2k
@ user3613886, конечно, конечно, но это другая проблема / вопрос. Мы не были обещаны в вопросе, что переменные являются двоичными.
DW
Разве вы не можете добавить тривиально истинные ограничения, чтобы увеличить размер ввода?
Joro