Перекрестный алгоритм - Criss-cross algorithm

Трехмерный куб
Алгоритм крест-накрест посещает все 8 углов Куб Клее – Минти в худшем случае. В среднем он посещает 3 дополнительных угла. Куб Кли-Минти представляет собой возмущение куба, показанного здесь.

В математическая оптимизация, то перекрестный алгоритм кто-либо из семьи алгоритмы за линейное программирование. Варианты перекрестного алгоритма также решают более общие задачи с ограничения линейного неравенства и нелинейный целевые функции; существуют перекрестные алгоритмы для дробно-линейное программирование проблемы,[1][2] квадратичное программирование проблемы и задачи линейной дополнительности.[3]

Словно симплексный алгоритм из Джордж Б. Данциг, перекрестный алгоритм не является полиномиальный алгоритм для линейного программирования. Оба алгоритма посещают все 2D углы (возмущенные) куб в измеренииD, то Куб Клее – Минти (после Виктор Клее и Джордж Дж. Минти ), в худший случай.[4][5] Однако, когда он запускается в случайном углу, алгоритм перекрестного в среднем только посещенияD дополнительные уголки.[6][7][8] Таким образом, для трехмерного куба алгоритм посещает все 8 углов в худшем случае и в среднем ровно 3 дополнительных угла.

История

Перекрестный алгоритм был опубликован независимо Тамаш Терлаки[9] и Чжэ-Мин Ван;[10] связанные алгоритмы появлялись в неопубликованных отчетах других авторов.[3]

Сравнение с симплексным алгоритмом линейной оптимизации

На втором этапе симплексный алгоритм ползет по краям многогранника, пока наконец не достигнет оптимального вершина. В перекрестный алгоритм рассматривает базы, не связанные с вершинами, так что некоторые итерации могут быть в интерьер допустимой области, как алгоритмы внутренней точки; алгоритм крест-накрест может также иметь невыполнимый повторяет за пределами возможный регион.

В линейном программировании перекрестный алгоритм вращается между последовательностью оснований, но отличается от симплексный алгоритм из Джордж Данциг. Симплексный алгоритм сначала находит (в основном) допустимый базис, решая "первая фаза проблема "; на" втором этапе "симплекс-алгоритм переключается между последовательностью основных достижимый решения так, чтобы целевая функция не убывала с каждым поворотом, заканчиваясь, когда достигается оптимальное решение (также, наконец, нахождение "двойного допустимого" решения).[3][11]

Перекрестный алгоритм проще, чем симплексный алгоритм, потому что перекрестный алгоритм имеет только одну фазу. Его правила поворота похожи на правило наименьшего индекса поворота Бланда.[12] Правило Блэнда использует только приметы коэффициентов, а не их (действительный номер) заказ при выборе подходящих опорных точек. Правило Бланда выбирает входящие переменные путем сравнения значений приведенных затрат с использованием упорядочения подходящих опорных точек в виде действительных чисел.[12][13] В отличие от правила Бланда, перекрестный алгоритм является «чисто комбинаторным», выбирая входящую переменную и выходную переменную, учитывая только знаки коэффициентов, а не порядок их действительных чисел.[3][11] Алгоритм крест-накрест был применен для конструктивного доказательства основных результатов в настоящий линейная алгебра, такой как лемма Фаркаша.[14]

Хотя большинство симплексных вариантов монотонны по цели (строго в невырожденном случае), в большинстве вариантов перекрестного алгоритма отсутствует монотонная функция качества, что может быть недостатком на практике.

Описание

Алгоритм крест-накрест работает со стандартной сводной таблицей (или вычисляемыми на лету частями таблицы, если он реализован как пересмотренный симплекс-метод). На общем этапе, если таблица является прямой или двойной недопустимой, она выбирает одну из недопустимых строк / столбцов в качестве сводной строки / столбца, используя правило выбора индекса. Важным свойством является то, что выбор делается на объединении недопустимых индексов, и стандартная версия алгоритма не различает индексы столбцов и строк (то есть индексы столбцов базовые в строках). Если выбрана строка, то алгоритм использует правило выбора индекса для определения позиции для поворота двойного типа, в то время как, если выбран столбец, он использует правило выбора индекса для поиска позиции строки и выполняет поворот основного типа.

