Точні експоненціальні часові алгоритми для програм 0-1 з негативними даними


9

Чи відомі алгоритми для наступної проблеми, яка перемагає наївний алгоритм?

Вхідні дані: матриця і вектори , де всі записи - неотримані цілі числа.Ab,cA,b,c

Вихід: оптимальне рішення до \ max \ {c ^ T x: Ax \ le b, x \ in \ {0,1 \} ^ n \} .xmax{cTx:Axb,x{0,1}n}

Це питання є вдосконаленою версією мого попереднього питання Точні експоненціальні алгоритми для програмування 0-1 .

Відповіді:


5

якщо кількість ненульових коефіцієнтів в лінійне в , існує алгоритм, який вирішує цю задачу менше ніж за часу.An2n

Ось як це працює. Ми використовуємо стандартний зв'язок між оптимізаційною проблемою та відповідною проблемою рішення. Щоб перевірити, чи існує рішення де і , ми сформуємо задачу рішення: ми приєднаємо обмеження до матриці і тестуємо чи існує якийсь такий, що і . Зокрема, ми сформуємо нову матрицю , взявши і додамо додатковий рядок, що містить , і будемо формувати , приймаючиxAxbcTxαcTxαAxAxbcTxαAAcTbbі примикання додаткового рядка з . Ми отримуємо задачу рішення: чи існує така, що ? Відповідь на цю проблему вирішує, чи існує рішення вихідної проблеми оптимізації значення або більше. Більше того, як пояснено у відповіді на ваше попереднє запитання , цю проблему вирішення можна вирішити менше ніж за часу, якщо кількість ненульових коефіцієнтів у є лінійною в (і, отже, якщо число не- нульові коефіцієнти в лінійні в ). Тепер ми можемо використовувати двійковий пошук наαx{0,1}nAxbα2nAnAnαщоб вирішити вашу проблему оптимізації менш ніж за часу.2n

Дякую Остіну Бучанану та Стефану Шнайдеру за те, що вони допомогли налагодити більш ранню версію цієї відповіді.


Чи можете ви дати більш вагому відповідь: наприклад, "є час алгоритму " або "алгоритм швидше, ніж спростує ..."? O(2n/2)O(2n)
Austin Buchanan

@AustinBuchanan, якщо кількість розмірів b досить маленький, є O(2n/2)алгоритм, як це зафіксовано у моїй відповіді на інше питання . Це найкраще, що я вмію робити; Я не знаю, як зробити щось краще, ніж це. Можливо, інші зможуть дати сильнішу відповідь!
DW

O(2n/2) час утримується, коли кількість обмежень є О(1)?
Austin Buchanan

4

Якщо ми розглянемо проблему мінімізації miny{cTy:Ayb,y{0,1}n}, наступне зменшення показує, що алгоритм працює в часі O(2δn/2) для δ<1спростує СЕТ. Переформулювання доводить той самий результат для наміченої проблеми (версія максимізації).

Дано екземпляр Φ=i=1mCi CNF-SAT зі змінними {xj}j=1n, сформулюйте ІП 0-1 з двома змінними yj,y¯j для кожної змінної xjв екземплярі SAT. Як завжди, застереження(x1x¯2x3) буде представлено як y1+y¯2+y31. Тоді для кожної змінноїxj в екземплярі SAT додайте обмеження yj+y¯j1. Мета - мінімізуватиj=1n(yj+y¯j). Мета ІС будеn якщо примірник SAT задоволений.

Дякуємо Стефану Шнайдеру за виправлення.

Оновлення: у розділі Про проблеми настільки ж важкі, як CNF-Sat автори здогадуються, що SET COVER не вдається вирішити вчасноO(2δn), δ<1, де nвідноситься до кількості наборів. Якщо це правда, це свідчить про те, що мою проблему неможливо вирішити вчасноO(2δn) так само.

Оновлення 2. Наскільки я можу сказати, якщо припустити SETH, мою проблему неможливо вирішити вчасно O(2δn), оскільки було показано, що встановити удар (з основним набором розмірів)n) не вдається вирішити вчасно O(2δn).


3
Оскільки ви подвоюєте кількість змінних, я думаю, що це лише показує, що алгоритм цієї проблеми з часом виконання O(2δn/2)суперечив би СЕТХ.
Стефан Шнайдер

Зачекайте ... автори з "Проблеми" настільки ж важкі, як CNF-SAT стверджують, що "для кожного ϵ<1, а O(2ϵn) алгоритм для набору ударів буде порушувати SETH. "Це не працює?
Остін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.