Основа Грейвера
В прикладной математике базисы Грейвера позволяют итеративно решать линейные и различные нелинейные целочисленного программирования задачи за полиномиальное время . Их представил Джек Э. Грейвер . [1] Их связь с теорией базисов Грёбнера обсуждалась Берндом Штурмфельсом . [2] Алгоритмическая теория базисов Грейвера и ее применение к целочисленному программированию описана Шмуэлем Онном . [3] [4]
Формальное определение
[ редактировать ]Базис Грейвера целочисленной матрицы m × n размера это конечное множество минимальных элементов множества
под хорошо частичный заказ на определяется когда и для всех я. Например, базис Грейвера состоит из векторов (2,−1,0), (0,−1,2), (1,0,−1), (1,−1,1) и их отрицаний.
Решение целочисленного программирования с использованием базисов Грейвера
[ редактировать ]Целочисленное программирование — это задача оптимизации линейной или нелинейной целевой функции по множеству целочисленных точек, удовлетворяющих системе линейных неравенств. Формально это можно записать в стандартной форме следующим образом:
Это одна из наиболее фундаментальных задач дискретной оптимизации, обладающая очень широкими возможностями моделирования и многочисленными применениями в различных областях, но, как отмечено ниже, обычно она очень сложна в вычислительном отношении. Однако, учитывая базис Грейвера из , задача с линейными и различными нелинейными целевыми функциями может быть решена за полиномиальное время, как описано ниже.
Линейное целочисленное программирование
[ редактировать ]Наиболее изученный случай, тщательно рассмотренный в [5] это линейное целочисленное программирование ,
Можно предположить, что все переменные ограничены снизу и сверху: такие границы либо появляются естественным образом в рассматриваемом приложении, либо могут быть соблюдены без потери каких-либо оптимальных решений. Но даже с линейными целевыми функциями проблема является NP-трудной и, следовательно, предположительно не может быть решена за полиномиальное время.
Однако базис Грейвера из имеет следующее свойство. Для каждой допустимой точки x :
- Либо x является оптимальным (т.е. минимизирует учитывая ограничения);
- Или существует вектор g в , такой что x + g допустимо и (т. е. x можно улучшить, добавив к нему элемент базиса Грейвера).
Следовательно, учитывая базис Грейвера , ILP можно решить за полиномиальное время, используя следующий простой итерационный алгоритм. [3] [6] некоторая начальная допустимая точка x Предположим сначала, что задана . Если это возможно, повторите следующую итерацию: найдите положительное целое число q и элемент g в такой, что x + qg не нарушает границ и дает наилучшее возможное улучшение; обновить x := x + qg и перейти к следующей итерации. Последняя точка x является оптимальной, а число итераций полиномиально.
Для нахождения начальной допустимой точки можно составить и решить подходящую вспомогательную программу аналогичным образом.
Нелинейное целочисленное программирование
[ редактировать ]Возвращаясь к случаю общих целевых функций f , если переменные неограничены, то проблема на самом деле может быть невычислимой: это следует из решения 10-й проблемы Гильберта (см. [7] ), что не существует алгоритма, который, учитывая целочисленный полином f степени 8 от 58 переменных, решает, равно ли минимальное значение f по всем 58-мерным целочисленным векторам 0. Однако, когда переменные ограничены, проблема
можно решить, используя базис Грейвера за полиномиальное время для несколько нелинейных целевых функций, включая [ нужна ссылка ] :
- Сепарабельно-выпуклые функции вида ;
- В частности, p-норма для каждого положительного целого числа p ;
- Составно-вогнутые функции f ( x ) = g ( Wx ), где W — целочисленная матрица размера d × n с фиксированным d , и где g — вогнутая функция с d -переменной;
- Некоторые (не)определенные квадратичные и полиномиальные функции более высокой степени .
Некоторые приложения
[ редактировать ]Многомерные таблицы
[ редактировать ]Рассмотрим следующую задачу оптимизации трехмерных таблиц с заданными суммами строк:
с , , неотрицательные целые числа (максимальное значение которых неявно ограничивает все переменные сверху). Обозначим через определяющая матрица ( lm + ln + mn ) × ( lmn ) этой системы. Обратите внимание, что эта матрица, как правило, не является полностью унимодулярной . Тем не менее, это было показано в [8] что для каждого фиксированного l и m его базис Грейвера может быть вычислено за время, полиномиальное по n . Упомянутые выше результаты позволяют затем решить эту проблему за полиномиальное время для фиксированных l и m и переменной n . Обратите внимание, что если только одна сторона l стола фиксирована (даже при l = 3), в то время как m и n являются переменными, то проблема является NP-сложной, как показано на рис. [9] В более общем смысле, аналогичные положительные результаты справедливы и для многомерных табличных задач (введенных в [10] ): для каждого фиксированного d и , (не)линейная оптимизация по таблицы с переменной n и заданными полями могут быть выполнены за полиномиальное время. Это имеет дальнейшее применение для решения проблем безопасности доступа и конфиденциальности в статистических базах данных .
Мультитоварные потоки
[ редактировать ]Рассмотрим задачу целочисленного мультитоварного потока о маршрутизации k типов целочисленных товаров от m поставщиков к n потребителям с учетом ограничений предложения, потребления и мощности, чтобы минимизировать сумму линейных или зависящих от перегрузки выпуклых затрат на дугах. Тогда для любых фиксированных k и m можно вычислить базис Грейвера определяющей системы и получить результирующую сепарабельно-выпуклую целевую функцию. минимизировано по времени, которое является полиномиальным по переменному количеству потребителей n и остальным данным.
Другие приложения
[ редактировать ]Многие приложения алгоритмической теории базисов Грейвера также включают:
- стохастическое целочисленное программирование, [6]
- N -кратное целочисленное программирование,
- N -кратное 4-блочное разложимое целочисленное программирование, [11]
- кластеризация,
- контроль раскрытия информации в статистических базах данных,
- и справедливое распределение неделимых объектов. [12]
В некоторых из этих приложений соответствующий базис Грейвера не может быть вычислен за полиномиальное время, но к нему можно получить доступ косвенным способом, что позволяет использовать его за полиномиальное время.
Универсальность и параметризация
[ редактировать ]Это было показано в [13] что каждая (ограниченная) задача целочисленного программирования в точности эквивалентна табличной задаче 3 × m × n, обсуждавшейся выше для некоторых m и n и некоторых строковых сумм. Таким образом, такие 3 × m × n табличные задачи размера являются универсальными для целочисленного программирования. Более того, для каждого фиксированного m результирующий класс целочисленных программ может быть решен за полиномиальное время с помощью итеративного базисного метода Грейвера, описанного выше. Таким образом, ширина таблицы m обеспечивает параметризацию всех задач целочисленного программирования.
Иерархия аппроксимаций целочисленного программирования
[ редактировать ]Обозначим через основа матрицы Грейвера определяя универсальную задачу таблицы 3 × m × n , обсуждавшуюся выше. Элементы представляют собой таблицы размером 3 × m × n , у которых суммы всех строк равны 0. Типом такой таблицы является количество ее ненулевых размером 3 × m слоев . Оказывается, существует конечная функция сложности Грейвера g ( m ) такая, что для любого n тип любого элемента базиса Грейвера не превышает г ( м ). Отсюда следует, что базис Грейвера это союз соответствующим образом встроенные копии базиса Грейвера . Чтобы приближенно решить на практике произвольную задачу целочисленного программирования, поступите следующим образом. Сначала вставьте его в подходящую табличную задачу размером 3 × m × n , как это возможно благодаря отмеченной выше универсальности. Теперь применим следующую иерархию аппроксимаций . Пусть на уровне k этой иерархии быть подмножеством состоящий только из элементов типа не более k ; используйте это приближение в итерационном алгоритме как можно дольше получить как можно более хорошую допустимую точку для задачи целочисленного программирования, встроенной в табличную задачу 3× m × n ; если значение целевой функции этой точки удовлетворительное (скажем, по сравнению со значением релаксации линейного программирования ), то использовать эту точку; в противном случае увеличьте k и перейдите на следующий уровень иерархии. Это можно показать [3] что для любого фиксированного уровня k приближение базиса Грейвера имеет полиномиальную мощность и может быть вычислено за это время.
Управляемость с фиксированными параметрами: от полиномиальной до кубической временной сложности
[ редактировать ]Временная сложность решения некоторых из обсуждавшихся выше приложений, таких как задачи многомерных таблиц, задачи многопродуктовых потоков и задачи N -кратного целочисленного программирования, определяется мощностью соответствующего базиса Грейвера, который представляет собой полиномиал. обычно с большой степенью g, которая – подходящая сложность Грейвера системы. В [14] представлен гораздо более быстрый алгоритм, который на каждой итерации находит лучшее улучшение x + qg с q положительным целым числом и элементом g в без явного построения базиса Грейвера , в кубическом времени независимо от системы. В терминологии параметризованной сложности это означает, что все эти проблемы, параметризованные соответствующим образом, и, в частности, табличные задачи l × m × n , параметризованные l и m , являются управляемыми с фиксированным параметром .
См. также
[ редактировать ]- Лемма Гордана — еще один инструмент, связанный с нулевыми множествами целочисленных матриц.
Ссылки
[ редактировать ]- ^ Джек Э. Грейвер: Основы линейного и линейного целочисленного программирования, Mathematical Programming 9: 207–226, 1975.
- ^ Бернд Штурмфельс , Базисы Грёбнера и выпуклые многогранники , Американское математическое общество , xii+162 стр., 1996
- ^ Jump up to: а б с Шмуэль онн. Архивировано 2 июля 2020 г. в Wayback Machine : нелинейная дискретная оптимизация , Европейское математическое общество , x + 137 стр., 2010.
- ^ Шмуэль Онн: Линейная и нелинейная целочисленная оптимизация , Серия онлайн-видеолекций, Научно-исследовательский институт математических наук , Беркли, 2010 г.
- ^ Александр Шрийвер : Теория линейного и целочисленного программирования , Wiley, xii+471 стр., 1986
- ^ Jump up to: а б Раймонд Хеммеке, Шмуэль Онн, Роберт Вейсмантель: Полиномиальное время-оракул алгоритм минимизации выпуклых целых чисел, математическое программирование 126:97–117, 2011 г.
- ^ Юрий В. Матиясевич: Десятая проблема Гильберта , MIT Press, xxiv+264 стр., 1993
- ^ Хесус А. Де Лоэра , Раймонд Хеммеке, Шмуэль Онн, Роберт Вейсмантель: N -кратное целочисленное программирование, дискретное Оптимизация, 5:231–241, 2008.
- ^ Хесус А. Де Лоэра , Шмуэль Онн: Сложность трехсторонние статистические таблицы, SIAM Journal on Computing, 33:819–836, 2004 г.
- ^ Теодор С. Моцкин: Многоиндексный транспорт проблема, Бюллетень Американского математического общества 58:494, 1952.
- ^ Раймонд Хеммеке, Маттиас Кёппе, Роберт Вейсмантель: Алгоритм с полиномиальным временем для оптимизации N -кратных 4-блочных разложимых целочисленных программ, IPCO 14, 2010
- ^ Бредерек, Роберт; Качмарчик, Анджей; Кноп, Душан; Нидермайер, Рольф (17 июня 2019 г.). «Справедливое распределение с высокой кратностью: Lenstra на базе N-кратного целочисленного программирования» . Материалы конференции ACM по экономике и вычислениям 2019 года . ЕС '19. Финикс, Аризона, США: Ассоциация вычислительной техники. стр. 505–523. дои : 10.1145/3328526.3329649 . ISBN 978-1-4503-6792-9 . S2CID 195298520 .
- ^ Хесус А. Де Лоэра, Шмуэль Онн: Все линейные и целочисленные программы представляют собой тонкие программы трехсторонней транспортировки, SIAM Journal on Optimization, 17:806–821, 2006 г.
- ^ Раймонд Хеммеке, Шмуэль Онн, Любовь Романчук: N -кратное целочисленное программирование в кубическом времени, Математическое программирование, 137: 325–341, 2013