Вычислительная сложность: худшие и средние случаи

Наихудшая вычислительная сложность Хачияна эллипсоидальный алгоритм является многочленом. В перекрестный алгоритм имеет экспоненциальную сложность.

В временная сложность из алгоритм считает количество арифметические операции достаточно, чтобы алгоритм решил проблему. Например, Гауссово исключение требует от порядок D3 операций, поэтому говорят, что он имеет полиномиальную временную сложность, потому что его сложность ограничена кубический многочлен. Есть примеры алгоритмов, не имеющих полиномиальной сложности. Например, обобщение метода исключения Гаусса называется Алгоритм Бухбергера имеет по своей сложности экспоненциальную функцию данных задачи ( степень полиномов и количество переменных многомерные полиномы ). Поскольку экспоненциальные функции в конечном итоге растут намного быстрее, чем полиномиальные, экспоненциальная сложность означает, что алгоритм имеет низкую производительность при решении больших задач.

Несколько алгоритмов линейного программирования—Хачиян с эллипсоидальный алгоритм, Кармаркар с проективный алгоритм, и алгоритмы центрального пути - имеют полиномиальную временную сложность (в худший случай и поэтому в среднем ). Эллипсоидальный и проективный алгоритмы были опубликованы до перекрестного алгоритма.

Однако, как и симплекс-алгоритм Данцига, перекрестный алгоритм является нет алгоритм линейного программирования с полиномиальным временем. Перекрестный алгоритм Терлаки посещает все 2D углы (возмущенного) куба в измеренииD, согласно статье Рооса; Работа Рооса изменяет Клее –Минты постройки куб на котором симплекс-алгоритм принимает 2D шаги.[3][4][5] Как и симплексный алгоритм, алгоритм перекрестного пересечения посещает все 8 углов трехмерного куба в худшем случае.

Когда он инициализируется в случайном углу куба, перекрестный алгоритм посещает толькоD дополнительные углы, однако, согласно статье 1994 года Фукуда и Намики.[6][7] Тривиально, симплексный алгоритм занимает в среднемD ступеньки для куба.[8][15] Как и симплексный алгоритм, перекрестный алгоритм посещает в среднем ровно 3 дополнительных угла трехмерного куба.

Варианты

Перекрестный алгоритм был расширен для решения более общих задач, чем задачи линейного программирования.

Другие задачи оптимизации с линейными ограничениями

Существуют варианты перекрестного алгоритма для линейного программирования, для квадратичное программирование, а для проблема линейной дополнительности с «достаточными матрицами»;[3][6][16][17][18][19] и наоборот, для задач линейной дополнительности алгоритм крест-накрест заканчивается, только если матрица является достаточной матрицей.[18][19] А достаточная матрица является обобщением как положительно определенная матрица и из P-матрица, чей основные несовершеннолетние каждый положительный.[18][19][20] Алгоритм крест-накрест был адаптирован также для дробно-линейное программирование.[1][2]

Перечисление вершин

Алгоритм крест-накрест был использован в алгоритме для перечисление всех вершин многогранника, который был опубликован Дэвид Авис и Комей Фукуда в 1992 году.[21] Авис и Фукуда представили алгоритм, который находитv вершины многогранник определяется невырожденной системойп линейные неравенства вD размеры (или, вдвойне,v грани из выпуклый корпус изп указывает вD размеры, где каждая грань содержит ровноD данные баллы) во времениО (nDv) и O (nD) Космос.[22]

Ориентированные матроиды

В теорема о максимальном потоке и минимальном отсечении утверждает, что максимальный поток через сеть в точности равен пропускной способности ее минимального разреза. Эту теорему можно доказать с помощью перекрестного алгоритма для ориентированных матроидов.

