Jump to content

Алгоритм крест-накрест

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

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

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

История [ править ]

Алгоритм крест-накрест был независимо опубликован Тамашем Терлаки. [9] and by Zhe-Min Wang; [10] связанные алгоритмы появились в неопубликованных отчетах других авторов. [3]

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

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

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

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

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

Описание [ править ]

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

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

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

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

Однако, как и симплекс-алгоритм Данцига, алгоритм крест-накрест не является алгоритмом линейного программирования с полиномиальным временем. Алгоритм перекрещивания Терлаки посещает все 2 Д углы (возмущенного) куба в размерности D согласно статье Рооса; Статья Рооса модифицирует конструкцию Клее -Минти куба , на которой симплексный алгоритм принимает 2 Д шаги. [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 вершины многогранника, заданного невырожденной системой n линейных неравенств в D измерениях (или, вдвойне, v граней выпуклой оболочки из n точек в D измерениях, где каждая грань содержит ровно D заданных точек) во времени O ( nDv ) и O( nD ) пространстве . [22]

Ориентированные матроиды [ править ]

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

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

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

Резюме [ править ]

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

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

См. также [ править ]

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

Примечания [ править ]

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

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

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

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

Ссылки [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: de3dad55b296bbfb2c9c6eed81bc5e5d__1704837600
URL1:https://arc.ask3.ru/arc/aa/de/5d/de3dad55b296bbfb2c9c6eed81bc5e5d.html
Заголовок, (Title) документа по адресу, URL1:
Criss-cross algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)