Ефективно вирішити систему строгих лінійних нерівностей з усіма коефіцієнтами, рівними 1, без використання загального розв'язника LP?


9

За заголовком, окрім використання розв'язувача LP загального призначення, чи існує підхід до рішення систем нерівностей щодо змінних де нерівності мають вигляд ? Що з особливим випадком нерівностей, що утворюють загальний порядок над сумами членів множини ?xi,,xkiIxi<jJxj{xi,,xk}


4
@Ankur: не має значення, чи це цілі числа, так і дійсні. Якщо це суворі нерівності, ви можете округлити їх до раціональних, а потім помножити їх на найменший загальний знаменник, щоб отримати ціле число.
Петро Шор

6
Я поняття не маю, що можна кодувати за 30 хвилин (якою мовою?). Якщо це критерій "простого", чи це взагалі питання теоретичної інформатики?
Цуйосі Іто

1
Хороший момент Пітер Шор. веселість, я повертаю свою заяву назад. Я думав, що комбінаторна проблема задоволення цих суворих нерівностей та опукла аналітична проблема пошуку внутрішньої точки конуса якісно відрізняються. Я помилявся.
Анкур

1
@Tsuyoshi: Це не потрібно тривіально, але мені цікаво дізнатися, чи можна це зробити з перших принципів, не використовуючи всю додаткову потужність повного вирішувача LP, особливо для особливого випадку, в якому ми замовляємо всіх підмножин (у цьому випадку зауважимо, що час полінома є експоненціальним у кількості змінних).
веселість

3
Тоді я думаю, що "Чи можна цю проблему ефективно вирішити без використання загальних алгоритмів лінійного програмування?" це хороший спосіб сформулювати своє питання краще.
Цуйосі Іто

Відповіді:


9

На ваше перше запитання, без загального порядку, відповідь на ваше запитання полягає в тому, що це по суті так само важко, як і лінійне програмування. Ось контур доказу.

Спочатку встановимо змінну , яку ми називаємо . Тепер виберемо іншу змінну , яку ми будемо називати . Ми хочемо переконатися, що Для цього розглянемо нерівності тощо. Маючи досить довгий ланцюг, це скаже нам, що , або , для деяких дуже великих ( - це число Фібоначчі, і так зростає експоненціально в ).x1>0ϵxi1

ϵ1.
x1<x2,
x1+x2<x3,
x2+x3<x4,
Nx1<xiϵ<1/NNNi

Зараз ми можемо виготовити лінійну програму з цілими коефіцієнтами. Якщо ми хочемо , щоб коефіцієнт 3 на , ми додамо нерівності і нехай стенд в протягом 3 . Якщо ви хочете більших коефіцієнтів, ви можете отримати їх, виразивши коефіцієнти у двійковій нотації та зробивши нерівності, що гарантують, що , тощо. Щоб отримати правий бік, ми робимо те ж саме зі змінноюxt

xt<xt<xt<xt+ϵ
xt+xt+xtxtxu2xtxv2xuxi=1. Ця методика дозволить нам використовувати лінійні програми форми ОП, щоб приблизно перевірити можливість для довільних лінійних програм з цілими коефіцієнтами, завдання, яке по суті є таким же важким, як лінійне програмування.

Я не знаю, як проаналізувати друге питання, запитуючи про випадок, коли існує загальний порядок для всіх підмножин.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.