Які лінійні програми Integer прості?


13

Намагаючись вирішити проблему, я закінчив виражати її частину як наступну цілу лінійну програму. Тут - усі додатні цілі числа, подані як частина вхідних даних. Зазначений підмножина змінних x i j встановлюється нулем, а решта може приймати додатні інтегральні значення:ℓ,m,n1,n2,…,nℓ,c1,c2,…,cm,wxij

Мінімізуйте

∑j=1mcj∑i=1ℓxij

На тему:

∑j=1mxij=ni∀i

∑i=1ℓxij≥w∀j

Мені хотілося б знати, чи ця ціла програма розв’язується в поліноміальний час; моя оригінальна проблема вирішена, якщо вона є, і я повинен спробувати іншим способом, якщо це не так. Отже, моє питання:

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

Відповіді:


16

Це особливий випадок транспортної проблеми (або проблема мінімальної вартості потоку), і тому її можна вирішити за багаточлен. Коефіцієнтна матриця абсолютно одномодульна, оскільки є матрицею падіння двопартійного графіка.

Наступні статті Вікіпедії можуть бути корисними.


1
@Yoshio: Дякую, що відповідає моєму конкретному випадку, коли я його перевірив. Чи знаєте ви про умови, відмінні від повної одномодульності, які гарантують поліноміально-часове рішення?
— gphilip

2
@gphilip: Я б узагальнив тези тез терміном "цілісність багатогранників", і література з цього приводу величезна. У книзі "Комбінаторна оптимізація: упаковка та покриття" Джерарда Корнуйолса (опублікована у 2001 р.) Описано кілька результатів.
— Йосіо Окамото

Ax≤b

1
A−AA[A∣−A]

1
Дозвольте мені змінити свої скорочені правила наступним чином. (1) Дублювання ряду підтримує загальну одномодність. (2) Зворот знаку ряду підтримує повну одномодність. Вони повинні виконати роботу.
— Йосіо Окамото

8

Взагалі важко сказати. Але достатньою умовою є те, що ваша матриця обмеження абсолютно одномодульна, а права частина завжди ціла (у цьому випадку права рука ціла, але вам все одно потрібно перевірити одномодулярність)

Слід поглянути на це: http://en.wikipedia.org/wiki/Linear_program#Integer_unknowns


Я думав про вашу матрицю, і вона виглядає абсолютно одномодно.
— Vinicius dos Santos

@Vinicius: Не могли б ви сказати мені, чому матриця виглядає для вас абсолютно одномодульною? Я не міг цього зрозуміти, незважаючи на коментар Йосіо (будь ласка, дивіться мою відповідь там).
— gphilip

@gphilip: На en.wikipedia.org/wiki/Unimodular_matrix у розділі "Загальні цілком одномодульні матриці" в першому пункті перелічено 4 достатні умови, щоб матриця була одномодульною. Я думаю, що цих умов, разом із ярликом, який прокоментував Йошіо, достатньо, щоб показати, що проблему можна вирішити за багаточлен.
— Vinicius dos Santos

@gphilip: Яка мотивація для цієї лінійної програми?
— Vinicius dos Santos

@Vinicius: Ми намагаємось вирішити проблему, сформульовану в термінах, змінюючи вхідну матрицю певним чином, щоб отримати іншу матрицю з деякими хорошими властивостями. Цей LP вийшов з однієї підпроблеми під час процесу.
— gphilip

2

Ціла програма з лише рівностями може бути розв'язана лінійною програмою.


це здавалося важливим заради себе.
— Т ....

2
Я б не називав це цілою програмою. Це система лінійних рівнянь над цілими числами, вирішувана ефективно за допомогою обчислення нормальної форми Ерміта.
— Сашо Ніколов

2
@SashoNikolov вироджений випадок, але, безумовно, дійсний.
— Т ....

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