Перекрестный алгоритм часто изучается с помощью теории ориентированные матроиды (OMs), который является комбинаторный абстракция теории линейной оптимизации.[17][23] Действительно, правило поворота Блэнда было основано на его предыдущих работах по теории ориентированного матроида. Однако правило Бланда демонстрирует цикличность в некоторых задачах линейного программирования ориентированного матроида.[17] Первый чисто комбинаторный алгоритм линейного программирования был разработан Майкл Дж. Тодд.[17][24] Алгоритм Тодда был разработан не только для линейного программирования в условиях ориентированных матроидов, но и для задачи квадратичного программирования и задачи линейной дополнительности.[17][24] К сожалению, алгоритм Тодда сложен даже для формулировки, и его доказательства конечной сходимости несколько сложны.[17]

Перекрестный алгоритм и его доказательство конечного завершения могут быть просто сформулированы и легко расширить возможности ориентированных матроидов. Алгоритм можно дополнительно упростить для линейные проблемы выполнимости, то есть для линейные системы с неотрицательные переменные; эти задачи могут быть сформулированы для ориентированных матроидов.[14] Перекрестный алгоритм был адаптирован для задач, более сложных, чем линейное программирование: существуют варианты ориентированного матроида также для задачи квадратичного программирования и для задачи линейной дополнительности.[3][16][17]

Резюме

Перекрестный алгоритм - это просто сформулированный алгоритм линейного программирования. Это был второй полностью комбинаторный алгоритм линейного программирования. Частично комбинаторный симплекс-алгоритм циклов Бланда на некоторых (нереализуемых) ориентированных матроидах. Первый полностью комбинаторный алгоритм был опубликован Тоддом, и он также похож на симплексный алгоритм тем, что сохраняет выполнимость после того, как сгенерирован первый допустимый базис; однако правило Тодда сложно. Алгоритм крест-накрест не является симплекс-подобным алгоритмом, потому что он не должен поддерживать выполнимость. Однако алгоритм крест-накрест не имеет полиномиальной временной сложности.

Исследователи расширили перекрестный алгоритм для решения многих задач оптимизации, включая дробно-линейное программирование. Перекрестный алгоритм может решать задачи квадратичного программирования и задачи линейной дополнительности даже в случае ориентированных матроидов. Даже в обобщенном виде алгоритм крест-накрест остается просто сформулированным.

Смотрите также

  • Джек Эдмондс (пионер комбинаторной оптимизации и теоретик ориентированного матроида; научный руководитель Комей Фукуда)

