Аффинное масштабирование

В математической оптимизации аффинное масштабирование — это алгоритм решения линейного программирования задач . В частности, это метод внутренней точки , открытый советским математиком И.И. Дикиным в 1967 году и заново изобретенный в США в середине 1980-х годов.
История [ править ]
Аффинное масштабирование имеет историю многочисленных открытий . Впервые он был опубликован И.И. Дикиным в Институте энергетических систем РАН (в то время Сибирский энергетический институт АН СССР) в «Докладах Академии наук СССР» в 1967 году , после чего в 1974 году последовало доказательство его сходимости. [1] Работа Дикина оставалась практически незамеченной до открытия в 1984 году алгоритма Кармаркара , первого практического алгоритма с полиномиальным временем для линейного программирования. Важность и сложность метода Кармаркара побудили математиков искать более простую версию.
Затем несколько групп независимо друг от друга разработали вариант алгоритма Кармаркара. Э.Р. Барнс из IBM , [2] команда под руководством Р. Дж. Вандербея из AT&T , [3] и ряд других заменили проективные преобразования , которые Кармаркар использовал , аффинными . Через несколько лет стало понятно, что «новые» алгоритмы аффинного масштабирования на самом деле были переосмыслением результатов Дикина десятилетней давности. [1] [4] Из первооткрывателей только Барнс и Вандербей и др. удалось провести анализ свойств сходимости аффинного масштабирования. Кармаркар, который также применил аффинное масштабирование в этот период времени, ошибочно полагал, что оно сходится так же быстро, как и его собственный алгоритм. [5] : 346
Алгоритм [ править ]
Аффинное масштабирование работает в два этапа: первый из них находит возможную точку, с которой можно начать оптимизацию, а второй выполняет фактическую оптимизацию, оставаясь строго внутри допустимой области.
Обе фазы решают линейные программы в форме равенства, а именно.
- минимизировать c ⋅ x
- при условии Ax знак равно б , Икс ≥ 0 .
Эти проблемы решаются с помощью итерационного метода , который концептуально строится путем построения траектории точек строго внутри допустимой области проблемы, вычисления прогнозируемых шагов градиентного спуска в повторно масштабированной версии проблемы, а затем масштабирования шага обратно к исходному. проблема. Масштабирование гарантирует, что алгоритм сможет продолжать делать большие шаги, даже если рассматриваемая точка находится близко к границе допустимой области. [5] : 337
Формально итерационный метод, лежащий в основе аффинного масштабирования, принимает в качестве входных данных A , b , c начальное предположение x 0 > 0, что строго допустимо (т. е. Ax 0 = b ), допуск ε и размер шага β . Затем он продолжается путем итерации [1] : 111
- Пусть D k — диагональная матрица с x к на его диагонали.
- Вычислите вектор двойственных переменных:
- Вычислите вектор приведенных затрат , который измеряет гибкость ограничений неравенства в двойственном:
- Если и , текущее решение x к является ε -оптимальным.
- Если , проблема безгранична.
- Обновлять
Инициализация [ править ]
Фаза I, инициализация, решает вспомогательную задачу с дополнительной переменной u и использует результат для получения начальной точки исходной задачи. Пусть х 0 быть произвольной, строго положительной точкой; это не обязательно должно быть осуществимо для исходной проблемы. Неосуществимость x 0 измеряется вектором
- .
Если v = 0 , x 0 осуществимо. Если это не так, этап I решает вспомогательную задачу.
- минимизировать тебя
- при условии, что Ax + uv знак равно б , Икс ≥ 0 , ты ≥ 0 .
Эта задача имеет правильную форму для решения описанным выше итерационным алгоритмом: [а] и
является допустимой начальной точкой для него. Решение вспомогательной задачи дает
- .
Если ты * = 0 , тогда х * ≥0 допустимо в исходной задаче (хотя и не обязательно строго внутренней), а если u * > 0 исходная задача неразрешима. [5] : 343
Анализ [ править ]
Хотя аффинное масштабирование легко сформулировать, его было трудно анализировать. Его сходимость зависит от размера шага β . Для размеров шага β ≤ 2/3 . было доказано , что вариант аффинного масштабирования Вандербея сходится, в то время как для β > 0,995 известен пример задачи, которая сходится к субоптимальному значению [5] : 342 Было показано, что другие варианты алгоритма демонстрируют хаотическое поведение даже при небольших задачах, когда β > 2 / 3 . [6] [7]
Примечания [ править ]
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с Вандербей, Р.Дж.; Лагариас, Дж. К. (1990). «Результат сходимости И.И. Дикина для алгоритма аффинного масштабирования». Математические разработки, возникающие в результате линейного программирования (Брансуик, Мэн, 1988) . Современная математика. Том. 114. Провиденс, Род-Айленд: Американское математическое общество. стр. 109–119. дои : 10.1090/conm/114/1097868 . МР 1097868 .
- ^ Барнс, Эрл Р. (1986). «Вариация алгоритма Кармаркара для решения задач линейного программирования». Математическое программирование . 36 (2): 174–182. дои : 10.1007/BF02592024 . S2CID 27590019 .
- ^ Вандербей, Роберт Дж.; Мекетон, Марк С.; Фридман, Барри А. (1986). «Модификация алгоритма линейного программирования Кармаркара» (PDF) . Алгоритмика . 1 (1–4): 395–407. дои : 10.1007/BF01840454 . S2CID 779577 .
- ^ Байер, Д.А.; Лагариас, Дж. К. (1989). «Нелинейная геометрия линейного программирования I: аффинные и проективные траектории масштабирования» (PDF) . Труды Американского математического общества . 314 (2): 499. doi : 10.1090/S0002-9947-1989-1005525-6 .
- ↑ Перейти обратно: Перейти обратно: а б с д и Вандербей, Роберт Дж. (2001). Линейное программирование: основы и расширения . Спрингер Верлаг. стр. 333–347.
- ^ Брюин, Х.; Фоккинк, Р.Дж.; Гу, Г.; Роос, К. (2014). «О хаотическом поведении алгоритма первично-двойного аффинного масштабирования для линейной оптимизации» (PDF) . Хаос . 24 (4): 043132. arXiv : 1409.6108 . Бибкод : 2014Хаос..24d3132B . дои : 10.1063/1.4902900 . ПМИД 25554052 . S2CID 21505124 .
- ^ Кастильо, Илеана; Барнс, Эрл Р. (2006). «Хаотическое поведение алгоритма аффинного масштабирования для линейного программирования». СИАМ Дж. Оптим . 11 (3): 781–795. дои : 10.1137/S1052623496314070 .
Дальнейшее чтение [ править ]
- Адлер, Илан; Монтейро, Ренато, округ Колумбия (1991). «Предельное поведение непрерывных траекторий аффинного масштабирования для задач линейного программирования» (PDF) . Математическое программирование . 50 (1–3): 29–51. дои : 10.1007/bf01594923 . S2CID 15748327 .
- Сайгал, Ромеш (1996). «Простое доказательство метода первичного аффинного масштабирования» (PDF) . Анналы исследования операций . 62 : 303–324. дои : 10.1007/bf02206821 . hdl : 2027.42/44263 . S2CID 14046399 .
- Ценг, Пол; Ло, Чжи-Цюань (1992). «О сходимости алгоритма аффинного масштабирования» (PDF) . Математическое программирование . 56 (1–3): 301–319. CiteSeerX 10.1.1.94.7852 . дои : 10.1007/bf01580904 . hdl : 1721.1/3161 . S2CID 13714272 .
Внешние ссылки [ править ]
- «15.093 Методы оптимизации, Лекция 21: Алгоритм аффинного масштабирования» (PDF) . MIT OpenCourseWare . 2009.
- Митчелл, Джон (ноябрь 2010 г.). «Методы внутренних точек» . Политехнический институт Ренсселера .
- «Лекция 6: Метод внутренней точки» (PDF) . NCTU OpenCourseWare . Архивировано из оригинала (PDF) 11 октября 2016 г. Проверено 6 февраля 2016 г.