Примечания

  1. ^ а б Иллеш, Сирмаи и Терлаки (1999)
  2. ^ а б Станку-Минасян И. М. (август 2006 г.). «Шестая библиография дробного программирования». Оптимизация. 55 (4): 405–428. Дои:10.1080/02331930600819613. МИСТЕР  2258634.
  3. ^ а б c d е ж грамм Фукуда и Терлаки (1997)
  4. ^ а б Роос (1990)
  5. ^ а б Клее, Виктор; Минти, Джордж Дж. (1972). «Насколько хорош симплексный алгоритм?». В кальяне, Овед (ред.). Неравенства III (Труды Третьего симпозиума по неравенству, проходившего в Калифорнийском университете, Лос-Анджелес, Калифорния, 1–9 сентября 1969 г., посвященного памяти Теодора С. Моцкина). Нью-Йорк-Лондон: Academic Press. С. 159–175. МИСТЕР  0332165.CS1 maint: ref = harv (связь)
  6. ^ а б c Фукуда и Терлаки (1997), п. 385)
  7. ^ а б Фукуда и Намики (1994, п. 367)
  8. ^ а б Симплексный алгоритм занимает в среднемD ступеньки для куба. Боргвардт (1987): Боргвардт, Карл-Хайнц (1987). Симплексный метод: вероятностный анализ. Алгоритмы и комбинаторика (учебные и исследовательские тексты). 1. Берлин: Springer-Verlag. С. xii + 268. ISBN  978-3-540-17096-9. МИСТЕР  0868467.CS1 maint: ref = harv (связь)
  9. ^ Терлаки (1985) и Терлаки (1987)
  10. ^ Ван (1987)
  11. ^ а б Терлаки и Чжан (1993)
  12. ^ а б Блэнд, Роберт Г. (май 1977 г.). «Новые правила конечного поворота для симплекс-метода». Математика исследования операций. 2 (2): 103–107. Дои:10.1287 / moor.2.2.103. JSTOR  3689647. МИСТЕР  0459599.CS1 maint: ref = harv (связь)
  13. ^ Правило Блэнда также связано с более ранним правилом наименьшего индекса, которое было предложено Каттой Г. Мурти для задача линейной дополнительности, в соответствии с Фукуда и Намики (1994).
  14. ^ а б Клафски и Терлаки (1991)
  15. ^ В более общем плане для симплексного алгоритма ожидаемое количество шагов пропорциональноD для задач линейного программирования, которые случайным образом извлекаются из Евклидово единичная сфера, как доказано Боргвардтом и Смейл.
  16. ^ а б Фукуда и Намики (1994)
  17. ^ а б c d е ж грамм Бьёрнер, Андерс; Лас Вергнас, Мишель; Штурмфельс, Бернд; Белый, Нил; Циглер, Гюнтер (1999). «10 Линейное программирование». Ориентированные матроиды. Издательство Кембриджского университета. С. 417–479. Дои:10.1017 / CBO9780511586507. ISBN  978-0-521-77750-6. МИСТЕР  1744046.
  18. ^ а б c den Hertog, D .; Roos, C .; Терлаки, Т. (1 июля 1993 г.). «Проблема линейной дополнительности, достаточные матрицы и метод крест-накрест» (PDF). Линейная алгебра и ее приложения. 187: 1–14. Дои:10.1016/0024-3795(93)90124-7.
  19. ^ а б c Csizmadia, Zsolt; Иллеш, Тибор (2006). «Новые алгоритмы типа крест-накрест для задач линейной дополнительности с достаточными матрицами» (pdf). Методы оптимизации и программное обеспечение. 21 (2): 247–266. Дои:10.1080/10556780500095009. МИСТЕР  2195759.
  20. ^ Коттл, Р. В.; Pang, J.-S .; Венкатешваран, В. (март – апрель 1989 г.). «Достаточные матрицы и проблема линейной дополнительности». Линейная алгебра и ее приложения. 114–115: 231–249. Дои:10.1016/0024-3795(89)90463-1. МИСТЕР  0986877.
  21. ^ Авис и Фукуда (1992), п. 297)
  22. ^ Вv вершины в простом расположениип гиперплоскости вD размеры можно найти в O (п2Dv) время и O (nD) космическая сложность.
  23. ^ Теория ориентированные матроиды был инициирован Р. Тиррелл Рокафеллар. (Рокафеллар 1969 ):

    Рокафеллар, Р. Т. (1969). "Элементарные векторы подпространства (1967)" (PDF). В Р. К. Бозе и Т.А. Доулинг (ред.). Комбинаторная математика и ее приложения. Серия монографий Университета Северной Каролины по теории вероятностей и статистике. Чапел-Хилл, Северная Каролина: Университет Северной Каролины Press. С. 104–127. МИСТЕР  0278972. Перепечатка PDF.

    Рокафеллар находился под влиянием более ранних исследований Альберт В. Такер и Джордж Дж. Минти. Такер и Минти изучали шаблоны знаков матриц, возникающие в результате операций поворота симплексного алгоритма Данцига.

  24. ^ а б Тодд, Майкл Дж. (1985). «Линейное и квадратичное программирование в ориентированных матроидах». Журнал комбинаторной теории. Серия Б. 39 (2): 105–133. Дои:10.1016/0095-8956(85)90042-5. МИСТЕР  0811116.

Рекомендации

внешняя ссылка