Convex optimization
Evgeniya Vorontsova, Roland Hildebrand, Alexander Gasnikov, Fedor Stonyakin
Введение
Данное пособие написано на основе лекций, которые авторы читали в разное время в Физтех-школе ПМИ МФТИ (Москва), ФКН ВШЭ (Москва), ДВФУ (Владивосток), КФУ имени В.И. Вернадского (Симферополь), АГУ (республика Адыгея), университете Гренобль-Альпы (Гренобль, Франция).
В первую очередь при написании пособия авторы ориентировались на программу двухсеместрового курса лекций по оптимизации, который читается студентам Физтех-школы ПМИ МФТИ. Первая глава пособия содержит материалы первого семестра (<<Основы выпуклого анализа и оптимизации>>), вторая и третья главы — материалы второго семестра (<<Численные методы выпуклой оптимизации>>). В пособие не вошли некоторые материалы, которые включают сейчас в лекции второго семестра (например, элементы невыпуклой оптимизации и стохастической оптимизации). Эти материалы подробно изложены в книге , более точно заточенной на программу второго семестра университетского курса по методам оптимизации.
Пособие имеет ряд особенностей, о которых стоит заранее предупредить читателя. Во-первых, в отличие от классических пособий, в которых принято доказывать все основные факты, в данном пособии приводятся доказательства далеко не всех упоминаемых результатов. Это позволило, с одной стороны, отметить больше связей и описать больше конструкций, с другой стороны, сделало изложение менее самодостаточным. Вторая важная особенность — часть материала пособия является продвинутой и публикуется в учебной литературе, по-видимому, впервые. В-третьих, акценты, которые делаются в пособии, далеко не всегда совпадают с общепринятыми акцентами в популярных сейчас учебниках. Речь идет, прежде всего, о достаточно продвинутом изложении конической оптимизации, в том числе робастной оптимизации, как яркой демонстрации возможностей современного выпуклого анализа, а также теории ускоренных градиентных методов. В пособие вошли последние достижения в этой области, в том числе касающиеся разработки ускоренных тензорных методов. Особо отметим примеры, которые были собраны в отдельной главе. На наш взгляд, такие примеры должны наглядно продемонстрировать: 1) роль выпуклого анализа в постановке (формализации) задачи; 2) роль современных численных методов в решении задач выпуклой оптимизации.
Авторы выражают благодарность за помощь в оформлении данного пособия студентам кафедры математических методов в экономике ДВФУ Владиславу Хазову, Марии Рудь, Алексею Луценко, Валерии Волосевич, Екатерине Шавыровой, Алине Влучко, Марии Романовой, Екатерине Маникаевой, Валентине Шальтис, студентам кафедры алгебры и функционального анализа КФУ им. В.И. Вернадского Сейдамету Аблаеву и Константину Алексееву, а также старшему преподавателю кафедры алгебры и функционального анализа КФУ им. В.И. Вернадского Инне Баран.
Ряд ценных замечаний был получен от Дарины Двинских (МФТИ, Институт Вейерштрасса, ИППИ РАН), Анастасии Ивановой (ВШЭ, университет Гренобль-Альпы), Адриена Тейлора (INRIA), Павла Двуреченского (Институт Вейерштрасса, МФТИ, ИППИ РАН), Александра Тюрина (Научно-технологический университет имени короля Абдаллы, Саудовская Аравия), Aлександра Титова (МФТИ), Дмитрия Пасечнюка (МФТИ) и Артема Комарова (МФТИ). Также хотелось бы выразить благодарность профессору Е. А. Нурминскому (ДВФУ, Владивосток), профессору А. С. Немировскому (Технологический институт Джорджии, Атланта, США), профессору Б. Т. Поляку (ИПУ РАН, Москва), профессору Б. Ш. Мордуховичу (университет Уэйна, США) и профессору А. В. Назину (МФТИ).
Работа Е. А. Воронцовой и Ф. С. Стонякина над пособием была поддержана грантом РФФИ 18-29-03071 мк. Работа А. В. Гасникова над пособием была выполнена при поддержке Министерства науки и высшего образования Российской Федерации (госзадание) № 075-00337-20-03, номер проекта 0714-2020-0005.
Если вы обнаружили какие-либо опечатки, ошибки или неточности в данном пособии, большая просьба сообщить о них по адресу vorontsovaea@gmail.com.
Обозначения и сокращения
В пособии используются следующие сокращения:
БШС — модель вычислений Блюм–Шуба–Смейла;
— вектор из единиц;
— бесконечная норма вектора ;
— матрица – положительно определена;
— матрица – неотрицательно определена;
— матрица – отрицательно определена;
— множество точек минимума на множестве ;
— некоторый элемент множества ;
— выпуклая оболочка множества ;
— диагональная матрица с компонентами вектора на диагонали;
— размерность объекта ;
— область определения функции ;
— кольцо многочленов от конечного числа переменных с коэффициентами из поля ;
, — внутренность множества ;
— число ненулевых элементов в матрице ;
— неотрицательная функция от , которую можно ограничить сверху , где – числовая константа;
— ранг матрицы ;
— след квадратной матрицы , т.е. сумма диагональных элементов ;
— максимальное собственное значение матрицы .
Глава 1 Основы выпуклого анализа
В данной главе рассматриваются в основном задачи выпуклой оптимизации (минимизации выпуклой функции на выпуклом множестве). Описан принцип множителей Лагранжа как следствие теоремы об <<отделимости>> граничной точки выпуклого множества от самого множества (опорной) гиперплоскостью. При этом конечномерность пространств не предполагается, см., например, обоснование с помощью принципа множителей Лагранжа леммы Неймана–Пирсона в разделе 11 (основной леммы в проверке статистических гипотез). Обсуждаются различные моменты, которые активно используются при разработке эффективных численных методов решения задач выпуклой оптимизации (и их удобных переформулировок), о чём пойдёт речь в том числе и в последующих главах. Особенно отметим: теорему фон Неймана–Сиона–Какутани в разделе 9.10 (), теорему (формулу) Демьянова–Данскина–Рубинова о дифференцировании под знаком максимума (минимума) в разделе 6, теорию двойственности в разделе 9 и теоремы об альтернативах в разделе 12. Отличительной особенностью материала данной главы от содержания многих других русскоязычных учебных пособий по выпуклой оптимизации является наличие заключительных разделов, которые содержат весьма продвинутый материал. Если коническое программирование уже достаточно прочно вошло в различные западные курсы по выпуклой оптимизации, то робастную оптимизацию, насколько нам известно, в основном излагают только в виде отдельных спецкурсов. В этом пособии мы, следуя А. С. Немировскому, стараемся продемонстрировать, что именно такие приложения позволяют по-настоящему прочувствовать все возможности арсенала современной выпуклой оптимизации.
Для более глубокого погружения в затронутые в данной главе вопросы можно рекомендовать замечательные книги по выпуклой оптимизации В. М. Тихомирова, А. С. Немировского У Владимира Михайловича Тихомирова и у Аркадия Семёновича Немировского довольно много разных книг на тему выпуклой оптимизации, см., например, . У ВладимираМихайловича акцент делается на общих вопросах выпуклого анализа, у Аркадия Семёновича — на вычислительных. В совокупности это в хорошей степени покрывает материал, отвечающий глубокому изучению данного курса. и, конечно, книгу Стивена Бойда и Ливена Ванденберга , которую можно рекомендовать всем желающим разобраться в том, что такое <<выпуклая оптимизация>>. Вот уже почти 20 лет эта книга служит непревзойдённым по доступности изложения источником базовых фактов о выпуклой оптимизации. Также можно порекомендовать книги Ю. Е. Нестерова , Б. Н. Пшеничного , Б. Т. Поляка .
В этом параграфе собраны некоторые определения и факты , которые необходимы для доказательства теорем, представленных далее.
Векторное пространство называется вещественным нормированным пространством, если каждому элементу сопоставлено вещественное число , называемое нормой , которое удовлетворяет условиям:
невырожденность: для любого имеем и тогда и только тогда, когда ;
неравенство треугольника: для любых имеем .
Евклидова норма вектора (её также называют квадратичной) определяется как
Неравенство треугольника для евклидовой нормы называется неравенством Коши–Буняковского, оно же в нерусскоязычной литературе называется неравенством Коши–Шварца (Cauchy–Schwarz inequality). Действительно, возьмём два ненулевых неколлинеарных вектора , в векторном пространстве с положительно определённым скалярным произведением . Неравенство треугольника для пространства записывается так:
Возводим обе части (1) в квадрат и раскрываем скобки, тогда получим эквивалентное утверждение
не имеет корней, следовательно, его дискриминант отрицателен, что доказывает (2).
Евклидова норма является частным случаем векторной нормы Гёльдера, задаваемой выражением
Докажите, что -норма действительно является нормой.
Упомянутые Вообще говоря, не только упомянутые нормы, но и абсолютно все на конечномерном пространстве. векторные нормы эквивалентны Две нормы и в пространстве называются эквивалентными, если существуют такие положительные числа и , что для любого выполнены неравенства . на конечномерном пространстве.
Норма на пространстве задаёт метрику (расстояние между элементами и ) по формуле при .
Расстоянием от точки до множества называется величина .
Пусть . Точка называется внутренней точкой , если она входит в вместе с некоторой окрестностью с центром в . Множество внутренних точек множества называется внутренностью и обозначается или .
Множество называется открытым, если .
Точка называется граничной точкой множества , если в любой окрестности точки содержатся точки как из множества , так и из его дополнения. Множество называется замкнутым, если ему принадлежат все граничные точки. Известно, что дополнение к замкнутому множеству является открытым. И наоборот, дополнение к открытому множеству является замкнутым.
Выпуклые множества и выпуклые функции
Выпуклый анализ --- раздел математики, в котором изучают выпуклые множества, выпуклые функции и выпуклые экстремальные задачи. Исторические корни понятия выпуклости уходят в античные времена. Определение выпуклой кривой присутствует, например, в сочинениях Архимеда (III век до н.э.). В дальнейшем активное изучение выпуклых фигур началось в XIX веке, в трудах О. Коши (один из первых результатов --- теорема Коши о жёсткости выпуклых многогранников, 1813 год), Я. Штейнера и Г. Минковского возникла отдельная ветвь геометрии --- выпуклая геометрия. Окончательно новой областью математики выпуклая геометрия стала после выхода книги Минковского Minkowski H. Geometrie der Zahlen. Leipzig: Teubner Verlag, 1896, 1910. Последующие переиздания: New York: Chelsea, 1953; New York: Johnson, 1968.. Так были заложены геометрические основания выпуклого анализа.
В двадцатые и тридцатые годы ХХ века бурное развитие теории выпуклых множеств продолжилось. Итоги этого периода были подведены в вышедшей в 1934 году монографии немецких математиков Боннесена и Фенхеля <<Теория выпуклых тел>>. Многие значимые идеи выпуклой геометрии стали основой для важных положений функционального анализа (теоремы Хана–Банаха, Крейна–Мильмана).
Понятие выпуклости стало привлекать особое внимание исследователей в 40-е годы XX века, когда начал происходить настоящий <<выпуклый бум>>, по выражению В. М. Тихомирова [76, стр. 3], поскольку выяснилось, какую огромную роль играет выпуклость в экономических задачах, следствием решения которых стало рождение нового направления в теории экстремума — линейного программирования Подробнее о развитии линейного программирования см. п. 9.6 на с. 9.6..
Результаты первооткрывателя нетривиальных задач и теории линейного программирования Л. В. Канторовича были переоткрыты на Западе, там было осознано значение выпуклых экстремальных задач при решении актуальных проблем экономики и военно-промышленного комплекса, и многие исследователи приняли участие в развитии новой дисциплины на стыке математического анализа и геометрии. В 1951 г. выходит издание курса лекций Фенхеля по теории выпуклых функций и множеств (Fenchel W. Convex Cones, Sets and Functions. Princeton University Press, 1951). Название окончательно оформившейся новой дисциплины — выпуклый анализ — предложил профессор Принстонского университета А. У. Таккер, что описано в предисловии к подводившей итоги 20-летнего периода развития теории и вышедшей в США в 1970 г. монографии американского математика Р. Рокафеллара <<Выпуклый анализ>> . Рокафеллар был пионером в применении выпуклого анализа к оптимизации.
Множество называется выпуклым, если для любых двух точек, принадлежащих этому множеству, отрезок, соединяющий эти две точки, целиком принадлежит этому множеству, т.е.
Докажите, пользуясь определением выпуклого множества, что единичный шар с центром в нуле является выпуклым.
Представим отрезок как множество точек вида , . По определению выпуклого множества при все точки вида , тоже должны принадлежать этому шару, т.е. должно выполняться неравенство . В силу неравенства треугольника для нормы и мультипликативности нормы
Поскольку , принадлежат единичному шару,
Следовательно, .
Образно говоря, множество является выпуклым, если до каждой точки этого множества можно добраться из любой другой точки по прямому непрерывающемуся пути, целиком лежащему в этом множестве.
Пересечение любой совокупности выпуклых множеств выпукло.
Геометрически неравенство Йенсена означает, что отрезок, соединяющий точки и , лежит не ниже графика функции .
которое называется надграфиком .
Иногда говорят, что функция выпукла, если её надграфик является выпуклым множеством. Оба эти определения эквивалентны.
Функция называется строго выпуклой, если
Функция называется вогнутой, если — выпуклая функция, и функция называется строго вогнутой функцией, если — строго выпуклая функция.
Анализ выпуклых функций является хорошо проработанной областью исследований. Одним из важных результатов является, например, следующий: функция является выпуклой тогда и только тогда, когда для всех и для всех функция является выпуклой на своей области определения . Это полезное свойство позволяет сводить проверку на выпуклость функции многих переменных к проверке на выпуклость функции одной переменной.
Будем обозначать здесь и далее положительную определённость матрицы таким образом: . Соответственно, если матрица неотрицательно определена, обозначение следующее: . И наоборот, отрицательно определённая матрица: .
Пусть функция дважды дифференцируема, т.е. её матрица вторых производных (которую называют гессиан, или матрица Гессе) существует в каждой точке области определения . Тогда функция выпукла тогда и только тогда, когда — выпуклое множество и гессиан функции — неотрицательно определённая матрица:
Для функции одной переменной это условие означает, что её первая производная является неубывающей функцией на интервале :
Аналогично, функция является вогнутой тогда и только тогда, когда — выпуклое множество и для всех .
Данную функцию можно представить как максимум из всех возможных сумм элементов вектора :
где , и здесь, и далее — диагональная матрица с компонентами вектора на главной диагонали.
Для того чтобы доказать неотрицательную определённость гессиана , нужно воспользоваться определением неотрицательно определённой матрицы и доказать следующее свойство: для всех выполняется неравенство . После подстановки из (4) получаем
Последнее неравенство следует из неравенства Коши–Буняковского:
в котором нужно взять , .
Максимальное собственное значение симметричной матрицы как функция, определённая в пространстве симметричных матриц, является выпуклой функцией:
Ещё один неочевидный пример — функция , определённая на множестве симметричных положительно определённых матриц, является выпуклой. Здесь и далее обозначает логарифм числа по любому основанию. При этом при — вогнутая функция.
Традиционно в теории оптимизации используются условия Липшица для производных определённого порядка.
По условию ограничена. Следовательно, существует константа , такая, что . Следовательно,
По сути, для -липшицевой функции является показателем скорости изменения функции. Кроме того, для непрерывной по Липшицу функции всегда существует двойной конус с вершиной, которую можно перемещать по графику функции в любом направлении, но при этом для такой функции её график всегда лежит вне конуса.
Не все дифференцируемые функции являются непрерывными по Липшицу. Рассмотрим, например, дифференцируемую функцию :
поэтому не является -липшицевой.
Дифференцируемость не является и необходимым условием липшицевости функции. Например, функция недифференцируема, но непрерывна по Липшицу.
Докажите, что функция непрерывна по Липшицу с .
Достаточно рассмотреть обратное неравенство треугольника
Конусы и отношения порядка в евклидовых пространствах
Кроме уже определённых основных объектов выпуклого анализа — выпуклых множеств и выпуклых функций, важных для решения оптимизационных задач, ещё необходимо упомянуть выпуклые конусы.
Непустое множество называется конусом, если для любого и выполняется включение . Иными словами, множество в линейном пространстве является конусом (с вершиной в точке ), если с каждой своей точкой оно содержит и весь луч, исходящий из начала координат и проходящий через эту точку.
Множество называется выпуклым конусом, если — конус и — выпуклое множество.
Луч , где , является выпуклым конусом, если .
у непустая внутренность;
— остроконечный, т.е. не содержит прямых:
Вместо можно написать: . Аналогично определяется строгое обобщённое неравенство:
и вместо можно написать: .
Отношение является отношением частичного порядка со следующими свойствами:
рефлексивность: ;
антисимметричность: ;
транзитивность: ;
однородность: если и — любое неотрицательное вещественное число, то ;
аддитивность: если и , то .
то же самое можно записать и так: .
Часто встречается в подобных неравенствах конус Лоренца В англоязычной литературе его иногда называют ’’ice-cream cone’’ — <<конус-мороженое>>.:
Это конус симметричных матриц, все собственные значения которых неотрицательны.
Пусть — произвольный конус в вещественном векторном пространстве . Двойственным (или сопряжённым) к конусом называется множество
Отметим, что двойственный к конус определён в двойственном к векторном пространстве. Нетрудно видеть, что имеет место включение .
Если , то является остроконечным конусом.
Если — замкнутый выпуклый остроконечный конус, то .
Если — замкнутый конус, то сопряжённый к конусу совпадает с исходным:
Таким образом, если конус — регулярный, то двойственный конус также будет регулярным. Более того, в этом случае мы имеем соотношение .
Для приведённых выше семейств конусов двойственный конус совпадает с прямым, если отождествить пространства и путём отождествления канонического базиса в с его двойственным базисом в . Такие конусы называются самодвойственными.
Как получать выпуклые функции?
Способность распознавать тот факт, что функция является выпуклой, либо способность сконструировать выпуклую функцию из функций, про которые заведомо известно, что они выпуклы, могут стать определяющими факторами успешного решения задачи. Поэтому в данном разделе рассмотрены некоторые операции над выпуклыми функциями, которые сохраняют выпуклость (или вогнутость) полученных функций.
Очевидно, что сумма двух выпуклых функций выпукла. Также очевидно, что если умножить выпуклую функцию на некоторое неотрицательное число , то полученная функция также выпукла. Комбинируя эти свойства, получим следующую лемму.
Аналогично, неотрицательная взвешенная сумма вогнутых функций является вогнутой функцией.
2 Аффинные преобразования аргумента
Сразу сформулируем данное свойство выпуклых функций в виде леммы.
3 Композиция, максимум и точная верхняя грань функций
Данные очень важные свойства часто используются при доказательстве выпуклости функций.
Если и — выпуклые функции, то функция с областью определения тоже выпукла. Данное свойство легко доказать, воспользовавшись неравенством Йенсена. Понятно, что аналогичное свойство можно доказать для функции , которая является выпуклой, если функции , , , выпуклы.
Воспользовавшись выпуклостью функции максимума, можно доказать, например, выпуклость функции суммы максимальных компонент (см. предыдущий параграф настоящей книги, а также доказательство в ).
Операция взятия точной верхней грани от множества, содержащего бесконечное количество выпуклых функций, также сохраняет свойство выпуклости.
Пусть — некоторое множество и — выпуклая по функция для любого , тогда функция
является выпуклой по с областью определения
Аналогично, поточечная нижняя грань множества вогнутых функций является вогнутой функцией.
Лемму 1.4 легко доказать, используя тот факт, что надграфик поточечной операции нахождения верхней грани выпуклых функций есть пересечение надграфиков этих функций, а пересечение выпуклых множеств выпукло.
4 Минимизация
Операции взятия поточечного максимума и нахождения точной верхней грани сохраняют выпуклость (см. параграф 4.3). Оказывается, в определённых случаях операция нахождения точной нижней грани также сохраняет выпуклость.
Пусть — выпуклая по функция, — выпуклое непустое множество. Если задача разрешима для всех , то функция О формализованной записи экстремальных задач см. п. 9.
выпукла по . При этом область определения функции есть проекция на её -координаты:
Доказать эту лемму можно, воспользовавшись неравенством Йенсена для , .
Функция выпукла по как любая функция вычисления нормы вектора, следовательно, если множество выпукло, то функция выпукла по .
Если в лемме 1.5 предположить -сильную выпуклость в 2-норме по совокупности переменных , то верно ли, что функция будет -сильно выпуклая в 2-норме? См. утверждение 1 из в качестве отправной точки. Отметим также (см. утверждение 3 ), что если имеет константу Липшица градиента в 2-норме , то константа Липшица градиента функции в 2-норме будет не больше .
Негладкие задачи
При анализе задач оптимизации нельзя ограничиваться только случаем дифференцируемых функций. Причина в том, что существует множество интересных задач оптимизации, для которых функции, которые нужно минимизировать, оказываются недифференцируемыми или даже разрывными. Понятно, что в общем случае невозможно найти минимум разрывной функции. Но если функция состоит из нескольких гладких кусочков, с разрывами между этими кусками, можно попытаться что-то сделать, минимизируя каждый гладкий кусок отдельно.
называется субдифференциалом функции в точке .
Если функция выпукла и дифференцируема, то её градиент в точке совпадает с субградиентом и он соответственно в этом случае единственен (доказательство см., например, в ).
Можно показать, что всякая выпуклая на открытом множестве функция дифференцируема почти всюду (т.е. за исключением множества меры нуль).
тогда , следовательно, субградиентом функции в точке может быть любое число из отрезка , и .
Следующая теорема является чрезвычайно важным для выпуклых экстремальных задач фактом.
Необходимым и достаточным условием глобального минимума выпуклой функции в точке является
Приведём без доказательства набор стандартных свойств субдифференциала, знание которых понадобится для полного понимания дальнейшего изложения.
Множество субградиентов в любой точке непусто, выпукло, замкнуто и ограничено.
Знание субградиента помогает вычислять производную по направлению.
Производная выпуклой функции в точке по любому направлению всегда существует и определяется равенством
Следующие две теоремы и лемма дают возможность вычислять субградиенты сложных функций так же просто, как и градиенты дифференцируемых функций.
Если функции , выпуклы, то для всех справедлива формула
Пусть функции , выпуклые и (причём в точке обе функции непрерывны). Тогда
Очевидно, что две последние теоремы распространяются по индукции на любое конечное число функций.
Обозначение означает субдифференциал по отношению к аргументу в точке .
Формула Демьянова–Данскина
В приложениях, приводящих к оптимизационным задачам на минимакс, часто возникает необходимость дифференцирования функций под знаком максимума. Для этих целей применяют теорему о дифференцировании (по направлению) под знаком максимума, которую часто называют теоремой или формулой Демьянова--Данскина В англоязычной литературе эту теорему часто называют просто теорема Данскина (Danskin’s theorem). В России также можно встретить название этой формулы (теоремы), как формулы Демьянова–Данскина–Рубинова., поскольку оба автора независимо пришли к аналогичному утверждению в конце 60-х годов XX века . Сформулируем одну из форм этого утверждения.
выпукла, и в случае, если существует единственный , такой что , градиент функции можно вычислить следующим образом:
Если непрерывна по для всех , то субдифференциал Определение и свойства субдифференциала см. в п. 5.
где обозначает операцию взятия выпуклой оболочки от множества.
Не вдаваясь в детали, поясним основную идею доказательства этой теоремы в случае, когда определяется (единственным образом) из системы ( уравнений):
Эта идея делает интуитивно понятным основное утверждение теоремы Демьянова–Данскина. Поскольку
то . Здесь — матрица Якоби ( элемент матрицы равен ). Отсюда также становится понятно, что аналогичное утверждение (естественное, при некоторых предположениях) можно сформулировать для и даже для , см. раздел 26.2.
В 1971 году Дмитрий Бертсекас в своей диссертации доказал более общий результат, не требующий дифференцируемости , см. .
Утверждения, аналогичные теореме Демьянова–Данскина, были известны и ещё раньше. Так, в середине 60-х годов XX века А. Я. Дубовицкий и А. А. Милютин при получении принципа максимума для задач оптимального управления с фазовыми ограничениями доказали и фактически уже использовали теорему о дифференцировании по направлению под знаком , см. также теорему 1.5 данного пособия.
В более общем виде теорему Демьянова–Данскина можно сформулировать следующим образом (см. также ).
Существует версия теоремы Демьянова–Данскина и без условия компактности (см. ).
Существует несколько так называемых теорем об очистке, доказанных В. Л. Левиным (в том числе об очистке субдифференциалов). Приведём основную из этих теорем.
.
Тогда найдутся натуральное число , такое, что , и точки , такие, что .
Теорема 1.8 означает, что исходную задачу минимизации максимума отображения можно заменить на задачу с меньшим числом ограничений. Этим объясняется такое название теоремы — <<очистка>>, отбрасывание некоторых ограничений.
Связь между теоремой Демьянова–Данскина и теоремами об очистке более очевидна, если привести субдифференциальную форму теоремы об очистке В. Л. Левина, которая, по сути, является обобщением теоремы Дубовицкого–Милютина (теорема 1.5) на произвольное число функций.
где обозначает субдифференциал функции в точке .
Для доказательства данной теоремы достаточно применить теорему Ферма (теорема 1.3), обычную теорему об очистке (теорема 1.8) и теорему Дубовицкого–Милютина (теорема 1.5) о дифференцировании максимума из двух выпуклых функций (см. ).
С теоремами об очистке связано одно из доказательств теоремы Хелли, см. п. 12.2.
Дополнение по Шуру
Рассмотрим симметричную матрицу размера следующего вида:
где – симметричная матрица размера . Если , то матрица
называется дополнением по Шуру матрицы в . Матрицы такого вида возникают в различных важных теоремах и формулах, в частности, при решении систем линейных алгебраических уравнений методом исключения блоков переменных.
В этом разделе ограничимся рассмотрением применения дополнения по Шуру при решении задачи минимизации квадратичной формы:
где матрица положительно определена, т.е. выполняется .
Решением задачи минимизации является . Тогда
Для того чтобы (7) являлась выпуклой функцией, необходимо и достаточно, чтобы матрица (6) была неотрицательно определённой, так как квадратичную форму (7) можно представить как
Но функция (8) является выпуклой по лемме 1.5. Так как (8) тоже является квадратичной формой, для её выпуклости необходимо и достаточно, чтобы матрица была неотрицательно определённой. Следовательно, верны следующие леммы.
Если , то тогда и только тогда, когда .
тогда и только тогда, когда и .
Теорема о неявной функции
Теорема о неявной функции, известная из математического анализа, часто применяется при исследовании итеративных оптимизационных методов, не разрешённых явно относительно текущего приближения к решению на -й итерации. В таких методах новое приближение может быть решением некоторой вспомогательной задачи минимизации, как, например, в методах регуляризации (подробнее см. ). Также теорема о неявной функции применяется при доказательстве принципа множителей Лагранжа.
Пусть , непрерывна по в окрестности , и матрица невырождена. Тогда существует единственная непрерывная в окрестности функция такая, что , . Если дополнительно существует , то дифференцируема в и
Данная теорема без больших изменений переносится с числовых функций на отображения произвольных банаховых пространств (в такой общности данная теорема используется в разделе 26.2).
Пусть — банаховы пространства, — окрестность точки и — отображение в , обладающее следующими свойствами:
непрерывно в точке ;
Частная производная существует в и непрерывна в точке , а оператор имеет ограниченный обратный.
Тогда существуют такие , и такое отображение
определённое при и непрерывное в точке , что каждая пара , для которой и , удовлетворяет уравнению
и обратно, каждая пара , удовлетворяющая уравнению (10) и условиям , , удовлетворяет и (9).
Доказательство теоремы основано на принципе сжимающих отображений, его можно найти в [50, с. 508]. Там же приведено доказательство и нижеследующей теоремы об условиях, при которых функция, определяемая уравнением вида , дифференцируема.
Пусть выполнены условия теоремы 1.11, и пусть, кроме того, в существует частная производная , непрерывная в точке . Тогда отображение дифференцируемо в точке и
Теорема Люстерника, в свою очередь, играет важную роль в задачах оптимального управления. С помощью теоремы Люстерника правило множителей Лагранжа нахождения условного экстремума (см. п. 9) может быть доказано для экстремальных задач в банаховых пространствах.
Экстремальные задачи и двойственность
Важность экстремальных задач, часто возникающих в различных приложениях, объясняет необходимость существования общей теории максимумов и минимумов функций на заданных множествах. Эта теория значительно упрощается, если возможно использование свойств, связанных с выпуклостью. Так были получены следующие результаты, относящиеся к теории экстремальных задач: разнообразные теоремы двойственности и теоремы о характеристике точек, в которых достигается экстремум (необходимые условия экстремума, достаточные условия экстремума), теория существования решений экстремальных задач.
Точно поставленная (формализованная) экстремальная задача обязательно включает в себя следующие элементы :
ограничения, которые в общем виде можно представить как подмножество .
Формализованную экстремальную задачу на минимум записывают в следующей форме:
соответственно формализованную экстремальную задачу на максимум записывают так В российской традиции формулировку задачи (11) принято записывать и так: :
Точки называют допустимыми для задач (11), (12), само множество называют допустимым множеством. Если , то задачи (11) – (12) называют задачами без ограничений.
Допустимая точка называется решением задачи (11) или глобальным (абсолютным) минимумом в задаче (11), если для любого имеет место неравенство . Допустимая точка называется решением задачи (12) или глобальным (абсолютным) максимумом в задаче (12), если для любого имеет место неравенство . Если в задаче требуется найти и точки максимума, и точки минимума, то в записи (11) ((12)) вместо пишется extr (такая задача будет называтьcя задачей на экстремум функционала ).
Ясно, что если — решение задачи (11) на минимум ((12) на максимум), то также является решением аналогичной задачи на максимум (минимум) с функционалом вместо .
Введём также понятие локального экстремума (т.е. локального минимума и максимума).
Далее для большей наглядности мы в основном будем рассматривать конечномерные задачи. Однако все основные результаты естественным образом переносятся и на бесконечномерные пространства. В частности, как уже отмечалось в конце п. 8, рассмотренный далее принцип множителей Лагранжа верен не только в конечномерном евклидовом пространстве, его также можно распространить и на бесконечномерные банаховы пространства с помощью теоремы Люстерника, и даже на абстрактные векторные пространства (см. ). Несколько примеров приложения описанных далее результатов в бесконечномерных пространствах мы будем разбирать в разделах 11 и 26.2.
Можно высказать следующий общий принцип. Если ищется максимум или минимум некоторой функции многих переменных при условии, что между этими переменными имеется связь, задаваемая одним или несколькими уравнениями, нужно прибавить к функции, экстремум которой мы ищем, функции, задающие уравнения связи, умноженные на неопределённые множители, и искать затем максимум или минимум построенной суммы, как если бы переменные были независимы. Полученные уравнения, присоединённые к уравнениям связи, послужат для определения всех неизвестных.
В этом параграфе изложение во многом следует и . Здесь рассматривается правило множителей Лагранжа для гладких задач с ограничениями, задаваемыми равенствами. Принцип Лагранжа (метод решения задач, основанный на идее Лагранжа) описан самим автором в эпиграфе, поставленном нами к данному параграфу. В дальнейшем оказалось, что идея Лагранжа поразительно плодотворна — необходимые условия экстремума в самых разных экстремальных задачах (с ограничениями типа равенств, неравенств и включений) имеют форму правила множителей Лагранжа. По словам Р. Рокафеллара , <<теория множителей Лагранжа позволяет преобразовывать экстремальные задачи с ограничениями в задачи, имеющие меньше ограничений, но больше переменных>>. До представленного ниже формализованного описания правила множителей Лагранжа кратко поясним, что принцип Лагранжа заключается в идее составления функции (теперь она называется функцией Лагранжа), которая является суммой минимизируемого (максимизируемого) функционала и функций-ограничений, задающих равенства, с неопределёнными множителями. Тогда необходимые условия экстремума для исходной задачи с ограничениями эквивалентны таким условиям для безусловной задачи минимизации (максимизации) функции Лагранжа. Кроме того, для выпуклых задач решение исходной задачи доставляет глобальный минимум функции Лагранжа, т.е. необходимые условия экстремума минимума функции Лагранжа становятся и достаточными условиями.
Рассмотрим задачу с ограничениями типа равенств вида
где , , — достаточно гладкие функции.
Если , линейно независимы и если — точка минимума в задаче (13), т.е. и , то найдутся такие , что
Числа в (14) называются множителями Лагранжа.
Тогда правило множителей Лагранжа (14) переформулируется как
где , — производные (градиенты) по соответствующим переменным. В (16) переменные называются прямыми, а — двойственными.
Данное доказательство формулы (14) основано на идее сведения задачи с ограничениями к задаче безусловной минимизации с помощью исключения переменных. В данном разделе градиент функции понимается как вектор-строка.
Поскольку , то в условиях выполнения теоремы о неявной функции (см. п. 8):
Если объединить (18) и (19), то получатся следующие равенства:
которые эквивалентны (16). Таким образом, обосновано правило множителей Лагранжа, и (19) даёт явную формулу для множителей Лагранжа.
Аналогичные рассуждения можно провести, считая, что переменные принадлежат общему гильбертову пространству, см. раздел 26.2 (или даже банахову пространству, см. раздел 8).
2 Гладкие задачи с ограничениями типа равенств и неравенств
В этом параграфе изложение частично следует .
Рассмотрим задачу с ограничениями типа равенств и неравенств вида
не является пустой. Здесь и далее будем обозначать — оптимальное решение задачи (20), а оптимальное значение . Такие же обозначения общеприняты и для задач математического программирования общего вида. Как уже упоминалось, функцию называют целевой.
Ограничение-неравенство называется активным в точке , если в этой точке оно обращается в равенство: . Ограничения-равенства по определению всегда активны в допустимой точке.
Как уже было показано в предыдущем параграфе, для построения лагранжиана нужно сложить целевую функцию со взвешенной суммой функций-ограничений. Для задачи (20) функция Лагранжа имеет вид
Впервые задача с неравенствами (20) была рассмотрена в диссертации В. Каруша (1939 г., Чикаго), но результаты остались неопубликованными. В 1948 г. задача (20) и метод её решения с помощью функции Лагранжа были переоткрыты Ф. Джоном. Подробно история этих открытий описана в научно-популярной статье .
Существует много разных способов обоснования принципа множителей Лагранжа. Отметим здесь, в частности, работы сотрудников МФТИ , .
Двойственная функция Лагранжа для задачи (20) определяется как
Если лагранжиан (22) не ограничен снизу, двойственная функция принимает значение . Поскольку двойственная функция представляет собой поточечные нижние грани аффинных функций от и , она является вогнутой, даже если задача (20) не является выпуклой задачей.
Любое значение двойственной функции всегда не больше оптимального значения :
Здесь и далее векторные неравенства со знаками и являются покомпонентными.
Действительно, пусть — допустимая точка для задачи (20), т.е. , . Пусть . Тогда
поскольку каждое слагаемое в первой сумме равно , а каждое слагаемое во второй сумме неположительно. Отсюда
для любого допустимого , то это верно и при :
Итак, для каждой пары c двойственная функция Лагранжа даёт нижнюю оценку оптимального значения задачи (20). Возникает вопрос: а можно ли найти наилучшую нижнюю оценку среди всех нижних оценок, которые можно получить с помощью двойственной функции Лагранжа? Ответом на этот вопрос служит решение задачи
которая является задачей выпуклого программирования См. далее параграф 9.4., поскольку целевая функция вогнута, а ограничения задачи выпуклы.
Задача (23) называется двойственной к задаче (20). Последнюю задачу поэтому иногда называют прямой.
Пару , являющуюся решением задачи (23), называют оптимальными множителями Лагранжа.
3 Чувствительность в оптимизации
Множители Лагранжа часто имеют вполне конкретную интерпретацию в различных интересных практических задачах. Например, в экономических приложениях множители Лагранжа часто интерпретируются как цены.
В практических приложениях нередко возникает вопрос: насколько изменится оптимальное значение целевой функции задачи нелинейного программирования при незначительных изменениях функций-ограничений? Нахождение такой зависимости и называют исследованием чувствительности задачи оптимизации. Оказывается, что для оценки чувствительности можно использовать множители Лагранжа.
Для примера рассмотрим простую задачу с одним аффинным ограничением :
Пусть — как обычно, решение задачи (24) и соответственно — оптимальный множитель Лагранжа.
Если правая часть ограничения изменится на (рис. 5):
то оптимальное значение изменится на какое-то . При этом , т.е.
Используя (14), получаем, что . Оценим соответствующее изменение оптимального значения целевой функции:
Учитывая (25), получим , поэтому с точностью до первого порядка по
т.е. величина множителя Лагранжа соответствует скорости уменьшения при увеличении на . Иными словами, можно проинтерпретировать как цену ограничения.
К соотношению, аналогичному (26), можно прийти и таким путём . Лагранжиан для задачи (24)
Рассматривая лагранжиан как функцию от параметра (соответственно, искомое решение , а множитель Лагранжа — ), получаем
Поскольку , из (27) получаем
С другой стороны, если оставить в правой части равенства (27) только первое и третье слагаемые, можно прийти к такому равенству:
В силу (14) из последнего равенства получаем, что , т.е.
что означает, что множитель Лагранжа можно интерпретировать как показатель чувствительности оптимума по отношению к ограничению.
Если в задаче (24) имеются несколько ограничений вида , , то с помощью аналогичных преобразований можно прийти к соотношению
В случае существования всех нужных зависимостей , каждый из множителей Лагранжа интерпретируется следующим образом:
Нетрудно заметить, что к абсолютно тем же результатам (26), (28) можно прийти и в более общем случае ограничений вида в задаче (24).
Более полное изложение современной теории чувствительности для конечномерных задач оптимизации см. в учебнике и монографии .
4 Задачи выпуклого программирования
Выпуклой задачей без ограничений называется задача
Задачей выпуклого программирования называется задача минимизации выпуклой функции на выпуклом множестве. Пусть в нашей формулировке имеются выпуклые ограничения-неравенства:
Двойственная функция Лагранжа для задачи (30) определяется как
В выпуклой задаче локальный минимум всегда будет и глобальным. Этот факт можно доказать с помощью неравенства Йенсена (см., например, ).
Сделать обоснование метода множителей Лагранжа (и вывода необходимых условий экстремума) можно и с помощью теоремы об отделимости непересекающихся выпуклых множеств. В следующем параграфе приведены формулировки двух теорем об отделимости, касающиеся конечномерного случая, а на с. 9.4 приведено доказательство принципа Лагранжа для задачи выпуклого программирования (30).
Следует отметить, что формулировка задачи только с ограничениями-неравенствами, без ограничений-равенств, не умаляет общности постановки задачи. Действительно, каждое ограничение-равенство вида можно заменить двумя ограничениями-неравенствами и .
На рис. 6–7 представлена геометрическая интерпретация данного факта. В общем случае множество
и вектор весов определяет опорную для плоскость (см. определение 1.16).
В этом параграфе приведены определения отделимых множеств и формулировки теорем об отделимости в конечномерном случае. Доказательства теорем см., например, в . Теоремы об отделимости применяются при выводе необходимых условий экстремума (см. с. 9.4).
Непустые выпуклые множества и называются (собственно) отделимыми, если существует аффинная гиперплоскость
такая, что множества , лежат в противоположных по отношению к замкнутых полупространствах и, по крайней мере, одно из множеств , не содержится в . В этом случае гиперплоскость отделяет множества , .
Аналитически определение 1.13 записывается так:
Непустые выпуклые множества и называются строго отделимыми, если существуют две различные параллельные гиперплоскости
Можно доказать и более сильную версию теоремы 1.14: непустые выпуклые множества отделимы тогда и только тогда, когда их относительные внутренности не пересекаются. Здесь относительная внутренность множества — это его внутренность как подмножества аффинной оболочки множества . Доказательство можно найти в [187, теорема 3.16].
Тогда если — решение задачи (30), то существует ненулевой вектор множителей Лагранжа , такой, что для функции Лагранжа
Если , то условия 1) – 3) предыдущего утверждения достаточны для того, чтобы допустимая точка была решением задачи (30).
Докажем первое утверждение данной теоремы (более подробное доказательство см. в ). Не ограничивая общности, будем считать, что .
Докажем, что является непустым выпуклым множеством. Если в качестве взять , то любой вектор со всеми неотрицательными компонентами будет принадлежать множеству , т.е. непусто. Для доказательства выпуклости возьмём два вектора и . Пусть и — такие элементы из , что , , , соответственно, . Для в силу выпуклости . Ввиду выпуклости функций , , ,
т.е. точка .
что противоречит тому, что — решение задачи (30). Следовательно, наше предположение неверно и .
Так как , то из последнего неравенства следует, что
Поскольку , то и, следовательно, . Тогда (32) можно переписать так:
3. Докажем, что множители Лагранжа , удовлетворяют условиям неотрицательности. Вектор
в котором единица стоит на -м месте, принадлежит множеству , как и любой вектор с неотрицательными компонентами. Подставив в (33), получим, что , что и требовалось.
4. Докажем, что множители , удовлетворяют условиям дополняющей нежёсткости. Для равенство тривиально. Пусть для некоторого , тогда . Возьмём в определении множества в качестве точку . Тогда вектор
в котором число стоит на -м месте, принадлежит множеству . Следовательно, можно подставить в (33). Получаем, что . Тогда должно быть неположительным (поскольку ). Но в п. 3 доказано, что все неотрицательны. Таким образом, и , .
5. Докажем принцип минимума для функции Лагранжа Обратите внимание, что для задачи математического программирования в общем виде (20) это свойство формулируется немного иначе и называется нижней оценкой оптимального значения с помощью двойственной функции Лагранжа, см. лемму 1.11.. Пусть . Тогда вектор
принадлежит . Следовательно, мы можем подставить в (33):
Поскольку и выполняются условия дополняющей нежёсткости, то для любого
5 Сильная и слабая двойственность
Обозначим оптимальное значение для двойственной задачи (23) через . Тогда можно записать очень важное свойство оптимального значения целевой функции:
(см. лемму 1.11 о нижней оценке оптимального значения).
Неравенство (34) выполняется, даже если исходная задача невыпуклая Кроме того, неравенство выполняется, даже если и ., и называется свойством слабой двойственности (weak duality).
Разность называется зазором двойственности или зазором между решениями прямой и двойственной задач.
Ясно, что зазор двойственности всегда неотрицателен. Если имеет место равенство
Свойство сильной двойственности в очень редких случаях выполняется для невыпуклых задач. Рассмотрим, например, задачу минимизации квадратичной функции на единичном шаре:
где — симметричная матрица размера и не является неотрицательно определённой. Вследствие последнего утверждения задача (36) не является выпуклой.
Составим функцию Лагранжа для этой задачи:
здесь — единичная матрица.
Двойственная задача является выпуклой и одномерной. Зазор двойственности в этой случае нулевой:
Решением задачи (36) является нормированный собственный вектор матрицы , который соответствует её минимальному собственному значению. Иногда задачу (36) называют задачей построения доверительной области (trust region problem). Такого рода задачи могут возникать при необходимости нахождения оптимальных аппроксимаций второго порядка различных функций на единичном шаре.
Имеет место и более общий факт наличия сильной двойственности для общей задачи квадратичного программирования, см. далее п. 10.
Рассмотрим следующую невыпуклую оптимизационную задачу:
где — симметричная матрица размера . Ограничения задачи означают, что компоненты вектора могут принимать только значения или . Задачи оптимизации, в которых некоторые или все переменные должны быть целыми числами, называют задачами целочисленного программирования.
Допустимое множество задачи (37) конечно, поскольку содержит всего точек, но зависимость от экспоненциальная, поэтому с помощью простого перебора точек из допустимого множества задачу (37) можно решить только для совсем небольших , не более нескольких десятков. В общем случае задача (37) NP-трудна.
поскольку квадратичная форма (38) достигает минимума в точке при условии, что её матрица неотрицательно определена и не ограничена в остальных случаях.
Функция (39) даёт нижнюю оценку оптимального значения задачи (37). Например, при нижняя оценка для следующая:
Задачу (37) можно интерпретировать как задачу разбиения множества из элементов на две части:
Тогда элемент матрицы можно интерпретировать как стоимость нахождения элементов с номерами и из в одной части, а — как стоимость нахождения элементов с номерами и из в разных классах соответственно. При этом задача (37) соответствует цели построения разбиения с минимальной общей стоимостью.
Мы вернёмся к описанной задаче в п. 14.7, где посмотрим на неё с позиции возможной (выпуклой) <<релаксации>> для нахождения приближённого решения.
Часто полезно заранее знать, для каких задач выполняется свойство сильной двойственности (т.е. имеется нулевой разрыв двойственности). Одним из таких условий является условие Слейтера.
Рассмотрим задачу выпуклого программирования следующего вида:
в которой функции , , , являются выпуклыми.
Условие Слейтера (его ещё иногда называют условием регулярности) требует, чтобы для задачи (40) существовала такая допустимая точка , что неравенства в (40) являются строгими:
Такую точку также иногда называют строго допустимой.
Теорема Слейтера утверждает, что свойство сильной двойственности для задачи выпуклого программирования (40) выполняется, если выполняются условия (41).
Условия Слейтера можно ослабить, если некоторые из функций-ограничений являются аффинными (определение аффинных функций см. в п. 2). Пусть первые функций-ограничений , аффинные. Тогда для существования нулевого зазора двойственности достаточно, чтобы существовала точка , такая, что
6 Задача линейного программирования
Рассмотрим оптимизационную задачу с линейной целевой функцией и линейными функциями-ограничениями
Задача (43), называемая задачей линейного программирования (ЛП), стала, наверное, одной из самых известных в ХХ веке задач оптимизации. В начале 80-х годов XX века считалось, что решение задачи линейного программирования находится на первом месте в мире среди всех математических задач Но в эти задачи не входила работа с базами данных (сортировка, поиск данных). по числу затраченного компьютерного времени.
Приведём текстовое описание задачи ЛП: необходимо найти максимум или минимум линейной функции множества переменных на выпуклом многограннике (задаваемом конечной системой линейных равенств и неравенств). Задачи ЛП, конечно, являются подклассом задач выпуклого программирования. Как отмечено в текстовом описании, задачи на нахождение максимума линейной функции при линейных ограничениях также относятся к задачам ЛП. Геометрическую иллюстрацию графического метода решения задачи ЛП см. на рис. 10.
С созданием теории линейного программирования начался период активного применения теории и методов оптимизации в экономике и экономических исследованиях. Во-первых, было обнаружено, что целый ряд практических задач организации производства можно формализовать как задачи ЛП Сам Канторович приводит такой список: ¡¡вопросы наилучшего распределения работы станков и механизмов, максимального уменьшения отходов, наилучшего использования сырья и местных материалов, топлива, транспорта и пр.¿¿ (цит. по [46, с. 43]).. Во-вторых, к уже упомянутым экономическим задачам и задачам управления системами, которые позже отнесут к дисциплине <<исследование операций>>, возник большой интерес у военных специалистов. Считается, что сейчас уже классическая задача ЛП об оптимальной диете, описанная и решённая будущим Нобелевским лауреатом Джорджем Стиглером , возникла в американской армии в 30--40-е годы XX века. Задача о диете ставилась так: выбрать суточный набор продуктов питания минимальной стоимости, который будут обеспечивать необходимую норму питательных веществ. Первые версии задачи Стиглер решал эвристическим методом (77 переменных --- продуктов и 9 ограничений) Позже, после появления симплекс-метода Данцига, результаты были пересчитаны и полностью подтвердились.. Оказалось, что для первой версии задачи оптимальный рацион состоит из хлеба, молока, капусты, шпината и фасоли.
В-третьих, были разработаны и реализованы вычислительные методы, которые сделали реальным решение таких задач на ЭВМ, даже относительно больших размеров (как и по числу переменных, так и по числу ограничений). Что интересно, начальный этап развития ЛП на Западе (а это было почти на десятилетие позже, чем в СССР) происходил практически одновременно с развитием компьютеров, и там это сразу означало, что впервые в истории управленцы получили мощный и практический метод поиска оптимального направления действий из огромного числа возможных направлений. Так, линейное программирование открыло дорогу к практическому выполнению расчётов, направленных на оптимизацию использования ресурсов во многих секторах экономики и военно-промышленном комплексе.
Помимо важнейших практических приложений, есть ещё одна причина важности задач линейного программирования: они часто возникают как один из этапов алгоритмов для решения задач нелинейной оптимизации.
Приоритет в создании теории и моделей задач ЛП принадлежит советскому математику Леониду Витальевичу Канторовичу (1912–1986). Первая печатная работа <<Математические методы организации и планирования производства>> с постановками таких задач и методом их решения была опубликована Канторовичем в 1939 году . В качестве метода решения задач ЛП в работе был представлен метод разрешающих множителей — прообраз симплекс-метода Данцига (см. ниже).
Эта основополагающая работа Канторовича по линейному программированию стала известна и доступна коллегам из западных стран только через два десятилетия (!), в 1960 г., когда в журнале <
В 1940 г. Л. В. Канторович опубликовал математическую версию брошюры 1939 г. — статью <<Об одном эффективном методе peшeния некоторых классов экстремальных проблем>>, в которой оптимизация впервые была рассмотрена с позиции функционального анализа . В данной работе был сформулирован критерий оптимальноcти в задаче максимизации функционала на компактном множестве.
За свой вклад в теорию ЛП и экономику Канторович (вместе с независимо получившим те же результаты, но позже, Т. Купмансом) был удостоен Нобелевской премии по экономике (с формулировкой <<за вклад в теорию оптимального распределения ресурсов>>) в 1975 году.
Активное развитие теория ЛП (а позже и выпуклая оптимизация) получила в Соединённых Штатах Америки в середине и конце 40-х годов XX века. Помимо Канторовича и Купманса, значительный вклад в стремительное развитие линейного программирования внесли математики Джон фон Нейман и Джордж Бернард Данциг, а также известный экономист Василий Леонтьев.
Фон Нейман связал основную задачу теории матричных игр с нулевой суммой (теорему о минимаксе) с линейным программированием. Принадлежащая фон Нейману модель расширяющейся экономики с возможностью определения максимального темпа роста экономической системы содержит элементы, которые до некоторой степени предвосхищают линейное программирование.
Василий Леонтьев (1905–1999) в 1930-е гг. начал работу над экономико-математической моделью <<затраты–выпуск>> (модель многоотраслевой экономики). В модели взаимодействие между различными отраслями экономики учитывается таким образом: объём продукции каждой отрасли является линейной комбинацией объёмов продукции остальных отраслей (что отражает необходимые затраты на обеспечение выпуска) с прибавленным объёмом конечного потребления по этой отрасли. В формальной постановке модель описывается с помощью системы линейных алгебраических уравнений. В 1973 году Василий Леонтьев был удостоен Нобелевской премии по экономике <<за развитие метода «затраты – выпуск>> и за его применение к важным экономическим проблемам>>.
Д. Данциг (1914–2005) в 1947 г. разработал первый вычислительный алгоритм для решения задач ЛП — симплекс-метод. Эта работа выполнялась для американской армии. Метод последовательно перебирает смежные вершины графа допустимого множества, так, чтобы в каждой последующей вершине значение целевой функции или улучшалось, или оставалось неизменным. Результатом работы метода будет либо множество оптимальных решений — одна из вершин допустимого полиэдра или его сторона, либо определение несовместимости множества ограничений, либо заключение о неограниченности целевой функции. Благодаря простоте реализации и хорошей практической скорости работы, несмотря на полувековые попытки заменить его, симплекс-метод до сих пор остаётся одним из наиболее популярных методов решения задач ЛП на практике. Он реализован во многих оптимизационных вычислительных пакетах.
В 1950-е годы продолжилось развитие теоретических основ линейного программирования, его применение для промышленных задач и создание первых программных кодов для решения задач ЛП . В 1960-е годы стало возможным решать задачи линейного программирования большой размерности. Симплекс-метод хорошо работал на практике: эксперименты подтверждали, что число требуемых итераций почти линейно зависит от числа ограничений. Но в начале 1970-х годов авторитет симплекс-метода как универсального средства решения задач ЛП сильно упал. Появилась теория вычислительной сложности, и на специальных примерах было показано, что симплекс-метод (при самом широко используемом правиле выбора направляющего столбца и направляющей строки) требует экспоненциально большого (от размерности пространства) числа итераций Понятия экспоненциальной и полиномиальной разрешимости классов задач возникают в теории сложности алгоритмов. Если алгоритм решает любую задачу из рассматриваемого класса задач за время, ограниченное экспонентой от некоторого многочлена (полинома) от размерности задачи, то говорят, что алгоритм имеет экспоненциальную сложность. Полиномиальный по времени алгоритм — это алгоритм решения любой задачи из рассматриваемого класса, в котором число арифметических шагов (время работы) ограничено некоторым многочленом от размерности задачи или, иными словами, полиномиально ограничено. Сам класс задач в этом случае является полиномиально разрешимым.. Первыми такие примеры представили американские математики В. Кли и Д.Д. Минти в 1972 г. (см. пример 1.19). Позже примеры задач ЛП, на которых симплекс-метод работает экспоненциально долго Это были модифицированные варианты примера 1.19., были предложены и для других правил выбора направляющей строки и направляющего столбца (см., например, ).
Тем не менее в упомянутых примерах речь идёт о худшем случае работы алгоритма, а в целом на практике симплекс-метод обычно работает очень быстро, и многочисленные эксперименты и исследования метода подтверждали полиномиальное время работы на практике. В 70-е и 80-е годы XX века эта разница между теоретическими и практическими результатами не давала покоя многим исследователям. Было несколько попыток объяснить загадку этих наблюдений путём вероятностного анализа работы симплекс-метода на случайных входных данных, которые моделировали задачи из реальных приложений (см., например, ). Были получены результаты, что в среднем симплекс-метод полиномиален, поскольку требует операций (при общем количестве итераций , — число строк в исходной матрице задачи). Но наиболее успешная попытка дать объяснение факту быстрой работы симплекс-метода на практике была сделана в эпохальной работе начала XXI века Спилмана и Тенга : необходимо проводить так называемый сглаженный анализ алгоритмов (smoothed analysis), который является промежуточным звеном между анализом худшего случая и анализом в среднем. Аргументация такого промежуточного подхода в следующем: при анализе работы алгоритма в худшем случае задачи, на которых алгоритм работает медленно, обычно подбираются искусственно. Но они не являются типичными и почти никогда не возникают на практике, при расчётах с реальными данными. Что касается анализа работы алгоритма в среднем случае, который был призван решить упомянутую проблему анализа худшего случая, то и у этого подхода тоже есть свои недостатки. В частности, при генерации входных данных эти данные должны соответствовать какому-то распределению, которое, в свою очередь, моделирует исходные данные реальных задач. Но распределения данных реальных задач сильно отличаются друг от друга. Кроме того, не во всех случаях в принципе для задачи можно определить распределение исходных данных. В результате входные данные задач, которые встречаются на практике, могут почти не иметь ничего общего со входами, сгенерированными для анализа работы алгоритма в среднем.
В качестве ответа на перечисленные недостатки анализа работы алгоритмов Спилман и Тенг предложили альтернативный подход к моделированию реальных данных. Для начала необходимо определить основные свойства данных типичных практических задач, которые позволяет решать алгоритм. Затем разработать модель генерации таких входных данных. А далее изучать работу алгоритма на этой модели, учитывая тот факт, что реальные данные часто имеют некоторую погрешность (случайный шум в версии Спилмана и Тенга).
Таким образом, сглаженный анализ является вероятностным анализом алгоритма: проверяется работа алгоритма при незначительных случайных возмущениях (конкретнее — гауссовых возмущениях) конкретных входных данных, при этом ищется зависимость производительности алгоритма от размера входа и от среднеквадратичного отклонения возмущений.
Более формально, идея Спилмана и Тенга в следующем. Рассматривается задача ЛП вида
Пусть матрица представляется в виде
где каждый элемент матрицы — нормально распределённая независимая случайная величина с нулевым математическим ожиданием и дисперсией . Если в случае анализа алгоритма в среднем , то для сглаженной сложности . Если мы ищем время решения задачи (44) как функцию от заданной матрицы размерности , то для любого значение является случайной величиной, и её математическое ожидание есть полином от , , , в категориях сложности по Блюм–Шубу–Смейлу (см. п. 35.3).
Спилман и Тенг показали, что симплекс-метод имеет полиномиальную сглаженную сложность В том же 2006 году оценка симплекс-метода Спилмана и Тенга была улучшена Р. Вершининым . Он показал, что ожидаемое время работы симплекс-метода на незначительно изменённых входных данных является полиномом от логарифма количества ограничений .. Эти результаты означают, что хотя и существуют задачи, на которых симплекс-метод будет работать экспоненциально долго, но если исходные данные таких задач (коэффициенты целевой функции и ограничений) подвергнуть незначительному изменению, то с достаточно высокой вероятностью симплекс-метод на возмущённой задаче уже будет работать за полиномиальное время.
В конце 1970-х годов обнаружили, что алгоритмы, в общем случае решающие задачи ЛП за полиномиальное время, всё-таки существуют (см. подробнее главу 2, п. 17.3). Все такие полиномиальные алгоритмы — методы внутренней точки (самый первый метод внутренней точки — метод И. И. Дикина , первый метод с полиномиальной сложностью — метод Кармаркара , см. также п. 24.8) и метод эллипсоидов — отличались от симплекс-метода геометрическим подходом. Эти алгоритмы либо генерировали последовательность точек во внутренности допустимого множества, либо помещали допустимое множество в эллипсоид. В течение 50 лет оставался открытым вопрос, существует ли полиномиальный алгоритм, который работает подобно симплекс-методу, перебирая только вершины (угловые точки) допустимого множества задачи. Ответ на этот вопрос дали Келнер и Спилман в 2006 г. : они представили рандомизированный симплекс-метод с полиномиальным временем работы. Как и другие известные полиномиальные алгоритмы для решения задач ЛП, время работы предложенного Келнером и Спилманом алгоритма полиномиально зависит от числа битов, необходимых для представления входной информации задачи. Данный алгоритм показывает полиномиальную скорость работы и на <<плохих>> для симплекс-метода задачах.
Закончит работу алгоритм в оптимальной точке . Пример получен в результате небольшой деформации -мерного гиперкуба Сейчас допустимое множество системы линейных неравенств из (45), предложенной Кли и Минти, называют кубом, или политопом Кли–Минти., , заставляющей симплекс-метод перебирать все вершины куба.
В общем виде примеры Кли и Минти (см. также рис. 11), для которых симплекс-методу требуется экспоненциальное число итераций, можно описать таким образом :
О главной нерешённой проблеме в теории линейного программирования, сформулированной Стивеном Смейлом, см. в п. 35.3.
Существуют два частных случая задачи ЛП (43), которые так часто встречаются в приложениях, что имеют специальные названия. Один из них — задача ЛП в стандартной форме:
т.е. задача ЛП, в которой ограничениями-неравенствами являются только условия неотрицательности всех компонент вектора . Для приведения (46) к каноническому виду (20) необходимо учитывать, что , .
Вторым часто встречающимся случаем задачи ЛП является задача без ограничений-равенств вида
Перейдём к аналитическому рассмотрению задачи (46). Функция Лагранжа для этой задачи выглядит следующим образом:
Задача на минимум в этом выражении легко решается аналитически:
Таким образом, нижняя оценка оптимального значения является нетривиальной только в случае, когда , и . Двойственная к задаче линейного программирования записывается так:
Пусть — допустимое решение задачи (46), — допустимое решение задачи (48). Тогда .
Двойственная задача (48) имеет оптимальное решение тогда и только тогда, когда оптимальное решение имеет задача (46). Пусть — конечное оптимальное решение задачи (46), — конечное оптимальное решение задачи (48). Тогда .
Доказательства последних двух теорем см., например, в .
Обратите внимание: переход к двойственной задаче в случае, когда число ограничений значительно меньше числа переменных в прямой задаче, может сильно уменьшить размерность задачи, которую требуется решать.
В современных оптимизационных пакетах задачи ЛП средней размерности (вплоть до сотен тысяч и даже миллиона переменных или ограничений) решаются методами внутренней точки. В частности, методами, описанными в п. 24.7. Задачи ЛП сверхбольшой размерности требуют разработки более специальных методов, лучше учитывающих структуру задачи (см., например, п. 29.2).
7 Оценка на множители Лагранжа
Пусть для задачи (30) выполняются условия регулярности Слейтера:
И пусть число таково, что .
Из последнего неравенства получаем оценку на оптимальный множитель:
8 Геометрическая интерпретация
Определим множество значений целевой функции и ограничений задачи:
Тогда оптимум задачи (20) можно выразить следующим образом:
Двойственную функцию можно вычислить как
В случае, если точная нижняя грань конечна, неравенство
определяет так называемую опорную гиперплоскость к .
Гиперплоскость называется опорной к множеству в точке , если и всё множество лежит в полупространстве, задаваемом , т.е. .
Опорную гиперплоскость (49) иногда называют невертикальной (см. рис. 12).
При в общем случае в задаче (20) имеется ненулевой зазор двойственности (выполняется только свойство слабой двойственности). В самом деле, при и . Тогда
т.е. зазор двойственности в общем случае ненулевой (см. рис. 12).
При двойственная функция
Далее докажем, что выполнение условий Слейтера гарантирует наличие свойства сильной двойственности у задачи выпуклого программирования.
Рассмотрим два случая — когда и когда .
1. Пусть . Разделим обе части неравенства (55) на :
2. Пусть . Из (55) следует, что
Неравенство (57) при принимает вид
Итак, условие Слейтера гарантирует выполнение свойства сильной двойственности для задачи выпуклого программирования, и доказать данный факт можно с помощью теоремы отделимости.
Рассмотрим задачу с ограничениями-неравенствами:
Ясно, что равно оптимальному значению задачи
Далее считаем, что задача (59) выпукла и выполняются условия Слейтера. Пусть — решение двойственной задачи
к (60). В силу выполнения свойства сильной двойственности для любого из допустимой области задачи (59) (т.е. , ):
Тогда для всех имеет место нижняя оценка возмущённого оптимума:
Графическая иллюстрация свойства (61) дана на рис. 15.
С помощью неравенства (61) можно сделать следующие заключения о чувствительности оптимума по отношению к изменению ограничений:
Если мы ужесточаем -е ограничение (т.е. выбираем ) и множитель Лагранжа имеет достаточно большое значение, то сильно увеличится.
Если мы ослабляем -е ограничение (т.е. выбираем ) и множитель Лагранжа имеет достаточно маленькое значение, то не будет сильно уменьшаться.
Напишите, как изменится нижняя оценка и анализ чувствительности (неравенство (61)) для возмущённой задачи с ограничениями-неравенствами и равенствами.
9 Условия дополняющей нежёсткости
Пусть — оптимальное решение прямой задачи с ограничениями типа равенств и неравенств (20), и — двойственные множители. Предполагаем, что имеет место сильная двойственность. Тогда
Последнее неравенство выполняется, так как , .
Из данных выкладок следует важное заключение:
В силу неположительности каждого элемента данной суммы
Как указано в формулировке теоремы 1.16, равенства (62) называют условиями дополняющей нежёсткости. По сути, эти условия означают, что двойственный множитель Лагранжа равен при неактивном ограничении , и если положителен, то .
10 Седловые точки
Рассмотрим задачу с ограничениями-неравенствами следующего вида:
в которой выпуклость функций , , , не предполагается.
Определим для задачи (63) функцию и рассмотрим задачу
Значение функции равно для любой недопустимой точки задачи (63) и равно для любой допустимой точки. Следовательно, задачи (64) и (63) эквивалентны. Отсюда очевидна следующая связь между прямой и двойственной задачами через функцию Лагранжа: в прямой задаче происходит минимизация по результата максимизации функции Лагранжа по (64), а в двойственной задаче
происходит максимизация по результата минимизации функции Лагранжа по .
Свойство сильной двойственности, или совпадение решений прямой и двойственной задач, выполняется в случае, если задача (63) выпукла и имеет место условие регулярности Слейтера (см. п. 9.5). Имеется ещё один способ сформулировать условие равенства решений прямой и двойственной задач — они равны, если существует седловая точка функции Лагранжа, т.е. точка такая, что , и выполняются неравенства:
Поскольку для любого , то для любого имеем . Последнее неравенство означает, что является нижней оценкой функции , , а также и нижней оценкой функции , т.е. всегда выполняется неравенство
Если существует седловая точка функции Лагранжа, то решения прямой и двойственной задачи совпадают. Имеет место и обратное утверждение.
разрешимы и оптимальные значения в данных задачах равны друг другу. В этом случае седловые точки функции — это все такие пары , где — оптимальное решение задачи (65), а — оптимальное решение задачи (66), и значение функции в каждой из этих точек равно оптимальному значению в задаче (65) и в задаче (66).
Вполне <<безобидная>> функция может не иметь седловых точек.
Рассмотрим, например, функцию Пример взят из книги .
на единичном квадрате . Тогда
Поэтому оптимальное значение в задаче (65) равно (при ), а оптимальное значение в задаче (66) равно . Следовательно, по теореме 1.19 функция не имеет седловых точек.
Возникает вопрос: можно ли по каким-то свойствам функции определить, что она имеет седловые точки? Более важны в практическом смысле вопросы: при каких условиях эквивалентны задачи на минимакс и максимин и можно ли менять местами минимум и максимум? Ответы на эти вопросы дают теоремы Сиона–Какутани. Приведём формулировку теоремы об эквивалентности задач на максимин и минимакс.
выпукла по для любого фиксированного и вогнута по для любого фиксированного , то
Доказательство теоремы см., например, в . Обобщения на бесконечномерные пространства, см. в .
Задача квадратичного программирования
Задача минимизации квадратичной формы при линейных ограничениях
Функция Лагранжа для задачи (67) выглядит следующим образом:
где находится из условия :
Соотношение (68) связывает прямые и двойственные переменные. Двойственная функция принимает вид
Важным частным случаем задачи (70) является случай , тогда задача (67) превращается в задачу линейного программирования. Кроме того, при выражение для задаётся явно:
Сказанное выше можно подытожить и сформулировать в виде теоремы.
Кроме того, при двойственная задача для задачи квадратичного программирования (67) записывается следующим образом:
В случае для прямой и двойственной задач выполняется свойство сильной двойственности Поскольку прямая задача выпукла, а функции-ограничения задачи аффинны., т.е. оптимальные значения прямой и двойственной задач квадратичного программирования совпадают.
Задача квадратичного программирования при сводится к минимизации квадратичной функции (71) на положительном ортанте. Этот факт очень существенен, поскольку задача квадратичного программирования и соответственно необходимость её решения часто возникают как отдельный этап итераций многих современных численных методов оптимизации.
Лемма Неймана–Пирсона
В этом разделе рассматривается применение изложенной выше теории (принципа множителей Лагранжа) для обоснования метода отношения правдоподобия Впервые был предложен Ю. Нейманом и Э. Пирсоном в 1933 г. как метода построения наиболее мощного критерия в задаче выбора из двух простых статистических гипотез о неизвестном параметре распределения Подробнее о фундаментальной лемме Неймана–Пирсона см. в любом учебнике по математической статистике, например, ..
Пусть — реализация выборки (совокупности наблюдаемых случайных величин) и имеются две простые статистические гипотезы о данной выборке и с функциями правдоподобия и соответственно. Простота гипотез означает следующее: предполагается, что допустимыми распределениями наблюдаемых случайных величин являются лишь два заданных распределения (две функции распределения) и , и требуется по реализации проверить гипотезу : против альтернативы : .
Принятие или отклонение гипотезы (во втором случае соответственно принятие гипотезы ) осуществляется с зависящей от вероятностью (во втором случае соответственно ). Ясно, что критическая функция должна принимать значения только из отрезка .
Тогда вероятность отклонить верную гипотезу Говоря ¡¡гипотеза верна¿¿, мы имеем в виду, что распределение выборки именно такое, как предполагает гипотеза : . (т.е. совершить ошибку первого рода) для выборки равна
а вероятность ошибочно принять гипотезу (т.е. совершить ошибку второго рода) равна
Поскольку мы не можем минимизировать обе вероятности ошибок одновременно при заданном числе испытаний, выберем число из отрезка (уровень значимости) для верхней границы вероятности отклонения верной гипотезы и при этом условии будем минимизировать вероятность совершить ошибку второго рода.
Почему важно сделать минимальной именно вероятность ошибки второго рода? Предположим, что мы анализируем работу предприятия, которое выпускает одинаковые монеты. Среди этих монет могут оказаться бракованные — несимметричные, со смещённым центром тяжести. Контроль продукции производится таким образом, что в результате получается какая-то выборка измерений только что выпущенных монет. И по этой выборке нужно проверить гипотезу — все монеты <<правильные>>, т.е. соответствуют стандартам. Если гипотеза подтверждается, монеты прошли контроль. Если нет, то все они будут забракованы. Но для предприятия гораздо важнее минимизировать выпуск бракованных монет. Если даже какие-то <<правильные>> монеты будут забракованы (мы совершим ошибку первого рода), это не так критично, как если какая-то бракованная монета будет признана настоящей. Именно поэтому обычно поступают таким образом: фиксируют ошибку первого рода на достаточно низком безопасном уровне и минимизируют вероятность ошибки второго рода.
Итак, возникает оптимизационная задача нахождения оптимальной критической функции :
Для дальнейшего изложения понадобятся несколько определений.
Вероятность называют мощностью критерия.
Критической областью (областью отклонения гипотезы ) называется множество тех реализаций , для которых принимается гипотеза .
Обычно критическую область задают с помощью статистики (функции от выборки).
В случае двух простых гипотез наилучшей критической областью называется область, которая при заданном уровне значимости обеспечивает минимум ошибки второго рода.
Вернёмся к задаче (72). Применим к её решению метод множителей Лагранжа:
Множитель определяется единственным образом (см. ниже), а вероятность ошибки второго рода не зависит от выбора функции . Часто функцию полагают равной константе. Возникает вопрос: даже если считать константой, почему есть гарантия, что из (75) можно однозначно определить ? Дело в том, что для непрерывной функции по теореме Брауэра о неподвижной точке в какой-то момент функция будет иметь пересечение с уровнем . Если же функция не непрерывна, а имеет скачки, то при попадании на этот скачок можно определить .
Далее приведём формулировку леммы Неймана–Пирсона.
Пусть , тогда при заданном уровне значимости наиболее мощный среди всех -критериев с уровнем значимости имеет критическую функцию вида (74), где , функция правдоподобия соответствует гипотезе , а — конкурирующей гипотезе .
Таким образом, с помощью метода множителей Лагранжа можно доказать фундаментальную лемму Неймана–Пирсона о существовании наиболее мощного критерия. Кроме того, лемма Неймана–Пирсона показывает, как устроена наилучшая критическая область (в неё включаются те точки, вероятность появления которых при существенно больше, чем при ):
Более подробно о проверке статистических гипотез с помощью выпуклой оптимизации можно прочитать в доступной в электронном виде книге .
На самом деле выпуклость постановок задач, в которых присутствует интегрирование, имеет место при намного более общих условиях, чем рассмотренные выше. Приведём сначала яркую цитату на эту тему из введения к одной из лучших известных нам книг по выпуклому анализу : <<Здесь уместно раскрыть некоторые причины большого прикладного значения выпуклого анализа. Одна из главных заключена в тезисе: интегрирование по непрерывной мере порождает выпуклость образа интегрального отображения. Математическим проявлением этого тезиса является теорема Ляпунова о векторных мерах. Существенная доля основополагающих фактов теории классического вариационного исчисления и оптимального управления связана с этим тезисом (условия Лежандра и Вейерштрасса, принцип максимума Понтрягина и т.п.). А через теорию оптимизации легко объясняется широкий спектр приложений выпуклого анализа к геометрии, теории аппроксимаций, теории неравенств и т.п. В экономике типично суммирование многих мелких факторов. Такие суммы естественно аппроксимируются интералами, и это также даёт ключ к пониманию роли выпуклого анализа в математической экономике>>.
Поясним теперь написанное выше одним простым примером. Рассмотрим два функционала
заданных на множестве всех ограниченных измеримых функций на отрезке . Предполагается, что интегралы всегда существуют. Покажем, что для любых (ограниченных измеримых) и и любого найдётся (также ограниченная измеримая) такая, что (эти равенства и выражают ту выпуклость, которую порождает интегрирование):
Для простоты дополнительно предположим, что и — кусочно-постоянные функции (в качестве пределов таких функций можно получать измеримые функции). Более того, будем также считать, что отрезок разбит на равные промежутки, на каждом из которых эти функции постоянны. Тогда можно выбирать, например, следюущим образом: на первой -части каждого промежутка , а на оставшейся -части . Осталось только перейти к пределу по мелкости разбиения.
Теперь нужно сделать главное наблюдение, что свойство (76) обеспечивает возможность применять к задаче
Написанное выше останется верным, если вместо ограничения вида неравенства (или вместе с ним) присутсвует и ограничение вида равенства
Лемма Фаркаша
В теории математического программирования важную роль играют теоремы об альтернативных системах линейных неравенств. Большинство таких теорем об альтернативах имеют следующий вид: даны две альтернативные системы линейных неравенств, построенные по определённым правилам. Из этих двух систем будет иметь решение либо в точности одна (тогда такие альтернативы называются сильными), либо не более чем одна система (тогда такие альтернативы называются слабыми). Формулировок таких теорем существует достаточно большое количество, есть попытки их классифицировать . Иногда все эти теоремы обобщённо называют теоремами или леммами Фаркаша, по фамилии венгерского математика Юлиуса Фаркаша, доказавшего в 1902 г. одну из теорем об альтернативных системах линейных неравенств и равенств. Но чаще леммой Фаркаша называют только одно из утверждений об альтернативных системах линейных неравенств и равенств. Остальные варианты формулировок связаны с именами многих математиков (Моцкина, Гейла, Фредгольма, Минковского, Гордана и других ). Лемма Фаркаша используется, например, в следующих случаях: в одном из способов доказательства необходимых условий оптимальности первого порядка для задач с ограничениями типа равенств и неравенств (условий Каруша–Куна–Таккера, см. п. 9.4); при определении принадлежности вектора конусу; конечно, как результат, описывающий все препятствия к решению систем линейных неравенств над вещественными числами, и во многих других областях.
Напомним, что непустое множество называется конусом, если для любого и выполняется включение . Конусом является, например, множество .
Следующее утверждение, очевидное на первый взгляд, но требующее нетривиальных рассуждений, будет использовано при доказательстве леммы Фаркаша.
Разобьём матрицу размерности на столбцы:
Докажем факт замкнутости множества с помощью метода математической индукции по числу .
При множество является лучом, следовательно, замкнуто.
Предположим, что при конус , порождённый векторами , замкнут.
Если векторы принадлежат , то является подпространством размерности, не превышающей , и, следовательно, замкнутым множеством.
Предположим, что хотя бы один из векторов . Любой вектор представим в виде , где , . Рассмотрим последовательность , сходящуюся к некоторому вектору . Для всех , . Если последовательность ограничена, то, без потери общности, можно считать, что и, следовательно, , так как замкнуто по предположению индукции. Следовательно, . Итак, доказано, что если последовательность ограничена, то множество замкнуто.
Предположим, что последовательность не является ограниченной, т.е. при . Тогда и . В силу замкнутости , соответственно, и , что противоречит предположению второго пункта данного доказательства.
Пусть — вещественная матрица размера , — вектор-столбец из компонент, и — векторы-столбцы из компонент. Верна только одна из двух следующих альтернатив Следовательно, альтернативы 1 и 2 сильные.:
Доказательство леммы 1.14 частично следует из . Предположим, что первая альтернатива не выполняется, т.е. вектор не лежит в конусе:
Необходимо доказать, что тогда верна вторая альтернатива. Пусть — замкнутый шар радиуса с центром в точке , где . Тогда . Конус является замкнутым множеством по лемме 1.13.
Поскольку замкнуто и — компактное множество, существует ближайший в евклидовой норме к вектор , при этом .
Возьмём любой вектор и рассмотрим отрезок, соединяющий концы векторов и . В силу выпуклости множества , данный отрезок принадлежит . Поэтому для любого имеем
Следовательно, при положительном выполняется неравенство .
Обозначим . При (нулевой вектор также принадлежит ) скалярное произведение , поэтому
и существует такое , что
Приведём ещё одну формулировку леммы Фаркаша в терминах сопряжённых конусов.
Тот же результат можно записать в более узнаваемой по сравнению с леммой 1.14 форме:
Возникает вопрос: существует ли вариант леммы Фаркаша не только для многогранных конусов, как в лемме 1.15, но и для конусов общего вида? Ответ — да, существует, для замкнутых выпуклых конусов.
двойственная к ней выглядит следующим образом:
Предполагается, что решение двойственной задачи существует. Обозначим его . Рассмотрим задачу
Для применения к данным задачам понадобится лемма Фаркаша в следующей формулировке.
Пусть — вещественная матрица размера , — вектор-столбец из компонент, и — векторы-столбцы из компонент. Верна только одна из двух следующих альтернатив:
Если решение задачи (80) существует, то и у (78) должно существовать решение с оптимальным значением не больше .
Предположим, что (80) не имеет решения. Тогда по лемме Фаркаша 4 выполняется альтернатива 2, соответственно существует \displaystyle\left(\begin{array}[]{c}\lambda\\ \nu\end{array}\right)\geqslant 0 такой, что
Отсюда и .
1. Если , то , и . Выберем решение задачи (79) такое, что и . Тогда для
поскольку , и
что противоречит условию оптимальности значения для задачи (79).
2. Иначе, при , не теряя общности, можно считать, что (нужно просто уменьшить в соответствующее число раз). Тогда , . Но тогда также является решением (79) со значением, большим . Противоречие.
Поэтому решение задачи (80) существует, соответственно существует и решение задачи (78) с оптимальным значением не больше . ∎
2 Связь теоремы Гильберта о нулях и леммы Фаркаша
Пусть — фиксированное алгебраически замкнутое поле. Теорему Гильберта о нулях обычно формулируют в алгебраических терминах идеалов и радикалов идеалов, но её можно переформулировать на языке систем полиномиальных уравнений от переменных над (т.е. — многочлены от переменных).
Пусть , — многочлены. Тогда выполняется ровно одно из следующих утверждений:
Система уравнений ; имеет решение .
Существуют такие многочлены и такое неотрицательное целое число , что .
Эквивалентность формулировки теоремы 1.22 и теоремы о нулях в терминах идеалов и радикалов следует из не менее фундаментальной теоремы Гильберта о базисе , из которой следует, что всякая бесконечная система полиномиальных уравнений от конечного числа переменных над полем равносильна своей конечной подсистеме.
В формулировке теоремы 1.22 приведена ссылка на книгу <<Структура и случайность>> одного из самых знаменитых современных математиков, лауреата Филдсовской премии Теренса Тао Книга является переводом части статей из блога Тао https://terrytao.wordpress.com, посвящённого обзору, популярному изложению и обсуждению открытых математических проблем и сюжетов, а также других, связанных с математикой и физикой, тем. Например, как пишет Тао в предисловии к книге, самой читаемой и комментируемой записью за первый месяц существования блога стала популярная статья ¡¡Квантовая механика и расхитительница гробниц¿¿.. В параграфе, посвящённом теореме Гильберта о нулях, Тао пишет, что сила этой теоремы состоит в том, что из предположения о несуществовании (решения системы полиномиальных уравнений) извлекается вывод о существовании (многочленов ). Такая возможность получить <<что-то из ничего>> должна быть очень нетривиальной и полезной. И действительно, помимо вышеупомянутой основополагающей связи между алгеброй (коммутативной, утверждение теоремы 1.22) и геометрией (алгебраической, утверждение теоремы 1.22), оказывается, например, что разбираемую в данных разделах лемму Фаркаша можно сформулировать так, что она будет имитировать теорему Гильберта о нулях И доказать эти утверждения можно будет с помощью аналогичных приёмов, индукцией по размерности, см. доказательства в .. И если теорема Гильберта была проинтерпретирована Т. Тао как результат, описывающий все препятствия к решению системы полиномиальных уравнений и неравенств над алгебраически замкнутым полем, то лемму Фаркаша он формулирует как результат, описывающий все препятствия к решению системы линейных неравенств над вещественными числами. Далее эта лемма связывается с результатами, близкими теореме Хана–Банаха: теоремой Дьёдонне об отделимости, теоремой фон Неймана о минимаксе, теоремой Менгера и теоремой Хелли. Ниже приведём ещё одну формулировку леммы Фаркаша и теоремы Дьёдонне и Хелли, следуя Т. Tао . Рассматривается только конечномерный случай.
Рассмотрим систему линейных неравенств вида
то система неравенств 81 неразрешима. Лемма Фаркаша утверждает, что такое препятствие — единственно возможное.
Существуют такие вещественные числа , , , , что
Доказательство леммы с помощью индукции по см. в .
Приведём в заключение важнейший результат выпуклой конечномерной геометрии, теорему Хелли, которая имеет многочисленные приложения в различных областях.
Доказательство основано на лемме Фаркаша и свойствах линейной комбинации векторов.
Возможна и такая формулировка теоремы Хелли.
3 Арбитражная теорема
В данном параграфе рассматривается модель CRR (Кокса––Росса––Рубинштейна, Cox––Ross––Rubinstein ), которая играет в финансовой математике роль, сходную со схемой Бернулли в классической теории вероятностей. С помощью этой модели можно определить многие финансовые характеристики, например, справедливые цены опционов. Удивительным образом оказывается, что решение данной задачи однозначно связано с одной из рассмотренных в параграфе 12 лемм Фаркаша.
На фондовом рынке существуют различные типы ценных бумаг. Мы рассмотрим следующие: акции (stock) и опционы (option). Цены всех бумаг моделируются случайными процессами на дискретном или непрерывном временном интервале.
Акции — это долевые ценные бумаги, выпускаемые компаниями и корпорациями для увеличения капитала.
Опционы — это ценные бумаги, которые дают владельцу право, но не обязанность, купить или продать (у того, кто предоставил владельцу данный опцион) фиксированное количество соответствующих финансовых активов по определённой цене в конкретный период.
Опцион-колл (call) даёт право купить, а опцион-пут (put) — соответственно право продать финансовый актив. Существуют два типа опционов по времени исполнения: европейские и американские.
Если опцион можно исполнить только в заранее определённый момент времени , то говорят, что — момент исполнения, а опцион является опционом европейского типа. Если же опцион может быть предъявлен к исполнению в любой (случайный) момент времени, но не позже определённого , то говорят, что это опцион американского типа.
Если, например, оказалось, что для опциона европейского типа на покупку акций эти акции подорожали к дате исполнения опциона, то владелец опциона-колл воспользуется своим правом покупки и получит прибыль, купив акции по цене дешевле рынка (продавец опциона обязан продать эти акции по такой цене). Если же цена акций оказалась меньше цены исполнения опциона, то владельцу уже невыгодно покупать акции по цене дороже рынка, и он не исполняет свой опцион, т.е. ничего не делает (ведь опцион даёт право, ни к чему не обязывая).
Пусть на <<идеализированном>> фондовом рынке имеется всего две ценные бумаги, и торговля осуществляется в два момента времени. Пусть цена первой бумаги (акции) известна в первый момент времени. Цена второй бумаги (опцион европейского типа) неизвестна в первый момент. Пусть с ненулевой вероятностью ( неизвестно, но от него ничего зависеть в итоге не будет) к моменту времени цена акции вырастет в (up) раз и с вероятностью цена акции <<вырастет>> в (down) раз, т.е. упадёт. Пусть также известны возможные цены опциона во второй момент времени: , если акция выросла в цене, и , если акция упала в цене. Для простоты считается, что банк работает с нулевым процентом, т.е. класть деньги в банк в расчёте на проценты бессмысленно.
В данном случае дата исполнения опциона — момент времени , платежи в момент исполнения — и . Причём эти платежи — заранее известные функции от цены акции в этот момент (введение опционов было мотивировано желанием <<хеджироваться>> (страховаться) от нежелательных изменений цен акций). Основная задача заключается в установлении <<справедливой>> цены опциона в момент времени (см. ).
Допустим, что в начальный момент времени мы приобретаем единиц акции и единиц опции. При этом могут быть как положительными, так и отрицательными. В последнем случае мы <<встаём в короткую позицию>> — продаём ценные бумаги, приобретённые в долг, с обязательством вернуть их в момент времени по цене . Наши затраты на эти транзакции составляют
единиц капитала. При этом может быть и отрицательным, в случае если выручка от проданных в долг активов превышает цену приобретённых.
Ситуация, в которой вырученная закрытием позиций в момент времени сумма наверняка не меньше затраченной изначально суммы и при этом с некоторой положительной вероятностью даже строго больше, называется арбитражем. Другими словами, арбитраж имеет место, когда
Говорят, что рынок безарбитражный, если не существуют такие , , что выполняются условия (82) – (84). Найдём справедливую цену опциона для безарбитражного рынка.
Условие (83) означает, что при любой реализации цены акции в момент времени имеет место неравенство , т.е.
Условие (84) означает, что как минимум одно из этих неравенств — строгое. Система неравенств записывается в виде , где
Поиск арбитража сводится к вопросу о существовании такого , что , . По лемме Фаркаша об альтернативах, это условие эквивалентно существованию вектора , такого, что . Учитывая то обстоятельство, что и имеют противоположные знаки, это условие просто эквивалентно вырожденности матрицы . В этом случае можно подобрать решение . Следовательно, справедливую цену опциона можно найти из условия
Таким образом, справедливую цену опциона для безарбитражного рынка можно вычислить по формуле
Числа и задают мартингальную вероятность, или мартингальную меру (см. ). Если существует единственная мартингальная мера, то рынок называется полным. На полном рынке неизвестная цена опциона в начальный момент определяется однозначно и может интерпретироваться как <<справедливая цена>>.
Далее для справки приводится арбитражная теорема, также известная по курсу В.Г. Жадана <<Методы оптимизации>> как теорема Штимке (см. ).
, где (мартингальное соотношение);
4 Когда выгоден переход к двойственной задаче?
Пусть система совместна. Рассмотрим задачу
В силу выполнения свойства сильной двойственности можно сделать переход к двойственной задаче:
Поскольку система совместна, по одной из теорем об альтернативах, рассмотренных в данном разделе, не существует такого , что выполняется и . Следовательно, двойственная задача имеет конечное решение. В самом деле, если существует такой , что , тогда для всех :
Следовательно, . Предположим, что существует такое , что и . Но тогда мы пришли к противоречию:
следовательно, верна только одна из альтернатив.
Итак, вместо прямой оптимизационной задачи с ограничениями можно решать двойственную к ней безусловную (!) задачу
и затем восстановить решение прямой задачи по формуле
Если матрица не является матрицей полного ранга Матрицами полного ранга называются прямоугольные матрицы размера , ранг которых совпадает с минимальным из чисел и ., то двойственная задача имеет не единственное решение (все решения составляют аффинное многообразие). Но для любого из них решения прямой задачи, вычисленные по формуле (86), совпадают.
Формулировка оптимизационных задач
Задача оптимизации в самой общей форме имеет вид
где — искомая переменная, — допустимое множество, — целевая функция.
Какой алгоритм применять для решения данной задачи, зависит не только от того, выпукла ли она или нет, но и от алгоритмической доступности определяющих её элементов. Эти данные могут быть определены разными способами.
Функция цены может быть задана аналитическим выражением. В этом случае часто можно вычислить её значение и производные и работать с ними везде, где они существуют, а также получить оценки на константы Липшица и другие параметры, определяющие сложность задачи и класс алгоритмов решения, которые нужно использовать.
Однако информация о функции может быть и более ограниченной. Например, её значение может определяться оптимальным значением другой задачи, параметризованной переменной . Такая ситуация встречается, например, в минимаксных (седловых) задачах. В наименее информативном случае функция цены задаётся т.н. чёрным ящиком или оракулом. Это программа, выдающая для каждого данного значение функции, а может и (суб-)градиент, гессиан и т.д. Такая ситуация может возникнуть, когда значение функции цены является результатом сложного физического процесса, который можно моделировать только численно, или когда фирмы или учреждения, причастные к постановке задачи, не хотят или не способны выдавать слишком подробную информацию. При выборе алгоритма решения в таких случаях нужно учитывать стоимость вызова подпрограммы, считающей эти величины.
В случае аналитического описания задачи её степень сложности определяется характером выражений, задающих функцию цены и допустимое множество. Они могут быть линейными, квадратичными, полиномиальными, тригонометрическими, дискретными (бинарными, целочисленными) и т.д. В зависимости от характера функции цены и ограничений можно выделять разные стандартные классы задач:
линейные программы (linear program, LP): линейная функция цены и линейные ограничения;
линейные программы с целочисленными ограничениями (mixed-integer linear program, MILP): линейная функция цены, линейные и целочисленные или бинарные ограничения;
квадратичные программы (quadratic program, QP): квадратичная функция цены, линейные ограничения;
квадратично ограниченные квадратичные программы (quadratically constrained quadratic program, QCQP): квадратичная функция цены, квадратичные ограничения;
полиномиальные задачи: полиномиальная функция цены, полиномиальные ограничения;
геометрические программы (geometric program, GP): позиномиальная функция цены, позиномиальные ограничения.
Для разных классов задач существуют разные алгоритмы решения, имеющие известную сложность и поведение. В первом приближении задача эффективно решается, если она выпукла, т.е. функция цены и допустимое множество выпуклы. В п. 28 мы, однако, рассмотрим некоторые примеры, идущие вразрез с этим правилом.
Оптимизационные задачи, которые возникают в реальных приложениях, часто имеют необычную и не всегда каноническую форму. Специалистам, решающим такие задачи, необходимо иметь очень важный навык — способность узнавать и классифицировать задачи оптимизации, в том числе и <<замаскированные>>. Первый шаг — это привести конкретную задачу к одной из известных стандартных форм, в которой её можно решить имеющимися в распоряжении методами. Ясно, что для удачного поиска представлений необходимо иметь некий <<каталог>> функций и множеств. Оказывается, что такой <<каталог>> в виде конического представления функций и множеств (см. раздел 14) существует и активно используется в популярном пакете для численного решения задач оптимизации CVX (см. п. 35.2).
Задачи некоторых классов можно преобразовать в задачи из других стандартных классов, поскольку одна и та же задача оптимизации может быть сформулирована разными эквивалентными способами:
Функцию цены можно преобразовать в линейную, заменив
Бинарные ограничения или можно заменить на квадратичные или соответственно.
Таким образом, например, широкий класс полиномиальных задач сводится к QCQP, имеющей общий вид
Здесь — вещественные симметричные матрицы, , , — векторы, а — скаляры.
Если задача не эквивалентна задаче стандартного вида или для данного класса не существует эффективных алгоритмов решения, то её можно попытаться аппроксимировать, или релаксировать. Релаксация задачи обычно состоит в опущении сложного условия или замене его на более простое, например замена области определения бинарной переменной на непрерывный интервал . Иногда упрощение производят после некоторых преобразований исходной задачи, например, после перехода к двойственной. Релаксация имеет смысл, если при этом множество допустимых точек либо сужается, либо расширяется, с тем чтобы оптимальное значение релаксации представляло собой границу (верхнюю или нижнюю) для значения исходной задачи. В разделе 14.7 мы рассмотрим примеры, в которых можно оценить ошибку, сделанную при релаксации.
Коническое программирование
В этом разделе мы рассмотрим широкий класс выпуклых задач оптимизации в стандартной форме. Эта форма, т.н. коническая программа, имеет общий вид
Таким образом, в задаче конического программирования в качестве множества допустимых точек выступает пересечение регулярного конуса с аффинным подпространством. В формулировке (88) переменная (или часть её если ) параметризует точки конуса, и на неё дополнительно накладываются линейные условия, задающие аффинное подпространство.
Коническую программу над регулярным конусом можно также записать в виде
Очевидно сложность задачи конического программирования в основном зависит от конуса . Последний может задаваться разными способами, от аналитического описания до чёрного ящика или через решение вспомогательной задачи. Основным классом конусов, для которых конические программы эффективно решаются, является класс симметричных конусов.
а) для любых двух внутренних точек существует линейный автоморфизм конуса , который переводит в (однородность), и
Симметрические конусы полностью классифицированы. В оптимизации важную роль играют следующие семейства симметричных конусов:
конус Лоренца и произведения вида ;
Конические программы над симметричными конусами вышеперечисленных семейств эквивалентны задачам линейного программирования (LP), конично-квадратичного программирования (conic-quadratic program, CQP) или, эквивалентно, конического программирования второго порядка (second-order cone program, SOCP), полуопределённого программирования (semi-definite program, SDP) с вещественными и комплексными коэффициентами соответственно.
Конические программы широко используются в исследовании операций, инженерии , анализе динамических систем , управлении , маршрутизации , машинном обучении , методе главных компонент , восстановлении сигнала , восстановлении фазы и др. Большое количество невыпуклых задач можно аппроксимировать выпуклыми задачами, представляемыми в виде конической программы, например, такие комбинаторные проблемы, как максимальный разрез графа (MaxCut, см. п. 14.7), выполнимость булевых формул (SAT) , кликовое число графа (см. п. 31.5) , контактное число (kissing number) , квадратичная задача о назначениях , а также линейные программы с целочисленными ограничениями , квадратичные программы с квадратичными ограничениями и задачи полиномиальной оптимизации (см. п. 28) .
Рассмотрим более подробно класс конично-квадратичных программ. Напомним, что для конус Лоренца определяется как (см. также с. 1.15)
Итак, в конично-квадратичных программах имеем
Иными словами, задача конического программирования второго порядка является задачей минимизации линейной функции с конечным числом ограничений вида
где , — разбиения на блоки, соответствующие разбиению матрицы в (14.1). Если составить матрицу и разбить её на блоки, выделив последнюю компоненту:
где имеет размер , а затем вспомнить смысл отношения , то задачу (89) с из (14.1) можно переписать так:
Преобразование исходной задачи оптимизации к конической программе над симметричным конусом гарантирует её эффективное решение при условии, что размерность задачи при этом не сильно возрастёт. Если не удаётся произвести эквивалентное преобразование, то можно попытаться аппроксимировать задачу конической программой из одного из вышеперечисленных стандартных классов. В следующем разделе мы рассмотрим в качестве примера, как можно подойти к задачам класса QCQP с позиций конического программирования.
2 Преобразование и релаксации квадратичных задач
Квадратичная задача (87) класса QCQP общего вида трудно разрешима. Однако если матрицы положительно определены, а , то задача выпукла и сводится далее к конично-квадратичной программе, которая эффективно решается. В противном случае задачу QCQP можно аппроксимировать выпуклой задачей. Несколько вариантов такой аппроксимации мы увидим ниже в п. 14.7.
Рассмотрим сначала выпуклый случай. Условия равенства линейные и не требуют дальнейших преобразований. Функцию цены можно заменить на линейную функцию посредством введения новой переменной и нового ограничения . Это ограничение — выпуклое квадратичное неравенство, имеющее такой же вид, как и исходные условия типа неравенства. Осталось рассмотреть эти неравенства. Нетрудно проверить, что для неотрицательно определённой матрицы условие эквивалентно включению
Здесь обозначает матричный корень, т.е. неотрицательно определённую симметричную матрицу такую, что . Таким образом, выпуклая задача QCQP переведена в квадратично-коническую программу.
Рассмотрим теперь общую задачу QCQP (87). Введём дополнительную матричную переменную размера и матрицы коэффициентов:
В этой формулировке функция цены и все ограничения линейны, кроме последнего. Однако последнее ограничение можно переписать в виде
Все ограничения линейны или полуопределённые, кроме последнего. Это ограничение на ранг невыпукло и делает задачу сложной.
Стандартная полуопределённая релаксация задачи QCQP состоит в опущении ограничения на ранг. Так как допустимое множество увеличивается, оптимальное значение релаксации ограничивает оптимальное значение исходной задачи снизу. Если среди решений полуопределённой релаксации найдётся такое, что , то релаксация точна и компонента является решением исходной задачи. Этот случай имеет место, если в исходной задаче имеется только одно ограничение Другие случаи, в которых полуопределённая релаксация квадратичной задачи точна, описаны в работе .. Для доказательства нам понадобится следующий результат .
Пусть — произвольные симметричные матрицы размера . Тогда их численный образ (numerical range), задающийся множеством
Если в задаче QCQP имеется только одно ограничение, то её полуопределённая релаксация точна.
Пусть ограничение имеет вид или .
В частности, если — решение релаксации, то найдётся другое её решение, имеющее ранг 1. Поэтому релаксация точна. ∎
3 Коническое представление множеств и функций
Встречающиеся на практике задачи оптимизации изначально не имеют форму (88) или (89) конической программы, к которой можно применить стандартизированные алгоритмы решения. Однако процесс трансформации исходной задачи в коническую программу можно в некоторой степени автоматизировать. Для этого сперва надо понимать, какие типы ограничений и функций цены позволяют переписать проблему в виде конической программы над тем или иным конусом.
Множество называется представимым над семейством конусов , если существует конус такой, что представимо через .
Ясно, что конечное число конических условий (95) над разными конусами можно объединить в одно условие такого вида над прямым произведением . Поэтому в коническую программу можно интегрировать любое конечное число ограничений вида , если все встречающиеся множества представимы через подходящие конусы.
Приведём ряд операций, позволяющих построить одни представимые над семейством множества из других, более простых таких множеств.
Конечные пересечения. Из вышесказанного следует, что если множества представимы над некоторым семейством конусов , то над также представимо их пересечение , если индексное множество конечно.
До сих пор мы описывали конические представления множеств . Эти представления можно использовать для включения ограничений в коническую программу над рассматриваемыми конусами. Точно так же можно говорить о коническом представлении функций. В п. 13 мы видели, как преобразовать задачу минимизации произвольной выпуклой функции в задачу минимизации линейной функции над надграфиком . Таким образом, коническое представление функций можно свести к представлению множеств.
Мы будем называть функцию представимой через конус , если её надграфик представим через . Соответственно определим представление функции над семейством конусов. Аналогично операциям над множествами имеем следующую операцию над функциями.
Максимум семейства функций. Если функции представимы над семейством конусов , то их максимум также представим над . Это следует из того, что надграфик является пересечением надграфиков функций .
Чем шире семейство конусов, которым мы разрешаем фигурировать в конической программе, тем богаче класс представимых ограничений и функций. Ниже мы рассмотрим некоторые множества, представимые над произведениями конусов Лоренца или матричных конусов. Для простоты изложения мы приведём непосредственно ограничения, задающие эти множества.
Проблема с линейными ограничениями и линейной функцией цены представляется в виде линейной программы.
Коническая программа второго порядка способна представить гораздо более широкий спектр проблем. Приведём примеры ограничений, которые можно переписать как условия включения в конус Лоренца.
, эквивалентно условию ;
при эквивалентно условию ;
, эквивалентно условию ;
, эквивалентно условиям , , .
Применим эти соотношения для построения конического представления множеств .
Требуется найти его коническое представление.
Решение. Построим поднятие множества , добавив три дополнительные переменные , , . Представим множество как проекцию пересечения конусов Лоренца:
Проверьте с помощью определения конуса Лоренца, что данное коническое представление действительно эквивалентно исходному множеству .
Обобщая идею, на которой основан пример, можно построить конично-квадратичное представление подграфика
геометрического среднего переменных. Например, для четырёх переменных получаем представление
Перейдём к полуопределённым программам. С помощью этого класса можно описать ещё гораздо более широкий спектр проблем. Приведём примеры ограничений, которые можно переписать как условия включения в конус неотрицательно определённых матриц.
эквивалентно условию ;
эквивалентно условию для симметричных ;
, где — упорядоченные по низходящей собственные значения , эквивалентно условиям , , ;
, эквивалентно условию ;
эквивалентно условию для матриц общего вида;
эквивалентно условию (здесь — переменные, а — параметры задачи);
, эквивалентно условиям
где — спектр матрицы ;
для всех таких, что , и существует такое, что эквивалентно условиям и (-лемма).
В последнем пункте матрица и скаляр являются переменными, а матрица — параметром задачи.
Доказательство -леммы основано на лемме 1.19.
Применим вышеперечисленные соотношения для построения конического представления множеств .
Требуется найти коническое представление этого шара.
Более широкий список полуопределённо представимых ограничений можно найти в лекциях А. Бен-Таля и А. С. Немировского . В работе разработаны методы, с помощью которых некоторые структурированные классы седловых задач и вариационных неравенств сводятся к коническим программам. В этой статье также перечислен ряд операций, с помощью которых можно строить более сложные такие задачи исходя из более простых.
Отметим, что знать о возможности конического представления функций и множеств очень важно, поскольку для подавляющего большинства приложений, в которых возникают задачи выпуклой оптимизации, в том числе существенно нелинейной, существует возможность представить целевые функции и функции-ограничения подобным образом. А представленная таким образом задача может быть численно решена стандартными пакетами, например, с помощью оптимизационного пакета CVX.
Для многих классов задач выпуклой оптимизации уже удалось найти такие конические представления функций и множеств. Сначала был построен достаточно большой набор стандартных (библиотечных) выпуклых функций с известными коническими представлениями. Затем были определены правила сочетания, которые позволяют по известным функциям получать новые Подробное описание данных правил конического представления можно найти в [107, параграфы 2.3, 2.5, 3.2]., и написана программа, которая организует разумный перебор этих правил для поиска представления новых функций, не присутствующих в библиотеке. Детали см. в параграфе 35.2 про пакет CVX, автоматизирующий этот поиск.
В следующем параграфе мы рассмотрим вопрос представимости выпуклой задачи в виде стандартной конической программы с более общей, теоретической точки зрения.
4 Преобразования конических программ
В этом разделе мы рассмотрим, каким образом можно переписать коническую программу над некоторым конусом через другую коническую программу над конусом , где — вещественные векторные пространства соответствующих размерностей.
где — аффинное подпространство.
Пусть теперь конус представляется в виде сечения другого конуса , т.е. существует линейная инъекция такая, что . Тогда исходная коническая программа (96) эквивалентна программе
где — любой линейный функционал, удовлетворяющий соотношению для всех . Эквивалентно, должен удовлетворять условию . Здесь — сопряжённое к линейное отображение, определённое соотношением
Часто выражения, задающие конус , более или менее явным образом указывают на расширение , имеющее более простую структуру, чем . Например, любой полиэдральный конус является сечением ортанта. Линейное сечение матричного конуса называется спектраэдральным конусом. Заметим также, что произвольное аффинное сечение матричного конуса называется спектраэдром.
Менее очевидным является представление линейной проекцией другого конуса . Такое представление задаётся линейной сюръекцией такой, что . Пусть задана такая сюръекция, также называющаяся поднятием (lifting). Тогда исходная коническая программа (96) эквивалентна программе
Часто поднятие можно реализовать вводом дополнительных переменных. В этом случае , а определяется как проекция . Коническая программа над принимает вид
Две приведённые выше конструкции двойственны друг к другу. А именно, конус тогда и только тогда является сечением конуса , когда двойственный конус является проекцией двойственного конуса .
В общем случае можно комбинировать оба подхода.
Здесь — любой линейный функционал, удовлетворяющий соотношению для всех , или эквивалентно .
С точностью до линейного изоморфизма конус можно восстановить из , если заданы два подпространства и . Тогда пространство можно отождествить с фактор-пространством , а конус — с множеством
Все симметричные конусы являются спектраэдральными:
ортант изоморфен множеству диагональных неотрицательно определённых матриц;
конус Лоренца изоморфен множеству неотрицательно определённых матриц вида
эрмитовый матричный конус, состоящий из матриц вида , где — симметричная, а — косо-симметричная вещественная матрица, изоморфен множеству неотрицательно определённых матриц вида
Справедлив следующий, более общий результат .
Любой однородный конус является спектраэдральным.
5 Программы над несимметричными конусами
Как говорилось выше, сложность конической программы зависит от свойств конуса , над которым программа определена. Симметрические конусы имеют алгебраическое описание границы и поэтому в принципе не в состоянии представить трансцендентные ограничения. Однако, помимо симметричных конусов, есть целый ряд алгоритмически доступных конусов, в основном маломерных, которые позволяют решать и разные классы выпуклых задач с трансцендентными данными. В качестве примера мы в этом разделе рассмотрим, как представить общую задачу геометрического программирования в виде конической программы.
Введём новые переменные и параметры , тогда получим эквивалентную форму
т.н. экспоненциальный конус. Конус определён как замыкание конуса над надграфиком экспоненциальной функции. Он является самодвойственным в более широком смысле, что он линейно изоморфен двойственному конусу , но не является однородным.
Вводом дополнительных переменных задачу можно переписать в виде
Теперь функция цены линейна, и помимо линейных ограничений типа равенства мы имеем только конические ограничения над конусом . Таким образом, геометрическая программа записана в виде конической программы над произведением конечного числа копий этого 3-мерного конуса.
Отметим, что конический солвер для решения геометрических программ, основанный на этом представлении, предлагается в пакете MOSEK.
Конус аппроксимируется с точностью числом конично-квадратичных ограничений . Поэтому геометрическую программу можно приблизить конично-квадратичной.
6 Теорема Яннакакиса и её обобщения
Этот вопрос был изучен Михалисом Яннакакисом в работе в связи с неоднократным выходом в свет <<доказательств>> соотношения посредством (ошибочного) представления экспоненциально сложных политопов через полиномиально сложные.
Пусть — регулярный полиэдральный конус, а — двойственный к нему конус. Пусть имеет экстремальных лучей, а — экстремальных лучей. Построим матрицы размера и соответственно, такие что столбцы и генерируют все экстремальные лучи конусов соответственно. Матрица размера называется матрицой невязок (slack matrix). Очевидно, элементы этой матрицы неотрицательны. Заметим, что матрица невязок не зависит от выбора системы координат в пространстве , а изменение нумерации экстремальных лучей конусов приводит к перестановке её столбцов и строк.
Неотрицательным рангом матрицы размера с неотрицательными элементами называется минимальное число такое, что существуют неотрицательные матрицы размера и , соответственно, такие что .
Вычисление неотрицательного ранга произвольной неотрицательной матрицы является -сложной задачей. Понятно, что неотрицательный ранг матрицы невязок зависит только от самого конуса . Мы имеем следующую связь с представлениями конуса через ортант.
Заметим сначала, что имеет полный ранг и , поскольку и вместе с ним и — регулярный конус. Поэтому обратимо.
Из этого следует, что все генераторы экстремальных лучей , а значит, и любые элементы имеют требуемое представление.
в силу неотрицательности матрицы . Этого и требовалось доказать. ∎
С другой стороны, любое представление конуса через ортант определяет неотрицательную факторизацию матрицы невязок. Для доказательства этого факта нам понадобится следующая вспомогательная лемма.
Пусть — выпуклый полиэдральный конус, а — линейная инъекция. Пусть — линейный функционал такой, что образ открытого полупространства имеет пустое пересечение с . Тогда существует элемент такой, что .
Сперва отметим, что образ имеет пустое пересечение с тогда и только тогда, когда образ множества имеет пустое пересечение с .
Тогда система линейных равенств и неравенств
По построению имеем для всех индексных пар . Это даёт нам искомую неотрицательную факторизацию матрицы невязок. ∎
Комбинируя обе леммы, получаем следующий результат.
Эту матрицу можно разложить в произведение
неотрицательных матриц. Нетрудно проверить, что это минимальное разложение, и неотрицательный ранг матрицы невязок равен 5.
В итоге конус представлен в виде
Пусть оператор невязок регулярного конуса факторизуется через регулярный конус . Тогда имеет представление через конус .
Далее, из следует, что для всех , что вследствие регулярности может иметь место только тогда, когда . Поэтому инъективно.
Лемму 1.22 также можно обобщить, но вследствие отсутствия аналога леммы 1.21 необходимо потребовать дополнительное условие.
Пусть существует представление регулярного конуса через регулярный конус такое, что подпространство имеет непустое пересечение с внутренностью конуса . Тогда оператор невязок конуса факторизуется через конус .
Построим отображение . Пусть , . Пусть функционал отделяет конус от множества , где . По построению образ будет пропорционален функционалу , однако надо исключить случай . Это гарантируется дополнительным условием. Если , то функционал равен нулю на всех точках подпространства и, таким образом, на внутренних точках , что невозможно вследствие регулярности . Итак, можно нормализовать так, что . Положим .
Тогда имеем . Таким образом, задают искомую факторизацию. ∎
В случае, когда — матрица, т.е. множества конечны, свойства полуопределённого ранга были изучены в .
В частности, конус не является полуопределённо представимым, если его оператор невязок не допускает факторизации через матричный конус какой бы то ни было размерности.
7 Аппроксимация полуопределённо представимыми конусами
Представлением одного конуса через другой можно порою сильно понизить сложность задачи. Если представление неизвестно или не существует, то можно попытаться сделать аппроксимацию.
Иногда можно гарантировать некоторую точность определённой релаксации, но нет семейства релаксаций со всё возрастающей точностью. Рассмотрим два примера.
Рассмотрим задачу максимизации однородной квадратичной формы на вершинах гиперкуба . Эта задача записывается в виде квадратичной программы с квадратичными ограничениями
Стандартная полуопределённая релаксация этой задачи получается из эквивалентной формулировки
Матрицы ранга 1 с единичной диагональю являются вершинами политопа максимального разреза (MaxCut polytope), обозначаемого через . Этот политоп имеет вершин. Множество допустимых матриц в полуопределённой релаксации, т.е. неотрицательно определённых матриц с единичной диагональю, содержит политоп и является его внешней аппроксимацией. Это множество обозначается через . Кроме того, введём ещё тригонометрическую аппроксимацию:
где функция применяется к поэлементно. Следующий результат показывает, что невыпуклое множество является внутренней аппроксимацией политопа .
Пусть теперь . Вычислим вероятность того, что , т.е. что элементы имеют разный знак.
В итоге математическое ожидание произведения вычисляется по формуле
Этим утверждение доказано и для недиагональных элементов. ∎
Так как экстремальные точки политопа содержатся в , то из включения также следует равенство .
Пусть . Тогда имеет место оценка
Константа в этой теореме не может быть улучшена .
Равенство имеет место, поскольку линейная форма на компактном множестве принимает те же экстремальные значения, что и на его выпуклой оболочке. Правое неравенство следует из включения . Для доказательства левого неравенства рассмотрим матрицу , на которой линейная форма принимает максимум, и положим . Тогда
Заметим, что лемма 1.25 даёт нам возможность генерировать суб-оптимальные решения задачи (97). Пусть — решение полуопределённой релаксации задачи. Генерируя случайные векторы и полагая , получаем случайные вершины гиперкуба. Если , т.е. максимизируемая квадратичная форма выпукла, то математическое ожидание значения целевой функции на этих вершинах будет не меньше, чем умножить на оптимальное значение.
Перейдём ко второму примеру, который числится в списке Карпа NP-полных (NP-complete) проблем . Пусть задан граф с вершинами и неотрицательными весами на рёбрах. Задача нахождения максимального разреза (MaxCut) состоит в разбиении множества вершин графа на два непересекающихся подмножества таким образом, чтобы общий вес рёбер, соединяющих эти два подмножества, был максимален. Задача сводится к программе
Теорема Гёманса–Виллиамсона даёт следующую (см. теорему 1.31) оценку ошибки полуопределённой релаксации, получающейся заменой сложного политопа на простое полуопределённо представимое множество .
Пусть — неотрицательная поэлементно матрица. Тогда
где .
Правое неравенство и равенство доказываются, как и в предыдущем случае. Для доказательства левого неравенства рассмотрим матрицу , на которой выражение принимает максимум, и положим . Тогда
Лемма 1.25 позволяет строить суб-оптимальные случайные разбиения, математическое ожидание веса которых не меньше, чем умножить на вес максимального разреза. Если Гипотеза Уникальных Игр верна, то константу невозможно улучшить алгоритмом полиномиальной сложности .
8 Двойственные конические программы
над некоторым регулярным выпуклым конусом . Рассмотрим произвольный элемент вида , где – некоторый вектор соответствующей размерности. Тогда для любого из допустимого множества исходной конической программы имеем
Таким образом, мы получили нижнюю оценку на оптимальное значение исходной конической программы.
Двойственная коническая программа формулируется как задача максимизации этой оценки и записывается в виде
Она определена над двойственным конусом . Очевидно, для каждой допустимой точки исходной конической программы величина является верхней оценкой оптимального значения двойственной программы.
Разница между оптимальными значениями прямой и двойственной задачи называется разрывом двойственности.
Тогда двойственную программу можно записать в виде
По этому зазору в ходе итераций можно оценить, насколько близко прямо-двойственная пара находится к решению задачи.
Робастная оптимизация
В практических задачах реальные значения параметров, требующихся для решения, как правило, известны лишь с какой-то степенью точности, т.е. приближённо. Иногда удаётся пренебречь небольшими неточностями в данных и считать, что параметры заданы точно, в надежде, что неизвестные небольшие расхождения между реальными и известными (к примеру, измеренными с какой-то погрешностью) данными не повлияют на оценку оптимального решения. Но чем сложнее задача по структуре, числу переменных, количеству необходимых для получения решения вычислительных операций, чем выше требования к точности решения, тем выше вероятность того, что игнорировать неопределённость в исходных данных уже не получится. Часто бывает и так, что совсем небольшие расхождения между реальными и известными данными, буквально в сотые доли процента, приводят к нарушению ограничений задачи в сотни тысяч (!) раз (см. примеры в [104, Раздел A]). Тем самым найденное решение становится полностью бесполезным. Таким образом, для практического решения задач оптимизации нужна заранее учитывающая возможные неточности в данных методология. Эта методология должна также позволять получать осмысленные ответы, согласованные с исходными неточностями.
В настоящее время существует несколько конкурирующих подходов к описанию неопределённости в исходных данных.
Приведём следующие три модели описания неопределённых данных:
вероятностно-статистическая (стохастическая) ;
В классической вероятностно-статистической модели задаётся вероятностное пространство и измеряемые исходные данные считаются случайными величинами. Недостатком модели является следующий факт: даже если реальные данные и в самом деле выбираются по некоторому распределению, что бывает довольно редко, параметры этого распределения всё равно остаются неизвестными.
В <<нечёткой>> модели используется понятие нечёткого множества вида , где — функция принадлежности конкретного значения неточно заданного параметра данному нечёткому множеству; — заданная область возможных значений . Функция принадлежности обычно задаётся экспертным путём на основании данных об источниках неточности значений параметра .
В интервальной модели описания данных неопределённость параметров описывается только границами их возможных значений, т.е. для параметра задаётся интервал неопределённости . Интервалы неопределённости позволяют описать неоднозначные, вариабельные и/или неточные исходные данные. Все значения внутри интервала предполагаются равновозможными. В ряде прикладных задач интервальная модель оказывается наиболее предпочтительной (см., например, ).
Особый, но довольно близкий к интервальной модели подход к решению только оптимизационных задач с неопределённостями в исходных данных предлагает ставшая популярной за последние два десятилетия робастная оптимизация. Развитие данной методологии в какой-то степени опиралось на задачи, возникавшие в уже существующей к тому времени теории робастного управления . В таких задачах управления объектами параметры моделей объектов и даже сами цели управления могут быть определены неточно.
Так же, как и для интервального подхода, в робастной оптимизации считается, что данные меняются только в заданной области неопределённости. Решения обязательно должны быть робастно допустимыми, т.е. при всех наборах данных из заданной области неопределённости решения должны удовлетворять ограничениям задачи. Среди робастно допустимых решений выбирается наилучшее по целевому функционалу.
Стохастическая задача также может быть решена с помощью такого подхода. В этом случае область неопределённости задаётся множеством доверия, в котором случайная величина находится с вероятностью, не меньшей некоторого заданного наперёд порога, например, или . Если данные распределены нормально, то область неопределённости задаётся соответствующим эллипсоидом доверия.
Рассмотрим более подробно парадигму робастной оптимизации (РО) на примере задачи линейного программирования:
В парадигме РО задачу (98) необходимо дополнить условием принадлежности всех коэффициентов задачи множеству неопределённости :
Тут сразу же возникает вопрос о необходимости различать типы неопределённости, которые несут таким образом описанные множества входных данных. И смысл поставленной задачи, и результаты её решения сильно различаются в зависимости от применения разных логических кванторов, существования или всеобщности, при определении множеств в (99). Ответом на этот вопрос для классической постановки задачи РО является следующее уточнение (98) и (99):
т.е. среди всех возможных значений целевой функции выбирается наихудшее, максимальное, а затем ищется наилучшее, минимальное значение среди всех <<худших>>.
Впервые задача в форме (98)–(99) рассматривалась в статье Сойстера 1973 г. , но активные исследования в области линейной РО стали проводиться лишь спустя 25 лет, в конце 90-х гг., в том числе и по дискретной оптимизации , и по непрерывной выпуклой РО . С этого времени началось бурное развитие данного направления, подробности со ссылками см. в обзоре . Методология современной робастной оптимизации подробно описана в книге А.С. Немировского, А. Бен-Тала и Л. Эль-Гауи и кратко — в замечательном курсе лекций по современной выпуклой оптимизации А.С. Немировского и А. Бен-Тала .
Можно ли эффективно решать задачи типа (100), т.е. находить оптимальные робастные решения? Оказывается, в некоторых случаях можно, причём не только линейные, но и более сложные робастные программы.
Если множество неопределённости выпукло, то такую задачу можно преобразовать в детерминированную коническую программу над более сложным конусом положительных отображений. Эта программа называется робастной версией исходной задачи. Мы рассмотрим, как сводить робастные версии разных классов стандартных программ снова к стандартной программе. Если такое преобразование невозможно, то можно провести аппроксимацию. Для случая матричного куба мы представим результат, оценивающий ошибку, сделанную при аппроксимации.
В п. 14 мы представили две разных формы конической программы. В виде (88) на переменные накладываются коническое условие и линейные условия типа равенства. В виде (89) переменные прямо параметризуют допустимое множество задачи. При переходе к робастной версии эти представления ведут себя по-разному.
Очевидно, в общем случае невозможно гарантировать выполнение условия типа равенства для всех наборов коэффициентов из множества неопределённости. Поэтому неопределённые коэффициенты могут присутствовать только в условиях типа неравенства, к которым можно отнести также коническое ограничение, и робастная версия имеет смысл только для конической задачи в форме (89). Рассмотрим задачу конического программирования
с неопределёнными коэффициентами . Здесь — регулярный выпуклый конус. Условие, что коэффициенты функции цены не являются неопределёнными, не ограничивает общности, поскольку в противном случае этого легко можно добиться вводом новой переменной и ограничением . Для любого набора коэффициентов из множества неопределённости мы имеем обычную коническую задачу, но решение, оптимальное для одного набора коэффициентов, может быть недопустимым для другого набора.
Робастная версия задачи записывается в виде
т.е. мы ищем наилучшее решение, удовлетворяющее коническому ограничению для всех наборов коэффициентов из множества неопределённости.
Мы будем предполагать, что множество выпукло и параметризовано линейно некоторыми переменными ,
где — выпуклое компактное множество с непустой внутренностью, характеризующее множество неопределённости коэффициентов задачи. Покажем, что тогда робастная версия задачи конического программирования сама является задачей конического программирования.
Введём однородную версию множества , а именно регулярный конус
Так как коническое ограничение не изменится, если умножить на положительную константу, робастная версия запишется в виде
коэффициенты которого аффинны по . Тогда задача примет вид
Пусть , — регулярные выпуклые конуса. Линейное отображение , переводящее конус в подмножество конуса , называется положительным по отношению к этим конусам. Множество положительных отображений обозначается через .
Нетрудно показать, что множество положительных отображений само является регулярным выпуклым конусом в пространстве всех линейных отображений, или эндоморфизмов .
С этим определением робастная версия принимает вид
Таким образом, она сама является задачей конического программирования, но над конусом положительных отображений . Здесь переменная по-прежнему параметризует аффинное подпространство, задающееся линейными ограничениями конической программы в её стандартной формулировке.
Очевидно, сложность робастной версии зависит от того, насколько алгоритмически доступен конус положительных отображений . Это, в свою очередь, зависит и от конуса , лежащего в основе исходной задачи, и от конуса , задаваемого множеством неопределённости.
2 Конусы положительных отображений
В этом разделе мы рассмотрим конусы положительных отображений, встречающиеся в робастных версиях конических программ над симметричными конусами, их представления и аппроксимации. Сперва, однако, приведём некоторые результаты общего характера.
Пусть , — регулярные выпуклые конусы. Тогда .
Для линейного отображения , , и точки имеем тогда и только тогда, когда для всех . Поэтому эквивалентно совокупности условий , . ∎
Таким образом, если конус является линейным сечением конуса , то конус положительных отображений представим через . Для линейных проекций подобное утверждение не имеет место.
Пусть , — регулярные выпуклые конусы, а — линейное отображение. Тогда имеем тогда и только тогда, когда .
Пусть , . Тогда для любого имеем , поскольку . Из этого следует, что . Отсюда вытекает .
Обратная импликация доказывается аналогичным образом. ∎
В частности, конусы положительных отображений и изоморфны, и если один из них представим через некоторый конус , то второй также представим через .
Если конус полиэдральный с экстремальными лучами, то конус положительных отображений представим через прямое произведение .
Если исходная коническая программа класса LP (SOCP, SDP), а множество неопределённости является политопом, то робастная версия конической программы также класса LP (SOCP, SDP).
Если — политоп, то конус является полиэдральным. Однако семейство конусов, над которыми задаются программы классов LP и SOCP, замкнуты относительно операции построения прямых произведений. Прямое произведение же матричных конусов изоморфно линейному сечению матричного конуса большей размерности, задающегося блочно-диагональными матрицами соответствующего типа. ∎
Если число экстремальных точек политопа небольшое, например, если параметризуется -шаром , то сложность робастной версии конической программы сравнима со сложностью самой конической программы. В этом случае экстремальные точки множества называются сценариями, а решение робастной задачи является наилучшей точкой, удовлетворяющей ограничениям при любом сценарии.
Если политоп имеет большое количество экстремальных точек, например, если параметризуется -шаром , то робастная версия, хотя и формально является задачей того же класса, может быть значительно сложнее, чем исходная коническая программа.
Часто неопределённые параметры задачи нормально распределены, и соответствующее множество неопределённости эллипсоидально. В этом случае конус изоморфен конусу Лоренца .
Второй частный случай, в котором релаксация точна, это когда эллипсоид, задающий множество неопределённости , двумерный. В этом случае конус изоморфен . Справедлив следующий результат.
3 Теорема о матричном кубе
Доказать, что эта релаксация точна для размера матриц .
Заметим, что математическое ожидание выпукло по и инвариантно относительно перестановок элементов . Поэтому минимум по на единичной сфере -нормы достигается в точке вида , где , — некоторые вещественные числа, встречающиеся и раз соответственно. Соответствующее значение вычисляется по формуле
Подставляя , , получаем значение . При чётных это значение достигается на допустимом векторе . Кроме того, имеем нижнюю оценку , и по построению убывает. Отсюда получаем асимптотику .
равно .
где — случайный нормально распределённый вектор.
задаётся набором матриц , не включенным в множество . Тогда расширенный матричный куб
Глава 2 Эффективность численных методов выпуклой оптимизации
The main lesson of the development of our field in the last few decades is that efficient optimization methods can be developed only by intelligently employing the structure of particular instances of problems.
Nesterov Yu. Lectures on Convex Optimization. Springer, 2018.
В этой главе исследуются возможности численных методов решения задач выпуклой оптимизации. Вводятся понятия оракула, чёрного ящика, функциональной модели оптимизационной задачи.
Обратим внимание на то, что в главу мы включили совсем свежие результаты об ускоренных градиентных методах. В частности, результаты о том, что ускоренные методы (градиентные и тензорные) для разнообразных задач выпуклой оптимизации можно строить с помощью общей оболочки <<Ускоренного Мета-алгоритма>> (УМ). Достаточно подробно рассматриваются вопросы о накоплении неточности в градиенте в оценках скорости сходимости ускоренных методов. Приводятся примеры, в которых возникают неточные градиенты (безградиентные методы и решения обратных задач). Разбираются методы внутренней точки (глобализирующие сходимость метода Ньютона), которые положены в основу ряда современных пакетов решения задач выпуклой оптимизации умеренных размеров.
Нет никакой возможности разумно определить наиболее эффективный метод решения конкретной задачи непрерывной оптимизации. Действительно, мы можем просто <<подсказать>> методу найденное другим способом решение, и он будет выдавать его мгновенно, за константное время . Но такой метод будет совершенно бесполезен для решения других задач, с отличающимся оптимальным решением. Поэтому, как правило, численные методы разрабатываются для решения многих однотипных задач с близкими характеристиками (говорят: для задач одного класса). Следовательно, эффективность метода на каком-то классе задач можно считать важной характеристикой качества метода.
Та информация о задаче, которая заранее известна численному методу, называется моделью решаемой задачи.
Как минимум, в модель включается формализованная постановка задачи, например, для задачи с ограничениями типа равенств — в форме (13).
Здесь и далее эффективность (оптимальность) метода на классе задач будет пониматься в смысле Бахвалова–Немировского — число обращений (по ходу работы метода) к оракулу. Оракулом называется подпрограмма расчёта значений целевой функции (в некоторых случаях — градиента, в совсем отдельных случаях — и производных более высоких порядков) для достижения заданной точности решения в зависимости от параметров, характеризующих класс рассматриваемых задач (от модели задачи). Наивысший доступный для вычисления порядок производной в модели задачи называется порядком оракула (т.е. если доступны только значения целевой функции, то говорят, что имеется оракул нулевого порядка, соответственно, если доступен градиент (или его аналог), то имеется оракул первого порядка и т.д.).
Итак, аналитическая сложность конкретной оптимизационной задачи для какого-то метода характеризуется тем, сколько запросов к оракулу необходимо сделать для нахождения приближённого решения с заранее заданной точностью . При этом для обоснования верхних оценок сложности необходимо предложить алгоритм решения задачи , в то время, как нижние оценки, зависящие от точности , могут быть получены теоретически.
Такой (оракульный) взгляд на сложность задач выпуклой оптимизации оказался очень удобным и популярным . Связано это с тем, что, с одной стороны, существует хорошо разработанная теория оракульной сложности задач выпуклой оптимизации , хорошо подтверждающаяся на практике, с другой стороны, для большинства методов первого порядка и большинства задач наиболее вычислительно затратной частью итерации является именно расчёт градиента. Таким образом, число обращений к оракулу отвечает за число итераций метода, что во многом определяет и общую сложность (время работы) метода.
Монография Немировского–Юдина стала в своё время (с конца 70-х годов XX века) настоящим прорывом. Эта книга во многом и определила последующее развитие численных методов выпуклой оптимизации. Запас оригинальных идей, заложенных в данной (совсем непростой для чтения) книге, по-прежнему вдохновляет большое число исследователей по всему миру.
В последнее время концепция оракульной сложности и чёрного ящика переживает новую волну популярности в связи с появлением большого числа новых постановок задач, приходящих из машинного обучения. Среди прочих, отметим особо работы последних 6-7 лет Натана Сребро (Nathan Srebro) с коллегами О. Шамир (Ohad Shamir), Ю. Аржевани (Yossi Arjevani), Б. Вудворс (Blake Woodworth) и др.
Ещё раз подчеркнём принципы описанной выше концепции чёрного ящика — стандартного предположения, которое необходимо для получения большинства результатов теории сложности задач оптимизации.
Единственное, что может использовать в ходе своей работы итерационный метод, это ответы оракула.
Ответы оракула являются локальными: небольшое изменение задачи, произведённое достаточно далеко от тестовой точки и согласованное с описанием данного класса задач, не обязано привести к изменению исходного ответа в точке .
Эта концепция является одной из самых полезных изобретений в численном анализе. В частности, она позволяет получить соответствующие верхние и нижние оценки оракульной сложности решения оптимизационных задач для различных подклассов выпуклых функций.
Опишем основные известные результаты об оптимальных вычислительных гарантиях (оценках скорости сходимости) для задач (в общем случае негладкой) выпуклой оптимизации .
Мы начнём с задач небольшой размерности, когда возможна ситуация , где — размерность пространства, а — количество вызовов оракула (например, число вычислений субградиента в текущей точке). Рассмотрим задачу выпуклой оптимизации
где — выпуклое компактное множество простой структуры. С использованием обращений к оракулу для субградиента ставится задача нахождения такой точки , для которой
где — искомое минимальное значение функции в (103), — точное решение задачи (102). Нижняя и верхняя оценки требуемого количества обращений к оракулу (с точностью до порядка множителя, имеющего логарифмическую зависимость от некоторой характеристики допустимого множества ) равны , где . Согласно указанной оценке сходится метод центров тяжести (метод внутренней точки). При этот метод является простым бинарным поиском . Однако при реализовать этот метод уже непросто. Это связано с тем, что сложность каждой итерации слишком высока, поскольку на каждой итерации требуется нахождение центра тяжести текущего допустимого множества. Как хорошо известно , для метода эллипсоидов достижение приемлемого качества решения необходимо \displaystyle N={\color[rgb]{0,0,0}O}\left({n^{2}\log\left({{\Delta f}\mathord{\left/{\vphantom{{\Delta f}\varepsilon}}\right.\kern-1.2pt}\varepsilon}\right)}\right) вызовов оракула при сложности каждой итерации . В была предложена специальная версия метода отсекающих гиперплоскостей. Для такого метода требуется Здесь и всюду далее для всех (больших) : с некоторыми константами и . Как правило, . Если , то . вызовов оракула при сложности итерации (сложность обращения матрицы на , равная по порядку сложности перемножения матриц таких размеров, практическим алгоритмом Штрассена, в теории можно предложить и лучший метод перемножения матриц , однако на практике такой сложности пока не удалось достичь). В работе предложен метод с вызовами оракула и сложностью итерации . Этот метод пока не удалось сделать эффективным на практике, по-видимому, в теории это объясняется наличием больших порядков (степеней) логарифмов в . Подробнее о методах решения задач выпуклой оптимизации небольшой размерности будет рассказано в разделе 17.
Как видим, упомянутые выше оценки сложности существенно зависят от размерности задачи, что ставит под вопрос их применимость в случае большой размерности задачи . Наиболее известный подход к пониманию эффективности алгоритмических процедур в многомерной оптимизации основан на теории сложности, восходящей к известной монографии А. С. Немировского и Д. Б. Юдина . Разработанная А. С. Немировским и Д. Б. Юдиным теория нижних оценок возможной эффективности методов выпуклой минимизации градиентного типа для различных классов задач была подкреплена оптимальными методами, которые реализовывали эти оценки. Для класса методов, у которых на каждой итерации разрешается не более чем раз обращаться к оракулу (подпрограмме) для расчёта градиента , оценка числа итераций , необходимых для достижения точности решения задачи (по функции) (103) указана в таблице 1 в зависимости от класса рассматриваемых задач. Как видим, указанные оценки сложности не зависят от размерности задачи. При этом нижние оценки в негладком случае ( липшицева) достигаются на субградиентных методах (см. раздел 18), а в гладком случае ( имеет липшицев градиент) достигаются на быстром (ускоренном) градиентном методе (см. разделы 19, 22, 25), предложенным Ю. Е. Нестеровым в 1983 г. .
После этого на некоторый период градиентные методы были практически забыты. Начиная с работы Н. Кармаркара (1984 г.) и примерно до 2004 г. развитие теории и методов оптимизации было в основном связано с прогрессом в теории полиномиальных методов внутренней точки. К примеру, была разработана общая теория самосогласованных функций, которая позволяла строить полиномиальные методы внутренней точки для всех выпуклых задач с явной структурой. Однако, как было отмечено выше, сложность методов внутренней точки сильно зависит (растёт) от размерности решаемой задачи. В связи с указанным обстоятельством в 2000-е годы возник интерес к оптимизационным методам градиентного типа, итерации которых требуют меньших затрат памяти, что интересно ввиду приложений к задачам оптимизации с большими данными. Тогда вновь возник интерес к теории сложности и подкрепляющим её методам градиентного типа. В рамках этой теории установлены оптимальные оценки числа вызовов оракула для задачи выпуклой оптимизации (102) вне зависимости от размерности задачи , которые приведены в табл. 1. Отметим, что здесь уже — необязательно компактное множество. В табл. 1 — это <<расстояние>> (с точностью до множителя ) между начальной точкой и ближайшим решением
Заметим, что оценки в табл. 1 в не сильно выпуклом случае могут быть получены исходя из оценок в сильно выпуклом случае, если положить . Этому есть простое объяснение. Вместо задачи (1) предлагается рассматривать регуляризованную задачу (для простоты рассматриваем случай )
Если и
Интересно отметить, что существует универсальная конструкция (рестарты) , которая в некотором смысле является обратной к описанной выше. Продемонстрируем это на примере получения оценки в гладком сильно выпуклом случае из оценки в гладком выпуклом случае. Предположим, что у нас есть метод, который сходится следующим образом:
Тогда, выбирая и используя сильную выпуклость из
Делая логарифмическое по желаемой точности число рестартов (присваиваний ), получим требуемую оценку. Аналогичные (но чуть более громоздкие) рассуждения можно провести и в негладком случае. Более подробно написанное выше разбирается далее в разделе 25.8.
Отметим также, что оценки негладкого случая можно получить из соответствующих оценок гладкого случая, используя результаты о накоплении неточности в рассматриваемых методах. А именно, приведённые в таблице оценки в гладком случае могут быть получены при немного более слабом условии, которое следует из -липшицевости градиента: для всех выполняется
Если допустить, что (104) выполняется неточно
то как это изменит скорость сходимости быстрого (ускоренного) градиентного метода оптимального для задач гладкой выпуклой оптимизации? Ответ даёт следующая формула (детали см. в разделе 25.5):
Ключевое наблюдение, которое позволяет сводить анализ негладких задач к гладким, заключается в наблюдении, что -липшицева функция (такой функцией, например, будет негладкая скалярная функция ) для любого удовлетворяет (105) с .
Приравнивая каждое слагаемое в правой части (106) , получим, что , . Учитывая далее, что , получим, Аналогичные рассуждения можно провести и в сильно выпуклом случае.
Методы выпуклой оптимизации для задач небольшой размерности
Все представленные в этом параграфе методы имеют линейную или квадратичную по отношению к размерности оценку на число обращений к оракулу, поэтому их можно применять только для задач не очень большой размерности.
Задача минимизации выпуклой функции от одной вещественной переменной встречается как подзадача поиска оптимальной длины шага в итеративных методах минимизации функции от многих переменных, например, в градиентном спуске. Иногда необходимо отминимизировать функцию цены по скалярному множителю Лагранжа. Здесь мы рассмотрим два метода для решения одномерных задач, в зависимости от того, доступен ли знак производной функции или её значение.
Метод начинает с некоторой точки , которую он передаёт оракулу. Допустим без ограничения общности, что оракул возвращает ответ . Выберем константу и итеративно вычисляем последовательность точек , которые мы также передаём оракулу. Через шагов мы получаем точку , для которой верны неравенства и соотношение .
Переходим ко второй фазе алгоритма, которая начинает с конечного интервала и итеративно строит последовательность вложенных друг в друга интервалов с центрами . На каждом шаге следующий интервал определяется либо как левая, либо как правая половина интервала , в зависимости от того, справедливо ли неравенство или . Сделав шагов, мы получаем интервал длины не более , который содержит глобальный минимум функции.
Таким образом, общее количество обращений к оракулу составляет
Минимум оценки справа достигается при . Поэтому начальный шаг следует выбрать порядка расстояния до минимума.
Количество значимых знаков минимума возрастает пропорционально числу итераций. Поэтому метод бисекции имеет линейную сходимость.
Мы решаем ту же задачу, что и в предыдущем разделе, но в этом случае оракул выдаёт значение функции в заданной точке . По-прежнему мы полагаем, что глобальный минимум выпуклой функции существует. Для того чтобы ограничить область, в которой лежит минимум , знания значения функции в одной лишь точке недостаточно. Однако это возможно, если мы имеем в распоряжении значения функции в двух точках . Действительно, допустим без ограничения общности, что . Тогда не может лежать левее , и мы можем вывести ограничение .
Первая фаза метода золотого сечения аналогична первой фазе метода бисекции. Определим число золотого сечения , являющееся корнем квадратичного уравнения . Положим , и итеративно построим последовательность точек , пока после шагов не получим точку , удовлетворяющую условию . Тогда три последние точки последовательности удовлетворяют условию . Отсюда следует, что минимум лежит в конечном интервале длины . Отметим также, что вследствие выбора коэффициента имеем .
На каждом шаге длина интервала умножается на и поэтому убывает в геометрической прогрессии. Через шагов мы получаем интервал длины не более , содержащий минимум . Общее количество обращений к оракулу составляет
Метод золотого сечения также имеет линейную сходимость.
2 Метод центров тяжести
Важной отправной точкой развития методов выпуклой оптимизации в 60-е годы XX века стал предложенный в 1965 г. А.Ю. Левиным метод центров тяжести . Независимо от А. Ю. Левина, в этом же году, метод центров тяжести в США разработал Д. Ньюман .
Иными словами, объём части, отсекаемой от гиперплоскостью, проходящей через центр тяжести, составляет всегда не менее чем часть от всего объёма .
Этот факт позволяет перенести метод дихотомии (деления отрезка пополам) решения одномерной задачи минимизации выпуклой функции на отрезке (с использованием значения производной или субградиента) на многомерный случай. Если выпуклая функция задана на выпуклом множестве и в некоторой точке вычислен её субградиент , то для всех , для которых
функция минимума не достигает. По теореме Грюнбаума–Хаммера–Митягина, основанные на идее (108) методы отсекающей гиперплоскости позволяют приближаться к минимуму со скоростью геометрической прогрессии.
Рассмотрим следующую итерационную схему для метода центров тяжести (см. алгоритм 2.1, — объём множества ).
Для метода центров тяжести выполняется следующая оценка:
где .
Доказательство теоремы основано на работе . По теореме Грюнбаума–Хаммера–Митягина:
Возьмём произвольную точку минимума и построим множество , получающееся из подобным преобразованием с центром в и коэффициентом растяжения . Тогда
поэтому множество не может помещаться строго внутри , а, значит, найдётся , . Отсюда следует, что не должно принадлежать (поскольку , т.е. получается из указанным выше растяжением). Тогда, по построению (см. алгоритм 2.1), найдётся такое , , что
По определению субградиента и последнему неравенству
В силу выпуклости по неравенству Йенсена:
где , причём в силу непрерывности и ограниченности . Итак,
Итак, для того, чтобы найти решение задачи (107) при заданной точности нахождения решения с помощью метода центров тяжести, необходимо выполнить не более обращений к оракулам первого и нулевого порядков.
В теореме 2.1 утверждается, что скорость сходимости метода центров тяжести является линейной. Это означает, что оценка ошибки метода на итерации зависит от оценки ошибки метода на предыдущей итерации линейно.
Важное замечание следует сделать о вычислительной сложности метода: для отыскание центра тяжести множества превращается в чрезвычайно громоздкую задачу — в настоящее время не существует эффективной нерандомизированной Рандомизацией детерминированного метода называется модификация метода посредством искусственного введения случайности в алгоритм решения. вычислительной процедуры решения такой задачи.
Тем не менее метод центров тяжести представляет большой теоретический интерес. Во-первых, оценка скорости сходимости метода зависит только от размерности пространства и величины <<начальной неопределённости>> целевой функции , но не от других характеристик функции типа её обусловленности. Но самое важное свойство метода заключается в том, что метод центров тяжести является в определённом смысле оптимальным.
— относительная точность решения задачи по функции (доказательство см. в монографии А. С. Немировского и Д. Б. Юдина ).
Сопоставляя этот факт с полученной выше оценкой скорости сходимости метода центров тяжести (см. теорему 2.1), получаем, что скорость сходимости метода центров тяжести не может быть по порядку превзойдена ни для какого метода оптимизации, решающего задачу выпуклой оптимизации и использующего оракул первого порядка. Иными словами, метод центров тяжести является неулучшаемым (т.е. оптимальным) при конечной размерности, и попытки создать более быстро сходящиеся методы будут заведомо неудачными. Но также здесь нужно пояснить, что данный вывод относится к широкому классу <<всех выпуклых функций>>. Для более узких классов функций и/или для функций с конкретной заранее известной структурой (например, ) могут существовать и более эффективные методы.
Ещё одно важное замечание, касающееся оценки (109) и оптимальности метода центров тяжести, состоит в том, что всё это верно лишь для сходимости по функции в задачах на выпуклых компактах с оракулом, наделённым дополнительными нетривиальными возможностями.
Хотя метод центров тяжести не получил практического распространения из-за сложности задачи вычисления центра тяжести в многомерном пространстве, его основная идея применима к построению методов, имеющих большое практическое значение. Например, к методу эллипсоидов.
3 Метод эллипсоидов
Метод эллипсоидов является модификацией метода центров тяжести (МЦТ), избавленной от главного недостатка МЦТ — трудоёмкая операция отыскания центра тяжести выпуклого множества заменяется на задачу нахождения центра описанного эллипсоида. Но платой за простоту итерации метода эллипсоидов оказалось значительное увеличение необходимого числа обращений к оракулу для достижения заданной точности . Методу эллипсоидов требуется обращений к оракулу (см. ниже теорему 2.2), в то время как оптимальному методу (таким является МЦТ, см. п. 17.2) необходимо обращений к оракулу. Для больших размерностей пространства проигрыш в скорости сходимости значителен.
Эллипсоидом называется выпуклое множество следующей формы:
С геометрической точки зрения — центр эллипсоида, полуоси являются собственными векторами , а длины полуосей равны квадратным корням из соответствующих собственных значений матрицы .
Метод эллипсоидов основан на двух идеях — идее отсекающей гиперплоскости (см. стр. 17) с добавлением следующего геометрического факта: половину эллипсоида можно поместить в эллипсоид меньшего, чем объём изначального эллипсоида, объёма. Центр нового эллипсоида можно вычислить, затратив порядка операций То есть стоимость (трудоёмкость) итерации метода эллипсоидов . В эту оценку не входит расчёт субградиента, но обычно (суб-)градиент можно посчитать за (см., например, [19, § 2], поэтому можно считать, что — оценка общей сложности итерации..
Опишем алгоритм метода эллипсоидов Обратите внимание на сходство формул метода эллипсоидов с формулами квазиньютоновского метода с матрицей–аппроксимацией гессиана . И при этом для метода эллипсоидов не требуется дифференцируемость целевой функции! (см. алгоритм 2.2).
Можно даже сказать, что метод эллипсоидов является обобщением метода дихотомии на многомерные пространства (что подтверждает и оценка требуемого числа итераций для достижения заданной точности — для метода эллипсоидов она имеет линейную зависимость от , см. ниже теорему 2.2).
Доказательство теоремы основано на работах .
Даже если (c центром в точке ) будет больше, чем (с центром в точке ) по максимальной полуоси (т.е. , это возможно), объём всё равно будет меньше:
Ряд сходится при всех , поэтому последнее неравенство также справедливо при всех . Из этого следует, что
Пусть , где . Тогда для (см. (110)), и для каждой точки из отсекаемой на итерациях части эллипсоида выполняется неравенство .
Константа Липшица для на шаре из условия теоремы является также максимальной из всех норм субградиентов в . В силу того, что — константа Липшица для , для любых из шара выполняется неравенство . Не теряя общности, предположим, что , и, следовательно,
и . В силу (111)
или . Логарифмируя последнее неравенство, получаем
т.е. для того, чтобы найти с точностью , необходимо выполнить итераций (или обращений к оракулу) метода эллипсоидов. ∎
Метод эллипсоидов был впервые предложен в Москве Д. Б. Юдиным и A. C. Немировским в 1974--1976 гг. Про историю открытия метода центров тяжести, метода эллипсоидов, симплекс-метода можно прочитать в интересной статье В.М. Тихомирова ”The Evolution of Methods of Convex Optimization” . и независимо переоткрыт в Киеве Н. З. Шором в 1977 г.
Интересно, что Н.З. Шор пришёл к методу эллипсоидов из других соображений, путём модификации субградиентного метода. В методе Шора субградиентный алгоритм объединяется с процедурой растяжения пространства переменных. В первых вариантах метода растяжение пространства проводилось в направлении последнего субградиента, во втором семействе таких методов, которые получили название -алгоритмы, растяжение пространства происходит в направлении разности двух последовательных субградиентов. Тогда соответствующие антисубградиенты в растянутом пространстве с достаточным коэффициентом растяжения Коэффициент растяжения является параметром -алгоритма, он выбирается эвристически для конкретной задачи. становятся направлениями убывания целевой функции.
Имеется также связь и сходство между методом эллипсоидов и методами переменной метрики (см. [67, § 3 гл. 3]).
Существует ещё несколько методов, которые относятся к семейству методов отсекающей гиперплоскости. В 2015 г. был предложен метод, который с точностью до логарифмического по множителя работает по оценке (109) в смысле требуемого числа итераций Но с очень большим числовым множителем . с общими затратами на всех итерациях порядка . Отметим также метод вписанных эллипсоидов Л. Г. Хачияна, С. П. Тарасова, И. И. Эрлиха, предложенный в 1988 г. [79, стр. 253–259], проигрывающий методу 2015 года лишь в оценке стоимости итерации.
Нельзя не упомянуть, что на основе метода эллипсоидов Л. Г. Хачияном в 1978 г. был получен и обоснован первый полиномиальный алгоритм решения задачи линейного программирования в битовой сложности . Так изящно был решён долгое время остававшийся открытым вопрос, является ли задача ЛП NP-сложной или нет Приведём цитату из воспоминаний В. А. Гурвича о предшествовавшем созданию алгоритма Хачияна разговоре между А. С. Немировским и самим Хачияном: ¡¡В конце 1977-го (а, может, уже в 1978 году) Аркадий Немировский рассказывал об информационной сложности задач выпуклого программирования. Оценивалось число итераций метода эллипсоидов. После доклада Леонид спросил: ¡¡Что из этого следует для ЛП?¿¿ Немировский ответил кратко: ¡¡Ничего¿¿. Однако меньше чем за месяц Леонид доказал, что метод эллипсоидов решает ЛП за полиномиальное время¿¿ (цит. по [79, с. 468]). И см. там же поясняющее комментарий Аркадия Семёновича примечание С. П. Тарасова: ¡¡В рамках общей теории информационной сложности задач математического и, в частности, выпуклого программирования, которую разрабатывали Немировский и Юдин, метод эллипсоидов был важным, но рядовым результатом. Более того, применять метод эллипсоидов к задаче ЛП было вообще неинтересно, поскольку необходимая информация для её решения восстанавливается мгновенно (а именно: это центральный вопрос теории). Ровно это Немировский и имел в виду, отвечая Леониду: ¡¡Ничего¿¿. Битовая же сложность вычислений не является вполне естественной для ¡¡непрерывных¿¿ задач математического программирования и не была особенно популярна у специалистов¿¿..
В следующем параграфе приведено описание полиномиального алгоритма Леонида Хачияна.
В этом параграфе приведено описание алгоритма Леонида Хачияна, записанное по его лекциям 1996 г. в Ратгерском университете (США) Х. Эльбассиони и напечатанное в [79, стр. 453–461] Приведём цитату из воспоминаний Х. Эльбассиони о Хачияне: ¡¡Леонид владел магией изложения сложных, на первый взгляд, вещей так, что они становились простыми и естественными. Совершенно очевидно, что его собственный ¡¡мир ЛП¿¿ сильно отличался от стандартного, известного остальным¿¿ (цит. по [79, с. 454])..
Доказательство см. в , сравните также с (111).
Пусть . Предполагаем, что точное решение (112) существует. Тогда из условия 1 следует, что , т.к. .
Пусть дан эллипсоид с центром в такой, что , но . Тогда, используя операций, можно вычислить такой новый эллипсоид , что
Сначала проверим, является ли -допустимым решением (в таком случае должно выполняться неравенство для всех ).
Если — не -допустимое решение, то найдётся такой индекс , что . Тогда, если бы для какого-то выполнялось условие , то в этом случае . Следовательно, для любого должно выполняться , т.е. . Значит, в этом случае можно положить в качестве нормали отсекающей гиперплоскости из теоремы 2.3.
Пусть теперь центр — -допустимое решение.
Если , то для всех , и в этом случае мы полагаем .
Иначе, пусть . Поскольку , то, по определению . Следовательно, любой такой, что не принадлежит . Тогда для любого -приближённого решения , т.е. . И можно в качестве нормали выбрать и использовать теорему 2.3. ∎
Метод эллипсоидов стартует с и порождает последовательность эллипсоидов , , . Пока (центр эллипсоида ) не попал в , можно построить новый эллипсоид такой, что и . В частности,
откуда получается верхняя оценка числа итераций
арифметических операций Если , то можно за время найти базис и уменьшить размерность задачи. над -разрядными двоичными числами.
Вернёмся к нахождению точного решения задачи ЛП (112) с целочисленными и .
Для целочисленной матрицы обозначим
Если задача ЛП (112) с целочисленными и разрешима, то у неё есть такое оптимальное решение , что
где — так называемая бесконечная (или максимальная) норма вектора .
Таким образом, если , то гарантированно (поскольку ).
совместна по лемме 2.2, так как её можно записать в виде системы линейных неравенств
Тогда для получаем
т.е. удовлетворяет ограничениям множества для всех .
Теперь можно получить новую точку, в которой множество -допустимых ограничений будет строго больше, чем . Для этого выберем так:
Пусть — индекс, на котором минимум достигается. Тогда
Такой же алгоритм восстановления можно применить и к задаче ЛП. Для этого вместо -допустимого решения нужно искать -приближённое решение.
При и методу эллипсоидов требуется выполнить порядка операций.
Пусть — битовая длина входа задачи ЛП (112), и пусть
Тогда , так как . Кроме того, , . Таким образом, для решения задачи ЛП методу эллипсоидов требуется операций. Причём для вычислений достаточно точности двоичных разрядов.
Субградиентные методы для задач выпуклой оптимизации
Если допустить (базируясь на условии (116), которое мы впоследствии проверим), что при всяком верно , то из (115) следует
Выберем теперь (если не единственно, то выбирается ближайшее решение к точке старта . Имеем:
Если выбрать шаг субградиентного метода и точку выхода алгоритма следующим образом (здесь ):
Заметим, что точная нижняя оценка на классе задач выпуклой оптимизации с условием (116) для методов первого порядка вида
где для всех верно , имеет вид :
Неравенство (119) означает, что при выборе
будет достигаться оценка , которая оптимальна с точностью до умножения на константу. Далее ввиду (115) при выборе в (суб)градиентном методе переменной величины шага
оценка (119) сохранится для точки выхода вида
Если же в (120) выбрать шаги по аналогии с (118):
то будет верна следующая оценка, похожая на (119):
Заметим, что при этом для всякого верны неравенства
Поэтому при любом
Это означает, что в случае предлагаемых способов подбора шагов и в силу (116) можно считать для произвольного . То есть предположение, которые было сделано в самом начале раздела, подтвердилось.
Возможно пояснение изложенного подхода с точки зрения теории размерностей физических величин (подробнее см. , гл. I). Напомним сначала -теорему теории размерностей (, параграф 3.1) на простом примере колебания маятника.
Пусть к потолку на нити длиной [м] подвешен груз массой [кг]. Груз находится в поле силы тяжести [м/с2]. Нужно определить период колебания груза [с], считая, что он может зависеть только от перечисленных выше величин. Идея решения физических задач из соображений теории размерностей заключается в том, чтобы составить независимые (функционально не выражающиеся через друг друга) дробно рациональные выражения (вида произведения доступных переменных, возведенных в, вообще говоря, различные рациональные, в том числе и отрицательные, степени), которые были бы безразмерными. Утверждение -теоремы заключается в том, что существует такая функция, число аргументов которой равно числу независимых безразмерных комбинаций, которая тождественно равна константе при подстановке в качестве ее аргументов отмеченных безразмерных комбинаций параметров (переменных). В случае примера с маятником существует всего одна такая безразмерная комбинация . Отметим, что информация о оказалась ненужной. Из -теоремы следует, что существует такая функция , что , то есть . При этом такая константа универсальна (одинакова) для всех маятников. То есть можно один раз провести эксперимент (в кораблестроении такие эксперименты называют <<экспериментами в ванной>> ), определив эту константу (в нашем случае это будет ), и получить, таким образом, готовую формулу для периода колебания математического маятника, практически не привлекая никакие физические соображения, кроме того, что в самом начале бы (с запасом) обрисовали набор переменных (параметров) задачи, от которых период колебания может зависеть.
Можно ввести размерности и в численные методы оптимизации (и, на самом деле, часто бывает весьма полезно это делать для контроля правильности получаемых формул). А именно, предположим, что целевая функция измеряется в рублях [руб]. То есть [руб], а аргумент функции рассчитывается в килограммах [кг], т.е. [кг]. Тогда [кг], [руб/кг], количество итераций — безразмерная величина. Шаг субградиентного метода [кг2/руб] — это следует из (115).
Считая, что может зависеть только от , , , из -теоремы сразу можно заключить, что существуют такие числа const и , что . Это, конечно, не готовый ответ, но хорошо согласуется с полученным выше результатом .
Аналогично можно поступить и с зависимостью шага метода от параметров задачи , , . Возможные варианты и . Собственно, выше у нас уже получалось, что и . Первая формула получается из второй после подстановки .
Похожие методы можно применять и к задачам с функциональными ограничениями вида
Точнее говоря, к задачам типа (121) возможно применять субградиентные схемы с переключениями по продуктивным и непродуктивным шагам следующего вида.
Обозначим множество продуктивных шагов (для которых ) через , а множество других (непродуктивных) шагов через . Предположим, что целевой функционал удовлетворяет условию Липшица с константой на множестве , а функционал ограничения удовлетворяет условию Липшица с константой на этом же множестве. При этом на продуктивных шагах будем выбирать субградиенты целевого функционала такие, что , а на непродуктивных — субградиенты функционала ограничения такие, что .
шагов указанного выше алгоритма 2.4 гарантированно и будут верны неравенства
где .
Рассмотрим отдельно необходимые неравенства для продуктивных и непродуктивных шагов.
1) Если -й шаг алгоритма продуктивен (), то и верны неравенства
Первое неравенство следует из выпуклости , второе получается из свойств оператора проектирования:
2) Если -й шаг алгоритма не продуктивен (), то . Поэтому и . Это означает, что верны неравенства
3) После суммирования неравенств (122) и (123) имеем
итераций алгоритма 2.4 будет заведомо верно неравенство
откуда для выхода алгоритма 2.4 имеем
При этом для всякого верно неравенство и поэтому ввиду выпуклости имеем
Остаётся лишь показать, что множество продуктивных шагов не пусто. Если , то и это означает, что . С другой стороны, из (123) имеем
Таким образом, получили противоречие и . Теорема доказана. ∎
Весьма важна прямо-двойственность рассматриваемого алгоритма 2.4 для задач выпуклого программирования вида (121) на компактном допустимом множестве . Опишем соответствующий теоретический результат. Для этого уточним задание функционала ограничения . Рассмотрим следующую двойственную задачу к (121).
Всегда имеет место следующее неравенство (слабая двойственность, см. п. 9.5):
Обозначим решение задачи (124) через . Сделаем предположение о том, что для задачи (121) выполняются условия Слейтера (см. п. 9.5), т.е. существует такой , что . Тогда
В этом случае <<качество>> приближённого решения (пары ) вполне естественно оценивать величиной зазора двойственности . Чем этот зазор двойственности меньше, тем лучше качество достигнутого приближения искомого решения (связи решения прямой и двойственной задач). Будет полезным также такое обозначение, уточняющее выбор рассматриваемого субградиента функционала :
т.е. для непродуктивной итерации () под мы понимаем индекс функционала ограничения, для которого достигается максимум . Теперь уточним правило построения искомых приближений двойственных множителей по работе алгоритма 2.4. Положим
По-прежнему на итерациях алгоритма 2.4 мы используем такие субградиенты и , для которых
Это возможно в силу сделанных выше предположений о липшицевости функционалов и .
Пусть — компакт, причём для некоторого верно для всех . Тогда после
итераций алгоритма 2.4 заведомо верны следующие неравенства
В доказательстве предыдущей теоремы, по сути, получены следующие неравенства:
откуда и следует доказываемое утверждение. ∎
Можно обобщить приведённые выше результаты на случай, когда выбирается не евклидова норма . Как это делается и зачем это нужно, обсуждается также далее в более общем контексте в разделе 25.
В заключении этого раздела отметим, что описанные в нём субградиентные методы при правильном выборе шага оптимальны с точки зрения нижних оценок на число вызовов оракула , (вычислений субградиента, для класса задач выпуклой оптимизации с ограниченной константой Липшица целевого функционала (функционального ограничения). Для класса задач с функционалом, имеющим липшицев градиент, ни при каком выборе шага в классе методов градиентного спуска вида (115) не удаётся найти оптимальный метод. Построению оптимальных методов в этом случае посвящены следующие разделы 19, 22 и 25.5.
Методы типа градиентного спуска
Метод градиентного спуска, безусловно, является <<краеугольным камнем>> численных методов оптимизации. С некоторой натяжкой можно даже сказать, что этот метод порождает все остальные методы .
В данном пособии мы изложим градиентный спуск, следуя . А именно, сначала мы рассмотрим задачи квадратичной оптимизации, для которых градиентный спуск и его производные можно достаточно просто изучать. Уже на примере квадратичных задач будет подмечено, что градиентный спуск не является наилучшим возможным (оптимальным) методом для этого класса задач в классе градиентных методов (методов первого порядка). Будет приведён оптимальный метод Чебышёва. От этого метода, оптимального для квадратичных задач, мы перейдём к построению его аналогов (оптимальных / ускоренных градиентных методов) для решения (-сильно) выпуклых гладких (у целевой функции есть -липшицев градиент) задач оптимизации.
Итак, начнём с рассмотрения задачи квадратичной оптимизации
Решение этой задачи эквивалентно решению системы линейных уравнений . Будем предполагать, что , где – единичная матрица (с единицами на диагонали и нулями вне диагонали). Другими словами, спектр симметричной матрицы лежит в отрезке . Не ограничивая общности можно считать, что , . Константа – есть константа сильной выпуклости , а константа – константа Липшица градиента .
В качестве численного метода решения данной задачи возьмём однопараметрическое семейство (с параметром – размер шага) методов градиентного спуска:
Обозначая через решение задачи (125) (), можно переписать (126) следующим образом:
Из (127) следует, что для получения оценки скорости сходимости во всём классе квадратичных функций (с константой сильной выпуклости и константой Липшица градиента ) надо оценить
Первое неравенство следует из того, что 2-норма симметричной матрицы (, где, напомним, что ) равняется её максимальному (по модулю) собственному значению. Максимум в выражении достигается при
Недостатком выбора шага является необходимость знать . Если выбирать шаг по-другому:
Так будет сходиться метод градиентного спуска:
в случае, если квадратичная задача (125) будет -сильно выпуклая и иметь -липшицев градиент.
В связи с полученным результатом возникает много вопросов.
Ответ. Нет, для метода (131) на рассматриваемом классе задач оценку в общем случае (без дополнительных предположений) принципиально улучшить нельзя. Можно улучшить до оценки (129) за счёт лучшего выбора шага, но не более.
(вырожденный случай) Можно ли улучшить оценку (130) если достаточно мало (в частности, )?
Ответ. Да, если поменять критерий сходимости. В этом случае уже нельзя рассчитывать на сходимость по аргументу (130). Однако можно рассчитывать на сходимость по функции. Действительно, рассуждая аналогично, из (128) можно получить для любого (разумно выбирать , см. ниже):
Можно ли улучшить оценку (130), если выйти из класса методов вида (126), перейдя к более общему классу методов вида
где – линейное пространство, натянутое на векторы ?
Ответ. Да, метод Чебышёва будет давать оптимальные оценки Что можно понимать следующим образом. Какой бы другой метод из рассматриваемого класса методов мы не взяли, существует такая квадратичная функция (-сильно выпуклая с константой Липшица градиента ), на которой рассматриваемый метод будет сходиться хуже (не лучше), чем сходится метод Чебышёва на любой функции из рассматриваемого класса функций (-сильно выпуклых с константой Липшица градиента ). В описанной ситуации говорят также о минимаксной оптимальности метода. Метод оптимален на рассматриваемом классе целевых функций и алгоритмов, если для наиболее плохой (для себя) функции из рассматриваемого класса он сходится не хуже, чем все остальные методы сходятся на своих самых плохих функциях. В основном в пособии мы стараемся строить именно такие методы – минимаксно оптимальные. Говоря более строго, минимаксно оптимальные с точностью до числового множителя. Ввиду сложности подбора минимаксно оптимального метода на практике бывает достаточно найти метод, который в худшем случае проигрывает не более нескольких раз (например, 2–4 раза) в скорости сходимости минимаксно оптимальному методу (на его худшем случае). Отметим, что хотя минимаксная оптимальность метода совсем не означает, что метод хорошо работает на практике, как правило, всё же такой метод, и правда, будет хорошо работать на практике. Именно это небольшое замечание является одним из основных аргументов в современной прикладной оптимизации в пользу поиска практически эффективных методов среди минимаксно оптимальных методов или близких к ним методов., которые в общем случае (без дополнительных предположений) не могут быть улучшены (ограничимся случаем, когда не мало – см. выше):
Метод Чебышёва сходится следующим образом:
Внимательный читатель, знакомый с основами численных методов оптимизации, в этом месте по идее должен был поставить под сомнение написанное выше об оптимальности метода Чебышёва. Ведь есть метод сопряжённых градиентов, имеющий следующий вид (глава 3, § 2, п. 2):
который также является оптимальным методом решения задачи выпуклой (не обязательно сильно выпуклой, т.е. допускается ) квадратичной оптимизации. Метод сходится следующим образом:
где . Однако никакого противоречия тут нет. Метод Чебышёва строится на основе многочленов Чебышёва так же, как и метод сопряжённых градиентов. В некотором смысле можно просто говорить о разных формах записи идейно одного и того же подхода. Форма записи в виде сопряжённых градиентов обладает очевидными преимуществами – отсутствием необходимости знать параметры , и равномерностью по (не требуется оговорок о том, что не мал, см. выше). В таких случаях говорят о полностью адаптивных методах. С другой стороны, метод Чебышёва имеет максимально приближённый вид к градиентному спуску, поскольку содержит только градиент и коэффициенты (шаг и коэффициент при <<моментном члене>> ), не зависящие от вычисленных градиентов и генерируемых методом точек, в отличие от метода сопряжённых градиентов, в котором шаг и коэффициент при моментном члене, очевидным образом, зависят и от градиентов и от генерируемых точек. На первый взгляд, это не является недостатком (в вычислительном плане это всё практически одинаково трудозатратно). Однако на базе методов типа Чебышёва оказалось намного проще строить простые аналоги (методы без вспомогательных маломерных оптимизаций) описываемых здесь оптимальных методов для более общего класса задач гладкой (сильно) выпуклой оптимизации. О чём пойдёт речь далее.
Собственно, заключительный вопрос, к которому мы естественным образом подошли в повествовании, может быть сформулирован таким образом: Какие методы, в классе методов вида
будут оптимальными для задач выпуклой оптимизации с -липшицевым градиентом и для задач -сильно выпуклой оптимизации с -липшицевым градиентом?
Ответу на этот вопрос посвящена оставшаяся часть данного раздела.
Мы не будем приводить в данном разделе технику получения оптимальных методов для (сильно) выпуклых задач, отметим лишь, что эта техника существенным образом использует полуопределённое программирование . Немного подробнее мы поговорим об этом в следующем разделе на примере получения точной оценки скорости сходимости градиентного спуска на классе задач гладкой выпуклой оптимизации.
В данном разделе мы лишь приведём соответствующие оптимальные методы и оценки их скорости сходимости.
Но начнём мы не с оптимальных методов, а с важного (не только в историческом плане, но и в практическом) вырожденного случая метода Чебышёва. Речь идет о методе тяжёлого шарика Б. Т. Поляка :
Этот метод получается в асимптотике из метода Чебышёва, поскольку
Метод тяжёлого шарика (также часто можно встретить названия метод Поляка, импульсный метод) был первым методом (1964 г.), который для невырожденных задач гладкой выпуклой оптимизации локально (в окрестности минимума) сходился как оптимальные методы сходятся (глобально) для квадратичных задач. Вопрос о построении методов, сходящихся глобально подобно методу тяжёлого шарика, был закрыт лишь спустя 15 лет А. С. Немировским в классе градиентных методов, допускающих вспомогательную маломерную оптимизацию. Избавиться от маломерной оптимизации (для квадратичных задач см. выше связь метода сопряжённых градиентов к методу Чебышёва) удалось спустя ещё несколько лет (в 1983 году). В статье из журнала <<Доклады академии наук СССР>> (статью представлял в доклады акад. Л. В. Канторович) Ю. Е. Нестеров сумел предложить такую вариацию метода тяжёлого шарика, которая уже глобально сходилась подобно тому, как метод тяжёлого шарика сходился локально. Далее будут приведены современные варианты методов, предложенных Ю. Е. Нестеровым. Их отличие от исходных ускоренных (также говорят быстрых, моментных) методов Ю. Е. Нестерова заключается в том, что они доказуемо оптимальные (без оговорок типа <<с точностью до числового множителя>>).
В алгоритме 2.5 описывается оптимальный метод Тейлора–Дрори для класса -сильно выпуклых задач с -липшицевым градиентом.
Ускоренный метод Тейлора–Дрори сходится следующим образом ( – решение задачи):
При этом теми же авторами была установлена и нижняя оценка при ( – размерность пространства) :
которая справедлива для любого метода вида
на классе задач -сильно выпуклой оптимизации с -липшицевым градиентом.
В алгоритме 2.6 описывается оптимальный метод Кима–Фесслера для класса выпуклых задач с -липшицевым градиентом .
Ускоренный метод Кима–Фесслера сходится следующим образом ( – решение задачи):
При этом Ю. Дрори была установлена и нижняя оценка при ( – размерность пространства):
которая справедлива для любого метода вида
на классе задач выпуклой оптимизации с -липшицевым градиентом.
Оценка скорости сходимости градиентного спуска для задач гладкой выпуклой оптимизации
Итеративные методы оптимизации порядка работают с локальной информацией о минимизируемой функции, т.е. следующая точка , которую выдаёт метод, вычисляется на основе значений самой функции и её производных до порядка в предыдущих точках . Таким образом, каждая новая точка зависит только от конечного числа переменных. На двух функциях метод будет выдавать одинаковую последовательность итераций, пока значения функций и их производных до порядка будут совпадать в точках .
В некоторых случаях это обстоятельство позволяет установить точную грань для скорости сходимости метода на некотором классе функций, путём редукции этой проблемы к конечномерной задаче оптимизации. В этом разделе мы рассмотрим конкретный пример, а именно: анализ градиентного спуска с постоянным шагом на классе сильно выпуклых функций с липшицевым градиентом. В работе эта проблема была сведена к полуопределённой программе.
где — фиксированная константа. Предположим, что начальная точка находится в шаре радиуса с центром в оптимуме, т.е. (здесь, как и в предыдущем разделе, норма евклидова). Мы хотим найти точную верхнюю грань расстояния до оптимума после итераций, т.е. решить бесконечномерную невыпуклую проблему оптимизации:
где точки задаются по формуле (133). Отметим, что в их определении участвует только конечное количество величин С похожей ситуацией мы столкнёмся в п. 28.4, где рассмотрим моментные релаксации для полиномиальных задач оптимизации. В этом контексте неотрицательная мера входит в формулировку задачи только посредством конечного количества своих линейных проекций — моментов. Отметим, что в нашей ситуации мы не имеем дело с линейными проекциями переменных задачи. Дело в том, что хотя условия (20) линейны по слагаемым, выражение линейно только по но не по ., а именно, . Поэтому задачу можно переписать в виде
Ключевое наблюдение, ведущее к основному результату работы , заключается в том, что условие на бесконечномерный объект можно выразить квадратичными условиями на конечное число скаляров и векторов . Начнём с граничного класса выпуклых функций, для которого характеризация вполне очевидна.
Существует функция такая, что , для всех .
Имеют место неравенства для всех .
Необходимость неравенств очевидна вследствие выпуклости функции .
Достаточность доказывается построением конкретной выпуклой функции из данных скаляров и векторов , а именно максимума линейных функций:
Построение условий для более сложных классов функций сводится к вышеописанному простому случаю. А именно:
Существует функция такая, что , для всех .
для всех .
Таким образом, проблему можно переписать в виде
при условиях (• ‣ 2.7) для всех .
В случае, когда размерность пространства не меньше размера грамиана , условие на ранг тривиально выполнено, и релаксация точна. В частности, точность имеет место, когда мы изначально не фиксируем размерность пространства, а изучаем скорость сходимости метода на задачах произвольной размерности.
Решая получившуюся полуопределённую программу для разных значений , мы можем численно определить оптимальную длину шага для фиксированного числа итераций . Легко видеть, что все приведённые выше рассуждения остаются в силе, если длина шага зависит от номера итерации, т.е. метод вычисляет следующую точку по формуле
с различными константами .
Схожие рассуждения можно провести и для других итеративных методов и критериев сходимости, например, сходимости по значению функции, когда максимизируется выражение , или по норме градиента . Заметим, что скорость сходимости градиентного спуска на классе функций была рассмотрена в работе , в которой представленный в этом разделе метод анализа был опубликован впервые.
где либо , либо , в зависимости от того, при каком значении достигается максимум разницы . Это приводит к следующей оценке скорости сходимости:
Таким образом, оптимальная длина шага , которая минимизирует максимум на правой стороне неравенства, является некоторой функцией от числа итераций . Нетрудно проверить, что максимум минимизируется при значении , при котором оба выражения в фигурных скобках равны. При оптимальная длина шага стремится к . А именно, с точностью до более высоких по членов мы имеем
где . Используя оптимальный шаг вместо стандартного суб-оптимального , получаем скорость сходимости
вместо , что даёт выигрыш в множитель .
Метод условного градиента, или алгоритм Франк–Вульфа
В основе метода лежит та же идея линеаризации целевой функции, что и в основе градиентного метода: в очередной точке линеаризуем функцию , затем решаем задачу минимизации линейной аппроксимации на , после этого найденную точку используем для выбора направления движения (см. алгоритм 2.7).
Впервые метод условного градиента был представлен в 1956 г. в работе . В последние годы продолжается активное развитие этого направления и появляются новые современные модификации метода Франк–Вульфа и его обобщения на другие классы задач (см., например, ).
У итерации метода условного градиента, который применяется для решения (135), есть три замечательных свойства, которые позволяют эффективно применять его в важных приложениях (см., например, п. 32.1): 1) отсутствие необходимости делать настоящую проекцию; 2) независимость от типа нормы; 3) возможность использования разреженности.
Отметим, что на каждом шаге величина является нижней границей для оптимального значения задачи (135), поскольку линейная аппроксимация является нижней границей для . Таким образом, разница ограничивает зазор двойственности.
Отметим также, что метод аффинно инвариантен, т.е. после аффинной замены координат метод генерирует ту же самую последовательность точек, если только начать с той же точки .
Пусть — выпуклая функция, градиент которой на удовлетворяет условию Липшица с константой по отношению к некоторой норме для всех , выполняется
, для . Тогда для любого выполняется
(см. ) Из условия Липшица на градиент и выпуклости имеем оценку
для всех . Получаем цепочку неравенств:
Введём обозначение . Тогда неравенство перепишется в виде
Начиная с неравенства , применением индукции по получаем желаемый результат. ∎
Ускоренный Мета-алгоритм
В последние 15 лет в численных методах гладкой выпуклой оптимизации преобладают так называемые ускоренные методы. Прообразом таких методов является метод тяжёлого шарика Б.Т. Поляка и моментный метод Ю. Е. Нестерова . Оказалось, что для многих задач гладкой выпуклой оптимизации оптимальные методы (с точки зрения числа вычислений градиента функции; в общем случае, старших производных) могут быть найдены среди ускоренных методов . Появилось огромное число работ, в которых предлагаются различные варианты ускоренных методов для разных классов задач, см., например, обзор литературы в . Каждый раз процедура ускорения принимала свою причудливую форму. Естественно, возникло желание как-то унифицировать всё это. В 2015 году это было сделано для широкого класса (рандомизированных) градиентных методов с помощью проксимальной ускоренной оболочки, названной Каталист . С 2013 года данные результаты стали активно переноситься на тензорные методы (использующие старшие производные) . В самое последнее время предпринимаются попытки унификации процедур ускорения для седловых задач и задач со структурой (композитных задач) . Во всех этих направлениях по-прежнему использовалось значительное разнообразие ускоренных проксимальных оболочек . Метод из данного раздела взят из работы и будет во многом базироваться на схеме из .
В данном разделе показывается, что достаточно изучить всего одну ускоренную проксимальную оболочку, которая позволяет получать все известные нам ускоренные методы для задач гладкой выпуклой безусловной оптимизации. Причём в ряде случаев предложенный Ускоренный Мета-алгоритм позволяет убирать логарифмические зазоры в оценках сложности (по сравнению с нижними оценками), имевшие место в предыдущих подходах.
Рассмотрим следующую задачу ( – решение задачи):
где и — выпуклые функции.
Введём аппроксимацию рядом Тейлора функции :
Заметим, что при (методов первого порядка, т.е. градиентных методов) условие
Пусть – выход Алгоритма 2.8 УМ(,,,,,) после итераций при и . Тогда
где , .
Более того, при для достижения точности :
на каждой итерации УМ вспомогательную задачу (141) придётся решать (процедурой типа бинарного поиска) для подбора пары не более чем раз.
Такая модификация приведёт лишь к появлению множителя в правой части (142).
Также заметим, что приведённый Алгоритм 2.8 и Теорему 2.9, описывающую его сходимость, можно распространить на задачи условной оптимизации на (выпуклых) множествах простой структуры ():
В этом случае следует заменить формулу (141) на
Отмеченные задачи можно решать неточно, подобно (143) (см. также ). Однако в этом случае (а также в случае, когда — негладкая) выполнить условие подобное (143) может быть совсем не просто. В этом случае существуют более удобные критерии точности решения вспомогательной задачи, см., например, раздел 25.
Будем говорить, что функция является -равномерно выпуклой () с константой , если
Более того, для приведённые здесь выкладки можно уточнить, подчеркнув тем самым, что сложность решения вспомогательной задачи может даже не зависеть от . Оказывается (см. ), что условие
где – точное решение задачи (141), а – константа Липшица градиента , в теоретическом плане гарантирует то же, что и условие (143) при . А именно теорема 2.9 останется верной с добавлением в правую часть (142) множителя .
Отметим, что оценка скорости сходимости (142) с точностью до числового множителя не может быть улучшена для класса выпуклых задач (137) с липшицевой -й производной и для широкого класса тензорных методов порядка , описанном в . При дополнительном предположении равномерной выпуклости оптимальный метод можно построить на базе УМ с помощью процедуры рестартов – см. Алгоритм 2.9.
Пусть – выход алгоритма 2.9 после итераций. Тогда если , , то общее число вычислений (141) для достижения
Всё, что было сказано после теоремы 2.9, можно отметить и в данном случае.
Приложения Ускоренного Мета-алгоритма
В данном разделе будут продемонстрированы некоторые приложения Ускоренного Мета-алгоритма.
Если не думать о сложности решения подзадачи (141), например, считать, что какая-то простая функция и (141) решается по явным формулам (как, например, для задачи LASSO), то УМ описывает класс ускоренных методов (1, 2, 3, … порядка) композитной оптимизации . При этом функция не обязана быть гладкой. В общем случае в строчке 5 Алгоритма 2.8 под следует понимать такой субградиент функции в точке , с которым субградиент правой части (141) равен (близок) к нулю (немного переписав метод, от последнего ограничения можно отказаться). Как уже отмечалось, при необходимость в поиске параметра исчезает, что делает метод заметно проще.
2 Ускоренные проксимальные методы. Каталист
Если считать , a , , то получится ускоренный проксимальный метод. Отличительная особенность такого метода (см. также ) от других известных ускоренных проксимальных методов заключается в том, что не требуется очень точно решать вспомогательную задачу. Критерий (147) и сильная (2-равномерная) выпуклость вспомогательной подзадачи (141) указывают на то, что сложность решения (147) может не зависеть от желаемой точности решения исходной задачи . Таким образом, не теряется логарифмический множитель при использовании такой проксимальной оболочки для ускорения различных неускоренных процедур. Собственно, последнее направление получило название Каталист . До настоящего момента идея (Каталист) использования ускоренной проксимальной оболочки для <<обёртывания>> неускоренных методов, решающих вспомогательную задачу (141) на каждой итерации (при должном выборе параметра ), являлась наиболее общей идеей разработки ускоренных методов для разных задач. Мы получаем Каталист просто как частный случай УМ. Примеры использования Каталист будут приведены в п. 23.4.
3 Разделение оракульных сложностей
Вызов оракула подразумевает вычисление (старших) производных до порядка включительно. Таким образом, число вызовов оракула для каждой из функций , является квазиоптимальным, т.е. оптимальным с точностью до логарифмического (от желаемой точности по функции) множителя. Аналогичные оценки можно получить и в -равномерно () выпуклом случае, см. п. 23.4.
Заметим, что при внутреннюю задачу (141) не обязательно решать Рестартованным УМ. Можно использовать (ускоренные) покомпонентные и безградиентные методы, методы редукции дисперсии . Причём ускорение можно получить из базовых неускоренных вариантов этих методов с помощью УМ (см. п. 23.2). По сравнению с оболочкой, использованной в , УМ даёт оценку сложности на логарифмический множитель лучше. Это следует из теоретического анализа и было подтверждено в экспериментах .
4 Ускоренные методы для седловых задач
Следуя, например , рассмотрим выпукло-вогнутую седловую задачу:
За счёт использования УМ приведённая выше схема улучшает похожую схему рассуждений из на логарифмический (по желаемой точности решения задачи) множитель и обобщает её на случай отличных от тождественного нуля функций и , см. также . Заметим также, что приведённая выше схема для седловых задач имеет обобщения и на невыпукло- (сильно) вогнутые седловые задачи .
Отметим, что приведённый в этом разделе результат означает, что оптимальные градиентные методы для гладких выпукло-вогнутых седловых задач можно строить на базе оптимальных (ускоренных) градиентных методов для гладких задач выпуклой оптимизации. До недавнего времени в возможность такого построения было трудно поверить. Ещё более удивительным является (также недавно обнаруженная) возможность обратного перехода : на базе оптимального градиентного метода (Mirror Prox) для гладких выпукло-вогнутых седловых задач построить оптимальный (ускоренный) градиентный метод для задач гладкой выпуклой оптимизации.
Приведённая здесь схема рассуждений наглядно демонстрирует, как из одной универсальной схемы ускорения удаётся получить (<<собрать как в конструкторе>>) оптимальный метод с точностью до логарифмического по желаемой точности множителя (при и – только при этих условиях известны нижние оценки ).
Методы внутренней точки
В этом разделе мы рассмотрим класс эффективных методов, которые применяются для решения конических задач (см. п. 14). Методы внутренней точки отличаются тем, что генерируют последовательность итераций во внутренности выпуклого конуса, лежащего в основе задачи. Это отличает их, например, от симплекс-метода и его аналогов, генерирующих последовательность экстремальных точек допустимого множества.
Применимость метода внутренней точки к данной конической задаче определяется наличием эффективно вычислимого т.н. самосогласованного барьера для соответствующего конуса. С помощью такого барьера задачу можно решить методом короткого шага, имеющего полиномиальную сложность. В некоторых случаях, в частности, если конус симметричный, барьер обладает дополнительной структурой. Это позволяет существенно ускорить метод на практике, переходя к длинному шагу. Стоит отметить, что в теории сложность многих методов с длинным шагом выше сложности методов с коротким шагом, что указывает либо на изъяны в самой теории, либо на существование не встречающихся на практике патологических ситуаций, в которых методы с длинным шагом дают сбой.
Методы внутренней точки можно также разделить на прямые и прямо-двойственные, в зависимости от того, генерируются ли точки только в прямом конусе или парами в прямом и двойственном. Если в большинстве методов все итерации удовлетворяют линейным ограничениям задачи, то в классе недопустимых (infeasible) методов соответствующие невязки ненулевые и стремятся к нулю экспоненциально в ходе прогресса метода. Это избавляет пользователя от необходимости находить начальную точку для основной фазы метода.
Ниже мы рассмотрим базовый механизм методов внутренней точки, начиная с определения самосогласованных функций, и опишем особенности вышеперечисленных вариантов метода.
Самосогласованные функции были введены Ю. Е. Нестеровым и А. С. Немировским при изучении поведения метода Ньютона. Связывающим звеном здесь является аффинная инвариантность. Последовательность итераций метода Ньютона на данной функции переходит в себя при аффинном преобразовании координат, т.е. метод обладает аффинной инвариантностью. Поэтому естественно изучать поведение метода на классе функций, также являющимся аффинно инвариантным. Самосогласованные функции естественным образом возникают как аффинно инвариантный аналог функций с липшицевым гессианом.
В этом разделе мы рассмотрим поведение метода Ньютона на классе самосогласованных функций. Материал почерпнут из книги Ю. Е. Нестерова и А. С. Немировского .
В точке строго выпуклый полином Тейлора функции второго порядка вокруг точки достигает минимума,
При анализе шага Ньютона естественно использовать евклидову норму , задаваемую гессианом на касательном пространстве в точке . В этой локальной норме подмножества уровня квадратичной аппроксимации являются шарами с центром в точке минимума . Длина шага в этой норме равна
Это выражение называется ньютоновским декрементом. Оно также задаёт длину градиента в локальной норме.
Очевидно, без дополнительных условий на функцию невозможно сделать какие-либо утверждения о поведении этой функции в окрестности новой точки , в частности, насколько уменьшилось или уменьшилось ли вообще значение функции в новой точке по сравнению с предыдущей. Для этого необходимо, чтобы аппроксимация функции , построенная в точке , не слишком сильно отличалась от в окрестности новой точки . Другими словами, локальные нормы не должны слишком сильно отличаться друг от друга. Это требование соответствует некоему условию типа Липшица на гессиан . С другой стороны, аффинная инвариантность предполагает, что сравнивать изменение гессиана в окрестности данной точки можно только с длиной вариации, измеренной в локальной норме . Это приводит нас к следующему определению.
для всех и всех касательных векторов .
Функция называется сильно самосогласованной, если дополнительно выполняется условие
Напомним, что производные функции интерпретируются как мульти-линейные формы на касательном пространстве , т.е.
где – размерность пространства. Показатель на правой стороне неравенства необходим для того, чтобы неравенство было однородным по .
Самосогласованные функции обладают следующими свойствами. Пусть — (сильно) самосогласованная функция на области .
Если — аффинное подпространство, то ограничение на пересечение является (сильно) самосогласованным на этом пересечении.
Если — линейная функция на , то является (сильно) самосогласованной.
Для всех произведение является (сильно) самосогласованным.
Вообще говоря, условия определения 2.3 можно несколько ослабить. Достаточно потребовать, чтобы функция была класса с положительно определённым гессианом, такая что , открытый эллипсоид Дикина радиуса 1 вокруг произвольной точки является подмножеством , и что для всех , удовлетворяющих , и любого ненулевого вектора выполнялось неравенство
Более подробно разные определения самосогласованности и отношения между ними разобраны в [280, п. 2.5].
Следующие результаты гарантируют, что метод Ньютона в применении к сильно самосогласованной функции может безопасно делать шаги конечной длины, где <<безопасно>> означает, что все итерации являются элементами и значения декремента на последовательности итераций монотонно убывают.
Из этого следует, что шаг Ньютона не выводит из области , если градиент в текущей точке имеет локальную норму, не превышающую единицу. Более того, в этом случае ньютоновский декремент в точке можно ограничить функцией от декремента в точке :
Следует отметить, что оценка (152) не оптимальна, и численные значения в (153), которые будут использоваться ниже, можно существенно увеличить.
Оценку можно также улучшить, если делать не полный, а укороченный шаг Ньютона, задающийся формулой
Здесь — коэффициент затухания (damping coefficient). Имеем следующую оценку [255, Теорема 5.2.2.3].
Пусть — сильно самосогласованная функция на . Если , то после укороченного шага Ньютона с коэффициентом имеем
Дадим геометрическую интерпретацию метода Ньютона. Точка минимума функции характеризуется условием оптимальности первого порядка . Это позволяет нам игнорировать значения и ограничиться поиском корня этого векторного уравнения.
Пусть — векторное пространство, лежащее в основе аффинного пространства . Тогда градиент является элементом двойственного векторного пространства . Граф градиентного отображения тогда является -мерным подмногообразием -мерного произведения . Точка минимума соответствует паре , которая одновременно является пересечением многообразия с горизонтальным подпространством .
Тогда итерация метода Ньютона может быть интерпретирована следующим образом. Напомним, что в текущей точке мы строим квадратичную аппроксимацию функции . Граф градиентного отображения также является -мерным подмногообразием. Более того, градиент линейный, и поэтому является даже аффинным подпространством произведения . Так как градиент и гессиан в точке совпадают с градиентом и гессианом , соответственно, это подпространство не что иное, как касательная плоскость к в точке . Следующая точка определяется пересечением подпространств и (см. рис. 18).
2 Прямой метод внутренней точки с коротким шагом
В этом разделе мы рассмотрим принцип методов внутренней точки на примере самой простой их версии, прямом методе следования центральному пути с коротким шагом.
Наша цель — решить выпуклую задачу оптимизации
существование решения которой мы предполагаем. Вместо исходной задачи мы рассмотрим семейство задач
параметризованное вещественным параметром . В этих вспомогательных задачах нелинейное условие отсутствует, но зато мы вместо линейной функции цены минимизируем сильно самосогласованные функции. В предыдущем разделе мы увидели, что для этого можно использовать метод Ньютона.
Для достаточно больших точки минимума вспомогательной задачи существуют и единственны. Более того, они являются дифференцируемыми по параметру и образуют кривую, называемую центральным путём. При центральный путь стремится к решению исходной задачи. Если у исходной задачи решение не единственно, то пределом центрального пути будет служить точка в относительной внутренности множества решений.
Опишем схему прямого метода следования центральному пути. Для краткости обозначим композитную функцию цены во вспомогательной задаче (154) через , а ньютоновский декремент этой функции — через . Метод генерирует последовательность точек в окрестности центрального пути, которая одновременно перемещается вдоль этого пути (следует ему). При этом все итерации удовлетворяют линейным ограничениям задачи. Окрестность определена таким образом, что для каждой итерации существует значение такое, что декремент функции в точке удовлетворяет условию . Таким образом, центральный путь имеет непустое пересечение с эллипсоидом Дикина радиуса вокруг текущей итерации.
Следующая точка получается из текущей посредством шага Ньютона по направлению к некоторой точке на центральном пути. Другими словами, мы делаем один шаг Ньютона для минимизации вспомогательной функции . Параметр при этом, с одной стороны, нужно выбрать как можно более большим, чтобы продвинуться вдоль центрального пути по направлению к решению, а с другой стороны, нужно оставаться в окрестности центрального пути, т.е. обеспечить выполнение неравенства . В силу (153) это условие будет выполнено, если .
Таким образом, метод попеременно делает шаг Ньютона по направлению к некоторой целевой точке на центральном пути и отодвигает эту точку в сторону решения задачи (см. рис. 19). Шаг Ньютона приближает текущую точку к минимуму и уменьшает декремент. Обновление параметра удаляет минимум от текущей точки и увеличивает декремент. При этом позволительно увеличивать настолько, насколько результирующий проигрыш в декременте компенсируется выигрышем, сделанным на предыдущем шаге Ньютона.
Оценим прогресс в параметре , сделанный в ходе итерации. Рассмотрим зависимость величины
от . Имеем , , и под корнем стоит неотрицательная, квадратичная по функция с лидирующим коэффициентом . Так как , то уравнение имеет два вещественных корня. Очевидно, следующее значение параметра следует положить равным большему из этих корней.
Граф как функции от — гипербола с асимптотическим наклоном, равным . Поэтому для всех , откуда получаем
Оценим величину . Обозначая и учитывая , получим
и получаем, что на каждом шаге увеличивается на величину порядка . Чтобы была гарантирована линейная скорость сходимости, необходимо ограничить локальную норму сверху. Это мотивирует следующее определение.
Таким образом, если функция является самосогласованным барьером с параметром , то вышеописанный прямой метод следования центральному пути позволяет на каждом шаге увеличивать на величину порядка или, что эквивалентно, умножать на константу . Чем больше параметр барьера , тем меньше множитель и тем медленнее метод будет сходиться. Поэтому на каждом данном выпуклом множестве желательно иметь в наличии барьеры с как можно меньшим параметром. Сложность задачи зависит от наличия эффективно вычислимого самосогласованного барьера с небольшим значением параметра.
В коническом программировании барьер определяется на конусе , допускающем действие группы растяжений. Разумно потребовать также инвариантность барьера на по отношению к этой группе симметрий. Постоянство функции на внутренних лучах конуса приводит к противоречию с остальными условиями. Однако в методе Ньютона используются только производные минимизируемой функции. Поэтому достаточно потребовать инвариантность производных по отношению к растяжениям. Это естественным образом приводит к условию логарифмичной однородности. Следующее определение было введено Ю. Е. Нестеровым и А. С. Немировским в .
для всех и .
Таким образом, растяжения действуют прибавлением констант к логарифмично однородной функции .
Данное для случая конусов определение самосогласованного барьера совместимо с приведённым выше общим определением, поскольку логарифмичная однородность также ограничивает ньютоновский декремент, и локальная норма градиента барьера с параметром равна константе . Действительно, дифференцируя соотношение (155) по , мы получим . Дифференцируя это соотношение и (155) по при , мы получим
Из этого следует, что и, следовательно,
Подытожим результаты этого раздела. Для решения конической программы с помощью метода внутренней точки необходимо наличие эффективно вычислимого логарифмично однородного самосогласованного барьера с небольшим значением параметра на соответствующем выпуклом конусе. В методах следования центральному пути нелинейное коническое ограничение устраняется переходом к однопараметрическому семейству вспомогательных задач, каждая из которых состоит в минимизации самосогласованной функции. Метод короткого шага чередует итерацию Ньютона для решения вспомогательной задачи с умножением параметра семейства на величину , при этом последовательность итераций сходится с линейной скоростью к решению исходной задачи. Скорость сходимости увеличивается с уменьшением параметра барьера . В методах с коротким шагом итерации находятся в окрестности центрального пути. Точнее, центральный путь пересекается с эллипсоидами Дикина некоторого порогового радиуса вокруг точек .
3 Двойственные барьеры
В п. 14.8 мы видели, что к каждой конической программе можно определить двойственную программу над двойственным конусом. Двойственность также распространяется на самосогласованные барьеры.
Поэтому и , что и требовалось доказать.
Функция является логарифмично однородным самосогласованным барьером с параметром на [263, Теорема 2.4.4]. Отображение является биекцией между внутренностями конусов и . Если рассмотреть эти внутренности как римановы многообразия, оснащённые метриками и соответственно, то отображение является изометрией ([263, стр. 45], см. также ). Более того, отображение переводит тензор третьих производных в точке в тензор в образе [263, стр. 45].
По определению преобразование Лежандра функции задаётся формулой . Знак минус при аргументе двойственного барьера был введён для совместимости с определением двойственного конуса, .
4 Примеры самосогласованных барьеров
Приведём явные выражения для самосогласованных барьеров на конусах, лежащих в основе ходовых классов конических программ, приведённых выше.
Барьером на прямом произведении конусов, оснащённых барьерами с параметрами , может служить сумма
Она обладает параметром .
Рассмотрим симметричные конусы, лежащие в основе классов программ LP, SOCP и SDP.
Для барьеров, приведённых в вышестоящей таблице, двойственный барьер идентичен исходному. Параметр этих барьеров оптимальный, т.е. на этих конусах нет барьера со строго меньшим параметром. Но они обладают ещё одним полезным свойством, они являются авто-шкалированными. Это свойство допускает особенно эффективные методы внутренней точки для решения конических программ над этими конусами, а именно методы с длинным шагом , .
Экспоненциальный конус. Рассмотрим несимметричный конус
встречающийся в геометрическом программировании. На этим конусе существует барьер
значение параметра которого равно . Это значение параметра также оптимально.
5 Универсальные конструкции барьеров
Наличие эффективно вычислимого логарифмично однородного самомогласованного барьера на выпуклом конусе позволяет решать конические программы над этим конусом. Естественно, возникает вопрос о существовании барьеров на произвольных конусах. Ответ на этот вопрос утвердительный, и в этом разделе мы приведём два способа построения таких барьеров.
определённую для всех внутренних точек . Функция является логарифмично однородным самосогласованным барьером на со значением параметра . Этот барьер называется универсальным. Он был введён в Ю. Е. Нестеровым и А.С. Немировским и является первой универсальной конструкцией барьера. Изначально было известно, что параметр универсального барьера ограничен сверху величиной , где – некоторая постоянная. Позже в работе было установлено, что можно выбрать .
Если – линейный автоморфизм конуса , то имеет место соотношение для всех . Это позволяет вычислить универсальный барьер на однородных конусах, т.е. на внутренности которых группа линейных автоморфизмов действует транзитивно .
В общем случае универсальный барьер задаётся многомерным интегралом по двойственному конусу и его трудно вычислить даже для сравнительно простых неоднородных конусов.
Энтропический барьер. Этот барьер двойственный к универсальному. Его параметр также равен размерности конуса. На ограниченных выпуклых множествах энтропический барьер был рассмотрен в работе .
Канонический барьер. Построение этого барьера основано на глубокой теореме в теории уравнений в частных производных.
В случае когда – внутренность выпуклого регулярного конуса , это решение является логарифмично однородным самосогласованным барьером на со значением параметра . Этот барьер называется каноническим. Двойственный барьер к каноническому барьеру на конусе совпадает с каноническим барьером на двойственном конусе .
Канонический барьер обладает тем же свойством инвариантности по отношению к действию группы автоморфизмов конуса , что и универсальный, и поэтому совпадает с ним на однородных конусах.
Для ортанта, конуса Лоренца и матричного конуса все три конструкции приводят к барьерам, пропорциональным авто-шкалированным барьерам, приведённым в вышестоящей таблице.
Примером неоднородного конуса, для которого канонический барьер вычислим аналитически, может послужить экспоненциальный конус (157). На этом конусе канонический барьер задаётся формулой
6 Другие варианты методов внутренней точки
Как мы видели выше, метод следования центральному пути с коротким шагом генерирует последовательность точек, расположенных в некоторой узкой окрестности центрального пути. При этом параметр , определяющий прогресс вдоль центрального пути, на каждом шаге умножается на величину , где — параметр барьера. Поэтому заданная точность достигается за итераций. На данный момент это самая лучшая скорость сходимости, достигнутая в теории. Однако практика показывает, что скорость можно значительно повысить, отступив от этих правил.
Методы с длинным шагом увеличивают параметр более агрессивно. В этом случае шаг метода Ньютона, как правило, выводит текущую точку из узкой окрестности центрального пути. Поэтому нужно либо расширить эту окрестность, либо сделать несколько шагов, чтобы вернуться в неё. В первом случае необходимо наличие дополнительной структуры, позволяющей измерять расстояние до центрального пути другим способом, чем ньютоновский декремент. Мы рассмотрим соответствующие алгоритмы, работающие на симметричных конусах, чуть ниже. Во втором случае можно показать, что для возвращения в узкую окрестность центрального пути достаточно сделать порядка шагов метода Ньютона. Таким образом, в теории сложность возрастает до итераций.
Прямо-двойственные методы решают одновременно и прямую, и двойственную коническую программу. Для каждой из них генерируется последовательность точек и , которые аппроксимируют точки , на центральных путях прямой и двойственной программы соответственно. Эти точки можно объединить в пары в произведении прямого и двойственных пространств, которые находятся в окрестности точки прямо-двойственного центрального пути. Если конус обладает дополнительной структурой, в частности, если он симметричный, то существуют очень эффективные прямо-двойственные методы, которые мы рассмотрим в следующем разделе.
Методы редукции потенциала производят последовательность допустимых прямо-двойственных пар точек, не привязанных к каким-либо точкам на центральном пути. На этой последовательности монотонно убывают значения потенциала
определённого на произведении внутренностей прямого и двойственного конуса. Отметим, что на множестве пар точек , которые удовлетворяют линейным ограничениям прямой и двойственной задачи, произведение является линейным. Это следует из того, что для любых двух таких пар и справедливо соотношение . Поэтому функция <<почти>> выпукла, в смысле что она выпукла на любой аффинной гиперплоскости аффинного подпространства, задаваемого линейными ограничениями прямой и двойственной задач. На каждом шаге потенциал убывает как минимум на некоторую постоянную. Любая последовательность пар точек, на которой значение потенциала стремится к , обязана стремиться к решениям прямой и двойственной задач.
7 Прямо-двойственные методы на симметричных конусах
Самыми успешными на практике являются алгоритмы решения конических задач над симметричными конусами, т.е. линейных, квадратично-коничных и полуопределённых программ. Причиной тому является богатая структура симметричных конусов, которая допускает существование барьеров с особыми свойствами, так называемых авто-шкалированных барьеров.
Определение авто-шкалированного барьера на симметричном конусе довольно техническое. Главное его свойство — это существование для любой прямо-двойственной пары точек единственной так называемой точки шкалировки , которая определяется как минимум функции по . Дополнительно она должна удовлетворять условию , где — двойственный барьер. Ей также соответствует двойственная точка шкалировки , минимизирующая функцию по .
Покажем, что пара точек имеет простую геометрическую интерпретацию. На прямом произведении прямого и двойственного векторного пространств существует каноническое псевдо-скалярное произведение, определяемое выражением
В правой части этого уравнения угловые скобки обозначают обычную свёртку прямого с двойственным вектором. Это произведение порождает псевдо-римановую метрику, в которой квадрат расстояния задаётся выражением
Заметим, что это выражение может быть как положительным, так и отрицательным или нулевым.
В произведении можно определить нелинейное многообразие
являющееся графом изометрии между внутренностями прямого и двойственного конусов (см. теорему 2.11). Тогда точка является ближайшей точкой на к текущей итерации в определённой выше псевдо-римановой метрике. Действительно, квадрат расстояния от точки до определяется выражением
Произведение является постоянным на вследствие логарифмической однородности функции , а произведение также не зависит от . Остаётся в точности выражение , экстремум которого определяет точку шкалировки.
В п. 24.1 мы видели, что в методе Ньютона нелинейный граф градиента минимизируемой функции аппроксимируется аффинным подпространством, с помощью которого вычисляется следующая итерация. При этом аппроксимация строится в текущей точке.
В случае прямо-двойственного метода также строится аффинная аппроксимация нелинейного градиентного графа . Однако текущая точка в общем случае не лежит на . Поэтому логично построить аппроксимацию на базе ближайшей к текущей точке точки на , которой и является прямо-двойственная пара точек шкалировки.
Пара удовлетворяет условию , где — параметр барьера. Однако по мере приближения к решению свёртка стремится к нулю. Поэтому вводят фактор , и аппроксимируют не само многообразие , а его <<сжатый>> образ:
Пусть — точки центральных путей для прямой и двойственной задач, отвечающие параметру . Оказывается, что точка прямо-двойственного центрального пути лежит на многообразии , где . Поэтому прямо-двойственной паре можно сопоставить точку прямо-двойственного центрального пути с параметром . Аппроксимацией этой точки служит пересечение аффинной аппроксимации нелинейного многообразия с аффинным подпространством, задаваемым линейными ограничениями прямой и двойственной задач.
Можно аппроксимировать касательной плоскостью в точке . Однако, как правило, используется аффинная плоскость , параллельная к и пролегающая через точки (см. рис. 20). Такая плоскость существует вследствие специальной структуры барьера на симметричных конусах.
В линейном программировании точка шкалировки для прямо-двойственной пары находится за операций и задаётся вектором , где корень и дробь считаются по-элементно. Сложность итерации в линейном программировании в основном определяется сложностью решения линейной системы для нахождения направления шага.
Теория авто-шкалированных барьеров позволяет делать шаги по направлению аффинной шкалировки не порядка , а порядка расстояния до границы допустимого множества. Поэтому на практике количество итераций, нужных для достижения определённой точности, слабо зависит от размерности задачи и составляет, как правило, всего несколько десятков. Длина шага в прямо-двойственных методах с длинным шагом ограничивается некоторой <<большой>> окрестностью центрального пути.
где типичное значение порога порядка .
В случае полуопределённого программирования, в котором ортант заменяется на матричный конус , окрестность определяется аналогично. Автоморфизм конуса индуцирует автоморфизм двойственного конуса, где — обратимая матрица размера . Эти преобразования оставляют спектр произведения неизменным. С другой стороны, многообразие определяется соотношением , и расстояние до центрального пути можно измерять с помощью числа обусловленности матрицы . Отсюда получаем определение
Вариант типа предиктор-корректор прямо-двойственного метода с длинным шагом идёт до границы окрестности по направлению аффинной шкалировки (фаза предиктор), после чего снова приближается к центральному пути с помощью шагов вдоль центрирующего направления (фаза корректор). Возможно также ходить по направлению комбинации аффинной шкалировки и центрирующего направления, при этом не выходя за пределы окрестности . На практике используются разные эвристики, управляющие длиной шага и весами направлений в комбинациях .
8 История методов внутренней точки
Методы внутренней точки вначале развивались как альтернатива симплекс-методу для решения задач линейного программирования. В отличие от последнего они генерируют последовательность точек, для которых ограничения типа неравенства строго выполнены. Вообще говоря, методы, генерирующие последовательность внутренних точек допустимого множества, применялись уже давно к решению нелинейных задач (см., например, п. 21). Под методами внутренней точки мы здесь будем понимать методы, которые в явном или неявном виде используют барьер на допустимом множестве или на конусе, лежащем в основе задачи. В случае линейного программирования в роли этого конуса выступает неотрицательный ортант.
Первым такой метод предложил И. И. Дикин . По сути, этот метод определял следующую точку как аргумент минимума линейной функции цены на эллипсоиде Дикина с центром в предыдущей итерации. Однако этот метод не обладал гарантиями на скорость сходимости, и ему требовалась строго допустимая начальная точка. В 1984 г. Н. Кармаркар построил первый метод внутренней точки для линейного программирования, который доказуемо имел полиномиальную сложность . Этот метод на каждом шаге применял проективное преобразование допустимого множества перед тем, как построить вписанный в это множество эллипсоид. Так как класс линейных функций не инвариантен по отношению к проективным преобразованиям, пришлось расширить этот класс до дробно-линейных функций, которые и минимизировались на построенных эллипсоидах. Этот недостаток метода Кармаркара послужил мотивацией для разработки вариантов, использующих аффинные преобразования, что в итоге привело к переоткрытию метода Дикина на Западе . Все последующие варианты метода Кармаркара могли конкурировать с симплекс-методом на практике, но не имели теоретических гарантий скорости сходимости. Заметим, что сам Кармаркар уже указывал на то, что, с одной стороны, его метод можно интерпретировать как барьерный, т.е. минимизирующий взвешенную сумму исходной функции цены и стандартного логарифмичного барьера на ортанте, а с другой стороны, как метод редукции потенциала.
В серии работ Д. Байер и Дж. Лагариас (D. A. Bayer, J. C. Lagarias) подробно исследовали связь методов типа Кармаркара с барьерными методами. В частности, методы были классифицированы на проективно- и аффинно-масштабирующие, в зависимости от того, какие преобразования применяются к допустимому множеству. В дальнейшем развитие получили в основном аффинно-масштабирующие методы. Было также введено понятие центрального пути. В работе Дж. Ренегар построил метод следования центральному пути, который выдавал последовательность точек, близких к центральному пути, и который доказуемо обладал полиномиальной сложностью. Прямо-двойственные методы были предложены в работах , а в — недопустимые прямо-двойственные методы, на итерациях которых ограничения типа равенства могли не выполняться. В работах были предложены методы редукции потенциала для линейного программирования. Предложенный в последних работах потенциал Танабэ–Тодда–Йе (Tanabe–Todd–Ye potential) лёг в основу более поздних, продвинутых методов редукции потенциала для полуопределённого программирования.
В конце 80-х гг. XX в. Ю. Е. Нестеров и А. С. Немировский обобщили методы внутренней точки для линейного программирования на задачи оптимизации с произвольными выпуклыми коническими ограничениями и ввели понятия конической программы и самосогласованного барьера. В частности, они предложили методы с полиномиальной сложностью для решения полуопределённых программ. Также была построена теория конической двойственности, обобщающая двойственность в линейных программах . Полная теория изложена в монографии , в которой описаны как методы следования центральному пути, так и методы, понижающие потенциал. Позже Ю. Е. Нестеров установил, что методы редукции потенциала делают шаги, похожие на длинные шаги в методах следования центральному пути .
Методы решения линейных программ независимо были обобщены на случай полуопределённого программирования в цикле работ Ф. Ализадэ . Однако его методы использовали масштабирующие автоморфизмы конуса и в принципе не могли быть использованы для решения задач над несимметричными конусами.
Следующим этапом было развитие теории автошкалированных барьеров и базирующихся на этой теории методов с длинным шагом, которые использовали богатую структуру симметричных конусов , см. также монографию . Именно этот класс методов показал себя наиболее эффективным на практике и до сих пор используется в солверах .
Заметим, что особая роль симметричных конусов как наиболее естественного обобщения неотрицательного ортанта в коническом программировании впервые была отмечена Л. Файбузовичем, который в явном виде использовал их алгебраическую структуру для построения алгоритмов . В то время как свойство автошкалированности присуще барьеру, симметричность является свойством конуса. В начале 2000-х гг. было обнаружено, что эти два понятия тесно взаимосвязаны и автошкалированные барьеры существуют на всех симметричных конусах и только на них. Обзор этих разработок представлен в .
В работе методы, опирающиеся на свойство автошкалированности, были обобщены на класс гиперболических конусов, а в — на класс однородных конусов. В работе понятие точки шкалировки было определено также для произвольных самосогласованных барьеров.
В последнем десятилетии было опубликовано несколько новых универсальных конструкций самосогласованных барьеров для конусов и выпуклых множеств , а также для линейного программирования [226, п. 6.3]. В работе была найдена связь между методами следования центральному пути с использованием энтропического барьера и алгоритмом имитации отжига (simulated annealing). В работе вместо свойства авто-шкалированности для построения алгоритмов использовалось более слабое свойство отрицательной кривизны, которое выполнено, в частности, для стандартных барьеров на гиперболических конусах. В последние годы наблюдается повышенный интерес к барьерам на несимметричных конусах, например, на экспоненциальном конусе .
Отметим, что наряду с методами внутренней точки получили развитие обобщения симплекс-метода на полуопределённое программирование, в частности, в цикле работ В. Г. Жадана.
Концепция неточной модели функции и методы градиентного типа для задач, допускающих существование таких моделей
Многие методы оптимизации в своей основе содержат идею замены оптимизируемой функции на некоторую более простую функцию-модель, которая достаточно хорошо аппроксимирует исходную функцию. После этой замены предлагается решать задачу оптимизации уже не для исходной функции, а для её модели. Это можно сказать, например, о методах градиентного типа, популярных сейчас в приложениях к задачам анализа больших данных. Помимо методов с простым градиентным шагом выделяют ещё и так называемые ускоренные методы (см. п. 19 и 22), позволяющие получать оптимальные оценки сложности для гладких выпуклых задач. В основу как ускоренных, так и неускоренных градиентных методов положена идея аппроксимации функции в исходной точке (текущем положении метода) мажорирующим её параболоидом вращения и выбора точки минимума параболоида вращения в качестве нового положения метода. Такими методами исходно сложная задача заменяется совокупностью более простых задач.
В данном разделе пособия мы постараемся проиллюстрировать важность общего структурного подхода к методам первого порядка на базе абстрактной концепции модели функции . Использование этого понятия позволяет обобщить концепцию неточного оракула (или ()-оракула) из статьи Деволдера–Глинёра–Нестерова , которая в последние годы получила широкую известность в оптимизационном сообществе. Понятия неточного оракула и неточной модели дают возможность описать многие естественно возникающие в приложениях типы задач: постановки с предположениями о доступности на итерациях неточных значениях целевой функции, градиента или субградиента в негладком случае, задачи с функциями пониженного уровня гладкости с точки зрения свойственной для <<гладкого>> случая оптимизационной модели, задачи со специальной структурой (например, интересен класс задач композитной оптимизации, когда целевая функция есть сумма гладкой и негладкой функций простой структуры). Как оказалось, для задач, которые допускают существование неточного оракула или неточной оптимизационной модели, возможно предложить методы градиентного типа (в том числе ускоренные) с приемлемыми оценками скорости сходимости, не зависящими от размерности задачи. В случае отсутствия погрешностей (на итерациях используется точная информация о значениях функции и/или градиента) такие оценки оптимальны (см. таблицу 1 и ). При этом в разделе 25.3 детально рассматривается и неускоренный градиентный метод, поскольку оценки его скорости сходимости оптимальны на классе выпуклых оптимизационных задач с относительно гладкими функционалами , . Что же касается ситуации, когда возможны погрешности оракула (доступно неточное значение целевой функции или её градиента), то тут важен следующий момент. Использование ускоренных градиентных методов может приводить к накоплению этих погрешностей в оценках скорости сходимости. Как следствие, ускоренный метод может давать худшие оценки скорости сходимости по сравнению с обычным неускоренным градиентным методом, что будет пояснено далее (см. (200) и (201)).
В разных практических ситуациях (например, в задаче оптимизации газотранспортных систем ) возникают задачи с целевыми функционалами пониженного уровня гладкости (промежуточной гладкости): градиент (или субградиент при ) удовлетворяет условию Гёльдера при некотором . При этом означает, что градиент удовлетворяет условию Липшица, а — сама функция удовлетворяет свойству Липшица. Для задач минимизации выпуклых функций такого уровня гладкости Ю. Е. Нестеровым предложены универсальные градиентные методы, являющиеся развитием методов менее известной работы Немировского–Нестерова 1985 г. . Они основаны на возможности построить единообразную оптимизационную квадратичную модель (свойственную для функций с липшицевым градиентом) для задач с гёльдеровыми градиентами за счёт введения искусственной неточности (степени близости функции и модели). При этом чем адекватнее такая модель описывает задачу, тем больше соответствующий параметр гладкости модели (аналог константы Липшица градиента). Увеличение ухудшает оценку качества решения. Поэтому очень интересной здесь будет идея <<адаптивной>> настройки метода на параметр гладкости модели, позволяющая в ходе практической реализации метода заменять потенциально большое глобальное значение на его локальные аналоги. Так появляется <<универсальность>> методов, под которой понимается возможность адаптивной настройки при работе метода на оптимальный в некотором смысле уровень гладкости задачи, а также на величину соответствующей константы Липшица (Гёльдера) градиента целевого функционала. Оказывается, что возможность такой настройки может позволить для некоторых задач экспериментально повысить скорость сходимости даже по сравнению с нижними теоретическими оценками .
Отметим также, что использование концепции неточной абстрактной модели целевой функции оптимизационной задачи позволяет расширить класс применимости градиентных методов на задачи со специальной структурой, а также задач с относительно гладкими функционалами , . Однако платой за такое расширение рассматриваемого класса задач может быть усложнение вспомогательных подзадач на итерациях численных методов. По этой причине важно уметь решать такие задачи с необходимой точностью, а также иметь чёткое представление о влиянии возникающих при этом погрешностей на итоговые оценки скорости сходимости метода. Мы будем рассматривать подход к описанию погрешностей решения вспомогательных подзадач на итерациях градиентных методов (см. пункт 25.2). Важно, что рассматриваемый подход к описанию таких погрешностей может приводить к теоретическим результатам об отсутствии их накопления и для ускоренных градиентных методов (см. теорему 2.14). Это обстоятельство позволяет, в частности, найти интересную связь методов градиентного типа в модельной общности с методами Франк–Вульфа (см. далее пункты 25.6, 25.7).
В пункте 25.8 для сильно выпуклых задач мы рассмотрим методику рестартов (перезапусков) методов для выпуклых задач. Такой подход позволяет существенно улучшить оценки скорости сходимости градиентных методов по сравнению с выпуклым случаем.
— непрерывная и выпуклая функция на ;
ограничена снизу на и достигает своего минимума в некоторой точке (необязательно единственной) .
Рассмотрим следующую задачу выпуклой оптимизации:
Как правило, при использовании стандартных методов первого порядка для задачи (158) требуется, чтобы функция имела -липшицев градиент на (см. разделы 19, 20). При таком допущении можно гарантировать выполнение неравенства
для произвольных . Неравенство (159), как правило, позволяет обосновать оценки скорости сходимости некоторых градиентных методов.
В этой связи интересен выделенный несколько лет назад в класс оптимизационных задач, связанный с условием относительной гладкости. Это условие обобщает неравенство (159) путём его замены на неравенство
где — некоторая специальная функция, которую называют дивергенцией или расхождением Брэгмана. Такой подход позволяет построить методы градиентного типа для некоторых важных типов задач выпуклой оптимизации, теряющих обычные свойства гладкости (липшицевости градиента). Для того чтобы работать с относительно гладкими задачами, необходимо ввести понятия прокс-функции и дивергенции Брэгмана (см. также [107, гл. 5]).
Дивергенцией (или расхождением) Брэгмана называют функцию
где — произвольная прокс-функция.
Во многих ситуациях разумно работать и с неевклидовыми прокс-стуктурами, некоторые их примеры рассмотрены далее в п. 25.4. Много интересных примеров прикладных задач выпуклой оптимизации с относительной гладкостью приведены в . Один из таких примеров (двойственная задача о нахождении эллипсоида минимального объёма, покрывающем заданный набор точек) описан далее в разделе 34. Для этой задачи можно использовать прокс-функцию вида
Если по смыслу решаемой оптимизационной задачи целесообразно работать с обычной евклидовой нормой , то шаг градиентного спуска (см. 19) можно записать в виде вспомогательной задачи минимизации:
На классе же относительно гладких задач ситуация усложняется и шаг градиентного спуска уже нужно записывать в виде
Оказывается, выпуклость прокс-функции и неравенство (160) позволяют получить оценки скорости сходимости неускоренного градиентного метода (см. п. 25.3). Недавно было доказано , что на достаточно широком классе выпуклых относительно гладких оптимизационных задач оценка сложности неускоренного метода оптимальна.
Однако на классе выпуклых и гладких в обычном смысле оптимизационных задач (159) оценка сложности неускоренного градиентного метода уже не оптимальна (см. п. 16). Для построения ускоренных методов, которые оптимальны на классе выпуклых гладких задач (см. п. 25.5), уже существенно предположение о -сильной выпуклости прокс-функции . Подробнее обсудим такие прокс-функции далее в п. 25.4.
Отметим одно важное, но достаточно простое наблюдение, отчасти объясняющее возникновение условия -сильной выпуклости относительно нормы . Если
то выполняется неравенство (159). А если ещё при этом и для всех (для этого как раз достаточно -сильной выпуклости на множестве относительно нормы ), то выполняется и неравенство (160). Формулируя по-другому написанное выше, можно заметить, что для построения теории неускоренных градиентных методов на самом деле достаточно только последнего (более слабого) неравенства (160).
Многие методы первого порядка (методы градиентного типа) основаны на использовании квадратичной функции (параболоида вращения) в качестве оптимизации модели. Однако необязательно рассматривать именно параболоиды вращения. Можно использовать и другие функции, которые позволяют построить более точную локальную модель целевой функции задачи в рассматриваемой точке, что приводит в итоге к увеличению скорости сходимости метода. Здесь можно выделить два направления. Первое направление связано с использованием старших производных в модели функции (см. п. 22), а второе — с занесением в модель части постановки задачи. Например, если оптимизируемая функция есть сумма гладкой и негладкой функций, то первую можно заменять параболоидом вращения в модели, а вторую оставить как есть. Насколько нам известно, по такому подходу до последнего момента имелись лишь разрозненные результаты. Стоит отметить, что в случае с параболоидом вращения решение вспомогательной задачи, как правило, не представляет большого труда и часто может быть сделано по явным формулам, то есть без ошибок. Совсем другая ситуация возникает при рассмотрении второго подхода, в котором типична обратная ситуация — вспомогательную задачу можно решить только приближённо. В этой связи важно проработать возможность неточного решения вспомогательной задачи. Недавно в предпринята попытка оформить этот подход на базе абстрактного понятия ()-модели функции, которое есть прямое обобщение известного понятия -оракула Деволдера–Глинёра–Нестерова. Начнём с необходимых определений. Отметим, что в приводимых далее определениях вместо можно писать и использовать неравенство (160), о чем мы уже немного упоминали ранее. Однако в этом пункте мы ограничимся общностью (159).
В качестве упражнений приведём здесь несколько важных свойств -оракула функции в точке.
из (164) есть некоторое -приближение точного значения значения функции . Действительно, положив в (164), получим
Покажите, что из (164) есть -субградиент на , то есть
В качестве указания можно отметить, что действительно, используя первое неравенство в (164) и (165), мы имеем для всех
Ясно, что обычный субградиент выпуклой функции также может удовлетворять второму неравенству в (164), что указывает на возможность использования концепции неточного оракула для задач негладкой выпуклой оптимизации.
Отметим, что методы негладкой выпуклой оптимизации с использованием -субградиентов довольно хорошо известны и активно используются в самых разных типах задач.
Если имеет -оракул, то для всякой положительной константы функция имеет -оракул.
Если имеет -оракулы при , то допускает -оракул.
Интересно, что концепция Деволдера–Глинёра–Нестерова может допускать следующее обобщение путём замены линейной по переменной (при фиксированном ) функции в (164) на некоторую абстрактную выпуклую функцию.
Будем говорить, что существует -модель функции для некоторых и в точке , и обозначать эту модель , если для любого справедливо неравенство
и — выпуклая функция по для всякого .
Будем считать, что для найдутся такие и , что существует -модель в любой точке .
Если выбрать в (168) и воспользоваться (169), то получим
Сформулируйте аналоги упражнений 2.4 – 2.6 -оракула для абстрактной концепции -модели функции.
Далее (преимущественно в качестве упражнений) обсудим некоторые примеры постановок задач, которые можно решать методами градиентного типа на базе рассмотренной концепции модели оптимизируемой функции.
Оказывается, что абстрактная концепция модели функции позволяет распространить ускоренный вариант градиентного метода на задачи композитной выпуклой оптимизации :
где — гладкая выпуклая функция с -липшицевым градиентом относительно нормы и — выпуклая функция (вообще говоря, негладкая). Функция называется композитом. Для данной задачи верно следующее неравенство:
Такое неравенство позволяет получать для задач выпуклой композитной оптимизации оценки скорости сходимости градиентных методов (см. пункты 25.3 и 25.5), аналогичные оценкам на обычном классе гладких выпуклых задач.
Также в качестве конкретного примера можно рассмотреть задачу восстановления матрицы корреспонденций по замерам потоков на линках (рёбрах) в большой компьютерной сети (Minimal Mutual Information Model), которая сводится к задаче композитной оптимизации вида
где — единичный симплекс в -мерном пространстве. Этот пример немного подробнее рассматривается в разделе 25.8.
где — вообще говоря, негладкая выпуклая функция. В качестве ()-модели в таком случае можно выбрать
Условие (168) будет выполнено при любом выборе .
На первый взгляд может показаться, что описанный здесь способ формирования модели не является практичным. Однако в последнее время такой подход оказался достаточно популярным при разработке универсальных ускоренных оболочек (см., например, , , и пп. 22, 23).
где — гладкая выпуклая функция с -липшицевым градиентом в норме для всякого , — -липшицева выпуклая функция относительно -нормы, неубывающая по каждому из своих аргументов. Поэтому также выпуклая функция, причём имеют место неравенства
Рассмотрим без подробного объяснения ещё некоторые примеры постановок задач, в которых может быть актуальной рассматриваемая нами концепция модели функции.
Тогда если можно найти такую , что
есть -модель для функции в точке .
Проведите описанные выкладки более подробно.
Рассмотрим задачу нахождения седловой точки следующего вида:
где — -сильно выпуклая относительно -нормы (). Тогда — гладкая функция с константой Липшица градиента в -норме
Если — решение вспомогательной задачи максимизации с точностью по функции , то
есть -модель для функции в точке .
2 О подходах к описанию погрешностей при решении вспомогательных подзадач, возникающих на итерациях численных методов
Как правило, на практике невозможно достичь точного решения как задачи оптимизации в целом, так и при решении вспомогательных подзадач на каждой итерации численного метода. Если на итерациях накапливаются погрешности решения вспомогательных подзадач, то естественно ожидать, что они окажут влияние на качество итогового результата работы метода. Важно уметь оценивать степень такого влияния, поскольку теоретические результаты о сходимости методов формулируются, как правило, в предположении о точном решении вспомогательных подзадач. Особенно это актуально для задач с неевклидовой прокс-структурой и относительной гладкостью. Если ещё рассмотреть такие предположения в модельной общности, то вспомогательная подзадача примет вид
для некоторой выпуклой по первой переменной функции . В общем случае не известны методы нахождения точного решения задач вида (177). Поэтому мы уделим внимание вопросу учёта в оценках скорости сходимости градиентных методов погрешностей, возникающих за счёт неточностей решения вспомогательных подзадач. Рассмотрим следующий подход к определению неточного решения задачи выпуклой минимизации .
Некоторый выбранный элемент из будем обозначать как .
Ясно, что при неравенство (178) означает, что — точное решение задачи минимизации на множестве и это поясняет смысл концепции неточности из определения 2.10. Однако, как правило, методы оптимизации гарантируют достижение достаточно хорошей аппроксимации решения задачи не по аргументу, а по функции. Сравним эти подходы к описанию неточности решения задачи выпуклой минимизации.
Пусть , тогда выпуклость означает, что:
Предположим, что вспомогательная задача, возникающая на итерации метода градиентного типа (177), имеет вид
где — выпуклая функция по .
Отметим, что вспомогательная подзадача в итерациях методов оптимизации довольно часто имеет такой вид (см. далее алгоритмы 2.10 и 2.12). Конечно, существуют случаи, когда задачу вида (179) можно решить аналитически. Например, это так, когда в основной задаче решается гладкая задача оптимизации без ограничений с евклидовой прокс-структурой . В случаях, когда задача (179) может быть решена только численно, используют различные подходы в зависимости от постановки задачи.
Например, рассмотрим случай сепарабельной задачи в (179):
где и — некоторые функционалы от (). В таком случае достаточно решить одномерных задач, каждую из которых можно решать методом деления отрезка пополам (или золотого сечения, см. п. 17.1) за время (необходимое количество итераций)
где — точность найденного решения по функции. Заметим также, что условие сепарабельности прокс-функции можно ослабить, сохраняя эффективность решения задачи (179). Важный пример разобран в п. 33.
Часто в приложениях прокс-функцию выбирают -сильно выпуклой относительно некоторой нормы , см. п. 25.4. В этом случае появляются дополнительные степени свободы для эффективного решения задачи (179). Например, если дополнительно предположить, что имеет -липшицев градиент в норме . Если также имеет -липшицев градиент по в норме , то для задачи (179) можно предложить численный метод c линейной скоростью сходимости. Если же не имеет -липшицева градиента в норме , можно в задаче (179) рассматривать слагаемое как композит. Чтобы получить численный метод для таких задач с линейной скоростью сходимости, можно воспользоваться, например, техникой рестартов градиентных методов (см. далее п. 25.8).
Последнее неравенство следует из -сильной выпуклости в норме . Покажите это, проведя подробные выкладки.
Таким образом, при сделанных предположениях всякое -решение задачи минимизации (179) по функции будет ()-решением или ()-решением в смысле определения 2.10.
Таким образом, рассматриваемая нами концепция приближённого решения задачи минимизации выпуклой функции определения 2.10 может считаться вполне приемлемой для описания влияния на итоговый результат возникающих погрешностей на вспомогательных для градиентных методов подзадачах вида (179).
3 Градиентный метод с оракулом, использующим на итерациях неточную модель функции
В данном пункте мы рассмотрим адаптивный вариант неускоренного градиентного метода (см. раздел 19) для задачи (158), который применим к весьма общему классу задач, допускающих существование неточной модели целевой функции (см. п. 25.1) в произвольной точке области определения. Оказывается, что для обоснования оценок скорости сходимости неускоренного градиентного метода не требуется -сильная выпуклость используемой прокс-функции, что позволяет применять неускоренные градиентные методы к широкому классу относительно гладких выпуклых оптимизационных прикладных задач . Напомним , что функция называется относительно гладкой, если для произвольных верно неравенство (160).
Введём аналог понятия ()-модели функции (см. определение 2.9), который применим и к относительно гладким задачам.
Будем говорить, что существует -модель функции относительно дивергенции в точке при некоторых и , и обозначать эту модель , если для любого справедливо неравенство
и — выпуклая функция по для всякого .
Предположим, что для найдутся такие и , что существует -модель в любой точке относительно .
Будем считать, что дана начальная точка , — количество шагов метода, — константа, которая имеет смысл предположительной <<локальной>> константы Липшица градиента в точке . Также на вход алгоритму 2.10 (как и ускоренному алгоритму 2.12 далее) подаются константы и : — положительное число такое, что существует -модель в любой точке , — величина, соответствующая точности решения вспомогательных подзадач согласно определению 2.10. При этом в зависимости от задачи эти величины могут быть как равными нулю, так и иметь постоянное положительное значение.
В этом пункте мы рассмотрим вариант неускоренного градиентного метода с адаптивной настройкой на величину константы Липшица градиента целевого функционала (алгоритм 2.10). Точнее говоря, явно в методе не будет использоваться константа . Она будет выбираться специальным образом на каждой итерации и может как увеличиваться, так и уменьшаться. Для повышения качества работы метода важно постараться выбрать как можно меньшую константу на каждой итерации, но при этом для гарантированного достижения требуемого качества решения должно выполняться неравенство-критерий выхода из итераций (185). Таким образом, осуществляется балансировка стремления повысить скорость работы метода и необходимости иметь гарантированную в теоретическом плане точность решения. Адаптивная настройка на величину параметра представляется особо важной для идеологии универсальных методов решения задач с пониженными требованиями (условие Гёльдера градиента) к гладкости функционалов (см. далее пункты 25.6 и 25.7). Этот подход основан на построении похожей на <<гладкий>> случай оптимизационной ()-модели для задачи с пониженной гладкостью, но за счёт введения в эту модель искусственной неточности . При этом на такую неточность завязана также итоговая оценка качества выдаваемого решения. Однако при этом константа обратно пропорционально зависит от этой величины . Чем меньше , тем лучшего качества решения задачи можно достичь. Однако при этом величина растёт, что и приводит к идее замены в оценке скорости сходимости глобального параметра его локально подбираемыми на итерациях методов аналогами , которые потенциально могут оказаться меньшими . Аналогичный подход для ускоренного метода будет описан далее в п. 25.5 (см. алгоритм 2.12).
Будем считать, что . Если не делать такого предположения, то в теоретических оценках качества выдаваемого приближённого решения из теорем 2.13 и 2.14 для алгоритмов 2.10 и 2.12 далее следует полагать .
Для всех выполнено . При это верно ввиду предположения . При ясно, что выход из внутреннего цикла (на котором подбирается ) гарантирован при условии . Выход из цикла гарантируется тем, что по условию существует -модель для в любой точке .
Докажите, что количество обращений к вспомогательным задачам (184) в связи с изменением констант на итерациях будет увеличиваться по сравнению с неадаптивным вариантом градиентного метода в среднем не более чем в постоянное число раз (меньшее трёх). Это означает, что адаптивность не приводит к существенному повышению стоимости итерации метода. В качестве указания см. статью Ю. Е. Нестерова .
Докажем важную лемму, которая необходима далее для вывода оценки скорости сходимости описываемого метода.
Пусть — выпуклая функция и при некотором верно
Тогда для всякого справедливо неравенство
Согласно определению 2.10 существует такой вектор , что:
Приведём ещё одно вспомогательное утверждение, описывающее поведение целевой функции для генерируемой алгоритмом 2.10 последовательности точек .
Пусть допускает -модель в произвольной точке множества в смысле определения 2.11. Тогда для алгоритма 2.10 при любом для всякого целого неотрицательного числа справедливо неравенство
— вытекает из леммы 2.6 для c учётом левого неравенства в (182).
— ввиду того, что . ∎
Пусть допускает -модель в произвольной точке множества в смысле определения 2.11, а также , где — начальная точка, а — ближайшая к точка минимума задачи (158) в смысле дивергенции Брэгмана, а также . Тогда для алгоритма 2.10 верно следующее неравенство:
Просуммируем неравенства из леммы 2.7 по :
Поскольку , то верно неравенство
Разделим обе части последнего неравенства на . Получим
Учитывая выпуклость , для выхода алгоритма 2.10 в итоге получаем, что
Выведите аналог предыдущей теоремы с сохранением оценки (186) в случае, если допускает ()-модель в произвольной точке согласно определению 2.9.
Как будет выглядеть оценка (186), если в ней вместо константы Липшица градиента использовать <<локальные>> константы , полученные на итерациях работы метода?
Покажите, что в случае выбора постоянного шага в алгоритме 2.10 для произвольного оценку (186) можно уточнить:
для произвольного . Отметим, что далее оценка (188) будет использована в разделе 34.
4 Примеры сильно выпуклых прокс-функций
Доказанная в предыдущем пункте оценка скорости сходимости неускоренного градиентного метода оптимальна на классе выпуклых относительно гладких задач. Если же рассмотреть класс выпуклых гладких задач (напомним, что под гладкостью мы понимаем условие Липшица градиента), то оптимальные оценки дают ускоренные методы (см. выше пункты 19, 22). Оказывается, что ускоренный градиентный метод можно ввести как для случая с необязательно евклидовой прокс-структурой, так и в модельной общности . В следующем пункте 25.5 мы представим адаптивный метод такого типа (алгоритм 2.12). В отличие от неускоренного случая, здесь уже будет существенным предположение о -сильной выпуклости прокс-функции относительно нормы . Поэтому мы скажем несколько слов о таких прокс-функциях.
Требование -сильной выпуклости относительно нормы влечёт по определению 2.7 неравенство
Известно , что дивергенцию Брэгмана, связанную с -нормой при (1-сильно выпуклую в -норме) можно выбрать согласно табл. 2. Например, для -нормы можно положить
где .
Докажем, что из (189) -сильно выпукла относительно нормы . Для этого покажем, что функция
непрерывно-дифференцируема и удовлетворяет следующему неравенству:
Сначала покажем сильную выпуклость относительно . При таком выборе имеем , где . Поскольку дважды непрерывно дифференцируема в любой внутренней точке области определения, то для доказательства (190) достаточно проверить, что для всякого ненулевого вектора верно неравенство
В силу однородности имеем при всяком . Поэтому, не уменьшая общности рассуждений, предположим . Обозначим через знак числа ( при и ). Имеем
поскольку . Наконец, в силу неравенства Гёльдера и получаем, что
Если для некоторого , то
Поэтому при для всякого верно . Это означает, что из неравенства (192) следует ()-сильная выпуклость относительно уже -нормы. Поэтому функция из (189) -сильно выпукла относительно -нормы.
Отметим, что далее в п. 33 подробно разбирается пример задачи, часто возникающей на итерациях многих современных численных методов, для которой естественен выбор прокс-структуры указанного типа при .
Отметим, что в связи с приложениями в машинном обучении часто используют следующую прокс-структуру (дивергенция или расхождение Кульбака–Лейблера)
Такая прокс-структура отвечает -норме на единичном (вероятностном) симплексе
Использование такого прокса позволяет выписывать явные формулы проектирования на симплекс, что удобно для задач на симплексах. Действительно, при выборе указанной прокс-структуры шаг (163) имеет вид ():
Все приведённые в табл. 2 прокс-функции -сильно выпуклы в указанных нормах на всём пространстве. Поэтому их можно использовать с неускоренными и ускоренными градиентными методами и в том случае, когда мы заранее не знаем, где локализовано решение. Например, если стартовать из нулевой точки и заранее знать, что решение разреженно (большинство компонент равно нулю), то оказывается, что естественно выбирать -норму и соответствующую ей прокс-функцию в табл. 2. В таком случае можно ожидать, что не существенно будет зависеть от выбора нормы (-нормы вместо евклидовой). При этом от перехода от -номы к -норме может быть существенная выгода в оценке константы в формулировке теорем 2.13 и 2.14. Действительно, константу Липшица градиента
если имеет не только градиент, но и гессиан , можно определять следующим образом:
Несложно привести пример, когда будет существенно зависеть от выбора -нормы или -нормы. Он связан с тем, что . Например, можно рассмотреть конкретный пример:
для фиксированной квадратной матрицы размера . Тогда , а — максимальное собственное значение . Это означает, что использование градиентных процедур с <<неевклидовыми>> дивергенциями Брэгмана и итерациями вида (163) может быть целесообразно не только для относительно гладких задач, но и в случае -сильно выпуклой прокс-функции. При этом -сильная выпуклость прокс-функции позволяет строить ускоренные методы (см. п. 25.5).
Приведите пример матрицы , для которой верно равенство .
5 Ускоренный градиентный метод с оракулом, который использует (δ,L)\displaystyle(\delta,L)-модель в запрашиваемой точке
В данном пункте рассмотрим ускоренный вариант градиентного метода в модельной общности, который базируется на так называемом методе подобных треугольников . Этот метод получил название по соответствующей геометрической интерпретации (см. рис. 21). Оптимальная оценка скорости сходимости для задачи минимизации
выпуклой функции с -липшицевым градиентом
Как видим, каждая итерация алгоритма 2.11 состоит из нескольких шагов, связанных со вспомогательными последовательностями и . Для наглядности на рис. 21 приведём некоторую геометрическую иллюстрацию метода подобных треугольников (аналогичную картинку можно найти в обзорной статье ). На рис. 21 каждой из точек соответствует используемый на -й итерации метода подобных треугольников элемент основной последовательности , либо вспомогательных последовательностей и . Эти последовательности нужны для описания <<составного>> шага ускоренного метода, позволяющего получить оптимальную оценку скорости сходимости для выпуклых гладких минимизационных задач. Отрезкам , , и соответствуют векторы , , и . Можно записать равенства
поскольку (см. алгоритм 2.11) верны соотношения
Поэтому получаем подобные треугольники и , что и поясняет название метод подобных треугольников. Из этого подобия получаем соотношение
поскольку на рис. 21 .
Теперь переходим непосредственно к описанию адаптивного ускоренного градиентного метода (алгоритм 2.12) в модельной общности, который использует на итерациях -модель (см. определение 2.11) в произвольной запрашиваемой точке. В отличие от неускоренного алгоритма 2.10 для ускоренного метода с итерациями вида (163) уже существенно предположение о -сильной выпуклости используемой прокс-функции :
Напомним, что сильно выпуклые прокс-структуры относительно нормы обсуждались выше в п. 25.4.
Для большей наглядности доказательства и лучших оценок (см. ) мы ограничимся далее в этом пункте общностью определения 2.9, а не определения 2.11.
Описание вывода оценки скорости сходимости алгоритма 2.12 начнём со следующей вспомогательной леммы.
Пусть для используемой на итерациях алгоритма 2.12 последовательности имеют место равенства
где для всякого (см. замечание 2.7). Тогда для произвольного верно неравенство
Проведём доказательство методом математической индукции по . Если , то имеем
Решая данное квадратное уравнение, выбираем наибольший его корень, т.е.
По индукции, допустим, что неравенство (197) верно для некоторого натурального числа . Тогда получим неравенство (197) для :
Отметим, что последнее неравенство следует из индуктивного предположения. В итоге получаем, что
Докажем базовую лемму, необходимую для вывода оценки скорости сходимости алгоритма 2.12.
Пусть допускает -модель в произвольной точке множества в смысле определения 2.9. Тогда для алгоритма 2.12 при всяком справедливо неравенство
— вытекает из равенства ;
— вытекает из ;
— следствие леммы 2.6 для функции и неравенства слева в (182). ∎
Перейдём теперь к основному результату настоящего пункта.
Пусть допускает -модель в произвольной точке множества в смысле определения 2.9, причём , где — ближайшая к начальной точке в смысле дивергенции Брэгмана точка минимума , а также . Тогда для алгоритма 2.12 выполнены следующие неравенства:
Просуммируем неравенства из леммы 2.9 по :
Выберем теперь . В таком случае
Разделив обе части предыдущего неравенства на , получаем, что
6 Некоторые следствия из описанных теоретических результатов о сходимости градиентных методов в модельной общности
Предположим, что — выпуклая функция с -липшицевым градиентом относительно нормы . Тогда верно следующее неравенство:
Рассмотрим ()-модель минимизириуемой функции вида
и , причём мы предполагаем, что промежуточную задачу можно решать точно, то есть . Получаем следующую оценку скорости сходимости для ускоренного варианта градиентного метода (п. 25.5 и теорема 2.14):
Данная оценка скорости сходимости является оптимальной с точностью до умножения на константу. В случае точного оракула () ускоренные градиентные методы (в нашем случае это алгоритм 2.12) оптимальны на классе задач минимизации выпуклых функций с -липшицевым градиентом (см. пп. 16, 19). При этом известно, что лучше константы в такой оценке получить нельзя , в то время для алгоритма 2.12 мы имеем константу 8. На оптимальность ускоренных методов для задач выпуклой минимизации указывает то, что точность по функции (103) приближённого решения задачи выпуклой гладкой минимизации достигается за итераций (см. (199)). В то же время для неускоренных градиентных методов необходимо итераций для достижения точности по функции приближённого решения задачи выпуклой гладкой минимизации.
Предположим, что для целевая функция задачи (158) допускает -модель в произвольной точке. Будем считать, что промежуточную задачу в смысле определения 2.10 мы можем решать на каждом шаге с точностью , тогда ввиду теорем 2.13 и 2.14 верны следующие неравенства:
где — выход работы неускоренного метода (см. теорему 2.13), а — выход работы ускоренного градиентного метода (теорема 2.14). Таким образом, мы видим, что ускоренный метод более устойчив к ошибкам , возникающих при решении промежуточных задач (на самом деле, это является некоторым артефактом определения , поскольку решить вспомогательную задачу (195) для ускоренного метода с той же точностью , что и для неускоренного, всё сложнее и сложнее по мере роста номера итерации, поскольку обусловленность этой задачи растёт вместе с ростом ), но при этом его оценка скорости сходимости может накапливать соответствующую величину, т.е. возникающую погрешность при вызове -модели. Неускоренный же метод гарантирует отсутствие накопления этого параметра в оценке скорости сходимости, но при (или малом ) оценка скорости сходимости лучше для ускоренного метода.
Теперь покажем, как с использованием градиентных методов в модельной общности можно пояснять идеологию так называемых универсальных методов для задач выпуклой оптимизации, предложенную недавно Ю. Е. Нестеровым в . Здесь имеется в виду, что для градиента целевой функции (субградиента при ) выполнено условие Гёльдера: существует такое, что
В частности, при таким свойством могут обладать также и негладкие функции. Суть метода Ю. Е. Нестерова заключается как на довольно естественной идее адаптивной настройки на константу Липшица (Гёльдера) (суб)градиента функции , так и на довольно нетривиальной возможности настройки метода на подходящий уровень гладкости задачи. В частности, как показывают эксперименты, универсальные варианты Ю. Е. Нестерова обычного и быстрого градиентного методов за счёт этих двух трюков могут реально работать лучше оптимальных теоретических оценок для некоторых задач. Например, для задачи Ферма–Торричелли–Штейнера, целевая функция которой удовлетворяет условию (202) при , реальная скорость сходимости при практической реализации метода может оказаться . Это существенно лучше гарантированной общей теорией оценкой (см. раздел 16). Про задачу Ферма–Торричелли–Штейнера и её связь с проблемой построения оптимальных сетей дорог можно почитать, например, в брошюре . Известны также и обобщения постановки задачи Ферма–Торричелли–Штейнера о минимизации суммы расстояний от точки до нескольких выпуклых замкнутых множеств (в частности, шаров) . Такие задачи приводят уже к бесконечному количеству точек недифференцируемости целевой функции, но универсальный метод также может экспериментально работать с оценкой скорости сходимости . Аналогичная ситуация имеет место в задаче поиска равновесного распределения потоков в транспортных сетях .
К выделенному классу задач выпуклой оптимизации можно применять рассмотренные выше в пунктах 25.3 и 25.5 адаптивные градиентные методы в модельной общности. Действительно, для всякой выпуклой функции с -гёльдеровым градиентом (или субградиентом при ) верно неравенство :
и — фиксированный свободный параметр (искусственно вводимая неточность в оптимизационную модель).
Таким образом, возможно использовать градиентные методы при условии выбора ()-модели вида (198). Мы рассмотрим только оценку для ускоренного метода на базе теоремы 2.14, поскольку именно ускоренный метод гарантирует оптимальность скорости сходимости при .
Поскольку адаптивный алгоритм 2.12 реализует возможность настройки на константу в ходе работы метода, то для его практической реализации нет необходимости вычислять значения . При этом стоит отметить некоторый недостаток универсального метода — наличие искусственной погрешности , от которой можно избавиться лишь в частном случае . Без введений такой погрешности возникает проблема обобснования выполнимости критерия выхода из итерации (196).
Будем предполагать, что вспомогательные подзадачи мы можем решать точно, т.е. для всех верно . Предположим, что ускоренный градиентный метод отработал ровно итераций и выберем
где — необходимая точность решения по функции. Чтобы выполнилось
достаточно сделать не больше шагов внешнего цикла, где . Выбор искусственной неточности (204) гарантирует, что количество обращений ко вспомогательным подзадачам на итерациях методов будет конечным. Параметр можно оценить следующим образом:
то и поэтому
Поскольку при достаточном малом достаточное количество итераций можно оценить сверху , то имеем
Если перенести все выражения с в левую часть неравенства, то получим
Отсюда имеем, что величина параметра ограничена.
Оценим скорость сходимости ускоренного градиентного метода (п. 25.5 и теорема 2.14) при указанных предположениях:
Оценим достаточное для этого количество итераций :
которая оптимальна с точностью до умножения на числовую константу .
Отметим, что на практике в ходе работы метода нет необходимости решать задачу минимизации для нахождения точного числа шагов , поскольку алгоритм 2.12 адаптивен и предполагает <<настройку>> на оптимальный уровень и константу гладкости при выполнении самих итераций.
Отметим, что при реализации на практике часто возникающие на итерациях градиентных методов вспомогательные подзадачи (195) не могут быть решены за разумное время. В этой связи в работе показано, что весьма эффективным для некоторых классов задач может быть метод условного градиента Франк–Вульфа (см. раздел 21). Оказывается, что описанный выше результат (теорема 2.14) об оценке скорости сходимости варианта метода подобных треугольников в модельной общности (алгоритм 2.12) с учётом неточности решения вспомогательных задач может привести к интересному обобщению метода условного градиента. В рамках этого обобщения вместо используемой алгоритмом 2.12 оптимизационной модели вида
в (195) используется более простой её вариант
Такой подход указывает на интересную связь метода Франк–Вульфа с ускоренным градиентным методом (пункт 25.5). В случае использование при реализации градиентных методов оптимизационных моделей вида (206) вместо (205) как раз приводит к методу Франк–Вульфа. Чтобы получить интерпретацию результатов из пункта 25.5 с точки зрения этой связи, рассмотрим замену (205) на (206) с точки зрения параметра погрешности . Далее будем предполагать, что — выпуклая функция с -липшицевым градиентом по норме по аналогии с предположениями теоремы 2.8
Поэтому в алгоритме 2.12 будем предполагать, что и . Воспользуемся результатом пункта 25.5 для ускоренного градиентного метода для минимизации функций с -липшицевым градиентом относительно нормы (см. теорему 2.14):
Известно , что данная оценка с точностью до числового множителя не может быть улучшена для методов типа Франк–Вульфа.
Описанная в этом пункте конструкция была позаимствована из книги .
7 Универсальный метод условного градиента
Снова будем отталкиваться от ускоренного алгоритма 2.12 (см. п. 25.5). Рассмотрим случай, когда — выпуклая функция с -гёльдеровым градиентом () (202), причём ставится цель использовать подход с помощью метода типа условного градиента. Положим , зафиксируем количество шагов , а также искусственно введём неточность
Тогда при соответствующем для алгоритма 2.12 по теореме 2.14 верно неравенство:
Поэтому при достаточно малом выполнение не более внешних шагов ускоренного метода гарантирует справедливость неравенства , т.е.
После переноса в левую часть последнего неравенства получим, что
Отсюда получаем важное замечание, что должно быть больше нуля, что полностью согласуется с примером из , когда метод условного градиента может не сходиться в случае . Далее, получим оценку числа итераций
Как и для обычного универсального метода (см. п. 25.6), заметим, что на практике в ходе работы метода нет необходимости решать задачу минимизации для нахождения , поскольку алгоритм 2.12 адаптивен и предполагает <<настройку>> на оптимальный уровень и константу гладкости при выполнении самих итераций.
8 Регуляризация и рестарты
В данном разделе мы вернемся к изложению приемов регуляризации и рестартов, упомянутых в замечании 2.1. А именно, в этом разделе будет продемонстрировано как, имея эффективные алгоритмы решения выпуклых / сильно выпуклых задач вида
можно предложить на их базе алгоритмы решения сильно выпуклых / выпуклых задач аналогичного вида.
Начнем с изложения перехода [сильно выпуклые задачи] [выпуклые задачи].
Введём семейство -сильно выпуклых в норме задач ()
где дивергенция Брэгмана (см. определение 161) – 1-сильно выпуклая функция по относительно -нормы.
и удалось найти -решение задачи (208), т.е. такое , что
Здесь использовалось определение и формула (209):
Таким образом, имея метод, решающий -сильно выпуклую задачу в -норме, можно использовать его для решения не сильно выпуклой задачи (207) путём перехода к регуляризованной задаче (208) c .
Приведём на примере алгоритма 2.12 в некотором смысле обратную конструкцию (рестартов): [выпуклые задачи] [сильно выпуклые задачи].
При этом на -м перезапуске (рестарте) алгоритма 2.12 также корректируется прокс-функция (считаем, что определённая таким образом функция корректно определена на с сохранением свойства сильной выпуклости)
Повторяя эти рассуждения по индукции, получаем
Предыдущая теорема гарантирует достижение описанной процедурой рестартов ускоренного градиентного метода -точного по функции решения задачи минимизации (207) за
обращений к оракулу (подпрорамме) для вычисления градиента целевой функции.
Из написанного выше представляется, что в процедуре рестартов (теорема 2.16) можно использовать вместо предписанного числа итераций на каждом рестарте какой-нибудь критерий остановки. В частности, дожидаться, когда норма (или квадрат нормы) градиента (а в общем случае, когда минимум достигается не в точке экстремума, — норма градиентного отображения) уменьшится вдвое. С таким критерием остановки нет необходимости делать предписанное число итераций на каждом рестарте. Однако, пока неизвестен способ рассуждений, который позволял бы показать, что такая процедура сохраняет при переносе оптимальность оценок (метод, работающий оптимально не в сильно выпуклом случае, порождает оптимальный метод и в сильно выпуклом случае). Впрочем, имеются различные эффективные на практике способы более раннего выхода с каждого рестарта (см., например, ), позволяющие (в случае задач безусловной оптимизации с евклидовой прокс-структурой) ускорить описанную выше конструкцию на порядок.
Как приложение, рассмотрим конкретный пример задачи сильно выпуклой композитной оптимизации
при условии достаточно большого (сильную выпуклость композита в 1-норме необходимо учитывать).
Для указанной постановки можно выбрать норму в прямом пространстве . Положим в (171)
где – константа Липшица градиента функции в 1-норме. Здесь обозначает -й столбец матрицы .
Заметим, что для случая достаточно малого () можно выбрать
Однако в ситуации достаточно большого для выбранной функции (расстояние Кульбака–Лейблера) уже получается . При этом существует другой способ выбора прокс-функции ( будет 1-сильно выпуклой относительно 1-нормы на неотрицательном ортанте):
В таком случае также имеем . Однако теперь и . Вот в такой ситуации возможно применить описанную выше схему рестартов ускоренного градиентного метода и из оценки сложности (212) получить следующий результат.
Для задачи выпуклой композитной оптимизации (213), где (т.е. сильную выпуклость композитного члена в -норме необходимо учитывать) алгоритм 2.12 с рестартами и с прокс-функцией
если общее число итераций (обращений к оракулу за градиентом)
Заметим, что в <<пороговой>> ситуации, отвечающей регуляризации (см. выше теорему 2.15), . В этом случае формула (215) примет вид
что с точностью до соответствует оценке в случае (когда сильную выпуклость композитного члена в -норме можно не учитывать). Отличие этих двух случаев ещё и в том, что в случае, когда , существует простой способ добиться стоимости итерации (прямое использование алгоритма 2.12 c ), а в случае нам не известно более эффективного способа, чем способ (описанный выше) со стоимостью итерации
Поскольку в типичных приложениях первое слагаемое заметно доминирует второе, то можно не учитывать (что часто и делают на практике) плату за невозможность выполнения <<проектирования>> по явным формулам и не сильно задумываться, с какой точностью решать вспомогательную задачу, делая это с точностью длины мантиссы (описанный подход позволяет решать её с очень хорошей точностью, и сложность решения вспомогательной задачи практически не чувствительна к этой точности). По-видимому, это утверждение имеет достаточно широкий спектр практических приложений.
В данном разделе на конкретном примере мы продемонстрировали более подробно, чем это принято на практике, что для большого класса задач наличие явных формул для шага итерации не есть сколько-нибудь сдерживающее обстоятельство для использования метода. Используемая при этом техника и способ рассуждений характерным образом (на наш взгляд) демонстрируют современный арсенал средств (описанных в этой главе) решения задач выпуклой оптимизации в пространствах больших размернотей.
Отметим также, что нам не известно никакого другого способа (кроме описанного в этом разделе приема рестартов), позволяющего решать задачу (213) ускоренным методом, учитывающим её сильную выпуклость в 1-норме.
Другие концепции неточного градиента
В действительности, две наиболее популярные на практике концепции неточного градиента отличаются от описанной ранее концепции Деволдера–Глинёра–Нестерова (см. определение 2.8 и упражнение 2.6). А именно, для задачи
Далее в изложении мы будем в основном следовать работе . Отметим, что многие вопросы, обсуждаемые ниже, возникли ещё в начале 80-х годов XX века. Особо отметим работы Б.Т. Поляка того периода, в которых можно найти частичные ответы на эти вопросы.
Прежде всего заметим, что для концепции (216)
даже для гладкой сильно выпуклой задачи и обычного градиентного метода нельзя гарантировать в общем случае (без дополнительных приёмов, типа регуляризации задачи или ранней остановки используемого метода) какие-то хорошие оценки, показывающие, что шумом можно пренебречь в случае его малости.
Таким образом, имеется проблема с нижней оценкой (219), поскольку может быть малым ( – вырожденный режим, где – желаемая точность решения исходной задачи по функции) в знаменателе правой части неравенства (219). Для ускоренных методов можно ожидать ещё больших проблем.
Чтобы получить наиболее тонкие (из известных сейчас) оценок накопления неточности, немного специфицируем концепцию неточного градиента Деволдера–Глинёра–Нестерова:
С такой концепцией имеем для неускоренного градиентного метода
для ускоренного (можно брать разные варианты, описанные ранее в пособии в п. 19, 22, 25):
где определено в (216) как , будем иметь следующий результат:
неускоренные методы будут сходиться к решению в раз медленнее, а про ускоренные на данный момент доказано только то, что они будут сходиться с такой же по порядку скоростью к решению, если — в сильно выпуклом случае и на -й итерации метода — в вырожденном случае ( мало), см. также . Заметим, что в численных экспериментах, в которых шум был случайный (не враждебный), эти условия можно существенно ослабить .
В следующем разделе мы приведём характерный пример того, как в задачах выпуклой оптимизации могут возникать неточные градиенты.
2 Обратная задача для эллиптического уравнения на квадрате
Одним из наиболее естественных приложений численных методов оптимизации является теория некорректных обратных задач .
Характерный пример обратной задачи будет рассмотрен ниже. Поскольку эти задачи часто связаны с решением линейных краевых задач для уравнений в частных производных, то вычисление градиента целевого функционала возможно только приближённо.
Для описания способа вычисления градиента целевого функционала в таких задачах сначала напомним (см. , а также п. 6), как считать градиент функции,
где определяется единственным образом из
Предположим, что линейный оператор (для конечномерных задач матрица, сформированная по принципу, что элемент равен ), имеет обратный . Тогда
Аналогичный результат может быть получен с использованием формализма Лагранжа
Действительно, можно связать эти два подхода соотношением
Теперь можно приступить к демонстрации описанной выше техники вычисления градиента (на базе принципа множителей Лагранжа) для обратной начально-краевой задачи для эллиптического уравнения на квадрате.
Пусть является решением следующей задачи (P):
обозначим через , а последние два уравнения — через .
Обратная задача: Предположим, что мы хотим оценить , наблюдая , где – единственное решение задачи (P).
Эта обратная задача, естественным образом, сводится к задаче квадратичной оптимизации:
которую можно решать численно, если удастся посчитать . Применим для вычисления в задаче (224) описанный выше принцип множителей Лагранжа:
Чтобы получить сопряжённую задачу на , следует проварьировать по при условии, что :
и дополнительные условия между множителями Лагранжа:
Эти соотношения выводятся из того, что и ; ; произвольные.
Поскольку (запись и следует понимать так, что является решением задачи (P), а – решением задачи (D)):
то по формуле Демьянова–Данскина–Рубинова (см. п. 6):
где – решение задачи (P), а – решение задачи (D), в которой
и зависит от через задачу (P). Причём, в то же самое время является решением седловой задачи
Действительно, из следует , что соответствует задаче (P), если добавить ограничение . Из при получается задача (D), как было показано выше.
Таким образом, мы свели вычисление к решению двух корректных начально-краевых задач ((P) и (D)) для уравнений эллиптического типа на квадрате.
Полученный результат также можно проинтерпретировать немного по-другому. Введём линейный оператор
где – решение задачи (P). В работе было показано, что – ограниченный оператор:
Сопряжённый оператор (также ограниченный ) будет иметь вид
где – решение сопряжённой задачи (D). Таким образом, считая, что
что полностью соответствует описанной выше схеме:
1. Зная , решить задачу (P) и получить . Затем определить .
2. Зная (см. п. 1), решить сопряжённую задачу (D) и вычислить .
Таким образом, неточность при вычислении градиента неизбежно будет возникать, поскольку мы можем решить краевые задачи (P) и (D) только численно.
Описанная выше техника может быть использована при решении большого числа обратных задач и задач оптимального управления . Отметим, что для задач оптимального управления на практике часто используют другую стратегию . Сначала дискретизируют саму постановку задачи, а потом для дискретизированной задачи с помощью описанной выше техники считают точно градиент. В теории оптимального управления таким образом получают, например, дискретный принцип максимума. Ну, а сама процедура вычисления градиента оказывается аналогичной процедуре автоматического дифференцирования (обратного распространения по терминологии глубокого обучения ), см. п. 35.1.
Пионерами в приложении градиентных методов к задачам оптимизации в гильбертовых пространствах являются Л. В. Канторович (40-е годы XX века) и Б. Т. Поляк (60-е годы XX века).
Глава 3 Примеры задач и их практическое решение
В этой главе собраны примеры задач выпуклой оптимизации, которые позволяют продемонстрировать работу численных методов, описанных в предыдущей главе. Глава начинается с задачи расчёта барицентра Васерштейна. Оказывается, вместо того, чтобы решать исходную (прямую задачу), выгодно её специальным образом сгладить (энтропийное сглаживание) и построить двойственную. Двойственная задача будет обладать заметно лучшими свойствами (в частности, гладкостью). Её и предлагается решать ускоренным (быстрым) градиентным методом. Примеры на метод Франк–Вульфа хорошо демонстрируют, что оптимальный по числу обращений к оракулу (итераций) метод совсем не обязан оставаться оптимальным и по времени работы. Особенность метода Франк–Вульфа хорошо проявляется при решении задач выпуклой оптимизации на симплексе. В этом случае часто удаётся сильно сэкономить на стоимости каждой итерации, что в конечном итоге может приводить к лучшим оценкам времени работы метода Франк–Вульфа по сравнению с оптимальными (ускоренными) методами для гладких выпуклых задач. На вариациях задачи оптимального проектирования механических конструкций будет продемонстрирована работа метода субградиентного спуска для задач с ограничениями, а также теория полуопределённого программирования (semidefinite programming). Эта важная теория демонстрируется ещё на нескольких примерах из анализа сигналов.
…more or less everything in this subject should be called after Kantorovich.
C. Villani. Optimal transport, old and new
Описываемая в этом разделе задача (Монжа) является ярким примером задачи с большой историей (берущей своё начало в XVIII веке). Однако за последние 10 лет задача Монжа нашла много новых интересных приложений. В частности, полученные здесь в последние годы достижения разные специалисты отмечают в числе наиболее важных событий в области численных методов оптимизации последнего времени, см., например, https://blogs.princeton.edu/imabandit/2019/12/30/a-decade-of-fun-and-learning/.
Для того, чтобы сравнить друг с другом объекты, которые отличаются вероятностными распределениями или гистограммами и моделируют объекты реального мира — изображения, видео, тексты и т.д., необходимо чётко определить, как именно измерять степень <<похожести>> или <<близости>> между такими объектами. Например, документы можно описать с помощью встречающихся в них ключевых слов . В этом случае математическим аналогом документа является вероятностное распределение в пространстве слов. Тогда для сравнения документов нужно искать отличия в их вероятностных распределениях. Таким образом, часто возникает необходимость вычислить расстояние между точками с неизвестными заранее местоположениями, подчиняющимися только каким-то вероятностным законам Это могут быть какие-то выборки или результаты наблюдений и т.п..
На плоскости лежит множество точек, принадлежащих трём различным кластерам. Соответственно, точки раскрашены в три цвета (см. рис. 22). Как определить, какие из всех пар кластеров расположены ближе друг к другу?
Существуют несколько неуниверсальных способов это сделать --- считать расстояние от ближайшей точки одного кластера до ближайшей точки другого (не подходит, если точки кластеров перемешаны), или найти центры масс каждого кластера, и считать расстояние между этими центрами (не подходит для кластеров с совпадающими центрами масс Если мы хотим, чтобы расстояние между такими кластерами было отлично от нуля.).
Будем рассматривать множество точек одного цвета (назовём его ) как выборку дискретной случайной величины, т.е. для любой вероятность , где обозначает количество элементов в . Расстояние между и множеством точек другого цвета можно найти как решение задачи линейного программирования. Прежде чем пояснить детали, рассмотрим следующий пример.
Необходимо вычислить расстояние между реальными географическими областями, например, между двумя странами --- Россией и Францией Франция выбрана не случайно: во-первых, рассматриваемая в данном параграфе тема барицентров Васерштейна связана с теорией оптимального транспорта, и далее приводится ссылка на основополагающую книгу ’’Topics in Optimal Transportation’’ французского математика, лауреата Филдсовской премии Седрика Виллани, во-вторых, в настоящее время (2020 год) Франция на втором месте по количеству обладателей Филдсовской премии за всю историю вручения премии с 1936 года, в-третьих, Франция, как и Россия, дала миру много замечательных оптимизаторов. (см. рис. 68).
В дополнение к рассмотренным в примере 3.1 способам вычислить это расстояние можно ещё предложить, например, такой способ — разделить обе области на маленькие одинаковые квадраты и считать расстояния между такими квадратами, затем усреднить полученные значения. Понятно, что все эти способы дадут совершенно разные ответы.
Задачи из примеров 3.1 и 3.2 можно объединить следующим образом: как наиболее рационально переместить кучу земли из одного участка (там образуется ров) на другой участок (там нужно построить земляное защитное укрепление — вал). Или наоборот — имеется куча земли и яма одинаковых объемов, как с наименьшими усилиями засыпать яму землей? Иногда эту задачу называют задачей землекопа, или экскаваторщика. Более точно задача формулируется так: требуется разбить две равновеликие плоские или пространственные области на бесконечно малые участки. В примере : каждой сопоставляется куча земли весом , каждой сопоставляется ров глубиной . Требуется сопоставить участки одной области с участками другой так, чтобы сумма произведений расстояний между участками (здесь можно взять любую метрику) на площади или объёмы перемещающихся участков (т.е. затраченная работа, или усилия по перемещению, или стоимость перемещения) была бы минимальной. Ясно, что решение задачи определяется геометрией рассматриваемых участков. Строгую математическую постановку задачи в терминах метрических пространств и мер см., например, в [54, с. 159], также см. .
В дискретной постановке рассмотренная проблема превращается в классическую транспортную задачу.
Имеются два набора точек (пункты производства) и (пункты потребления), . Задана функция стоимости перевозки (например, какая-то зависимость от расстояния между точками). Требуется построить взаимно однозначное отображение , сопоставляющее каждой точке из первого набора точку из второго набора так, чтобы суммарная стоимость перевозок была минимальной.
Впервые транспортная задача (точнее, её непрерывный аналог из примера 3.2 — <<задача о рвах и насыпях>>) была поставлена и исследована Гаспаром Монжем в 1781 году . Задача Монжа может не иметь решения.
2 Релаксация Канторовича
Существенным ограничением транспортной задачи в формулировке Монжа является возможность сравнения гистограмм только одного и того же размера. Транспортная задача о перемещении масс в релаксационной по сравнению с задачей Монжа постановке, в которой допускается расщепление масс (т.е. перемещение массы из одного источника не в один, а в несколько пунктов назначения), с целью нахождения оптимальных транспортных планов, была сформулирована и решена Л.В. Канторовичем в 40-х годах XX века (см. ) и получила в дальнейшем название задачи Монжа–Канторовича. Таким образом, Канторович перешёл от детерминированной постановки задачи перемещения масс к вероятностной — когда имеется возможность распределить массу из точки по нескольким пунктам назначения . По сути, это была первая бесконечномерная задача линейного программирования.
и заключается в нахождении оптимального транспортного плана среди множества всех транспортных планов (т.е. — множество борелевских вероятностных мер на с маргинальными для и соответственно функциями Это означает, что для любого борелевского множества и любого борелевского множества и ).
При весьма общих предположениях задача Монжа–Канторовича имеет решение.
Приведём практический пример задачи распределения ресурсов, которая сводится к задаче Монжа–Канторовича.
3 Оптимальный транспорт
Решением задач, подобных рассмотренным выше, и их усложнённых аналогов, занимается теория оптимального транспорта (ОТ) (optimal transportation или optimal transport До начала 2000-х годов — mass transportation.). Уникальность теории ОТ видна уже из того факта, что её можно отнести сразу к трём математическим дисциплинам — теории вероятностей, математическому анализу и оптимизации. Основной целью ОТ является нахождение способов сравнить вероятностные распределения с учётом геометрии пространств, на которых рассматриваются меры.
Наиболее подробное руководство по данной теории, с учётом последних достижений, написал уже упомянутый выше математик Седрик Виллани (в настоящее время вышли два издания, с разницей в 5 лет). В последние десятилетия эта теория стала очень популярной вследствие её успешных применений для решения целого ряда прикладных задач большой размерности, в особенности, задач машинного обучения (см., например, ) и задач сравнительного анализа и обработки изображений . Популярность теории оптимального транспорта продолжает расти в том числе и из-за неожиданно открывающихся связей этой теории с задачами в физике, астрономии, геометрии, теории дифференциальных уравнений в частных производных и т.д. И даже в политологии . В начале 2018 года вышла книга известных специалистов в области ОТ M. Cuturi и G. Peyré ’’Computational Optimal Transport’’ , акцентирующая внимание на численных методах теории ОТ и актуальных приложениях к задачам анализа данных (книга доступна для скачивания на arxiv.org). Кстати, они же принимали участие в создании свободно распространяемой библиотеки <
В теории оптимального транспорта одной из важных задач является задача вычисления расстояния (метрики) Канторовича, или Васерштейна (в англоязычной литературе <
Пусть — компактное метрическое пространство с метрикой , — множество борелевских вероятностных мер на , т.е. множество мер, определённых на борелевской -алгебре множества . Для -метрикой (расстоянием) Васерштейна между и называется следующая величина Сравните с (227).:
Рассмотрим два множества точек и , , . Пусть , — эмпирические вероятностные меры, т.е. , . Для любого — мера Дирака, сосредоточенная в точке . Кроме того, набор принадлежит единичному симплексу :
Тогда расстояние Васерштейна , по сути, является оптимумом для транспортной задачи (в степени ) (см. пример 3.4 на стр. 3.4).
Важным достижением (активно использующимся сейчас на практике ) в разработке эффективных алгоритмов приближенного вычисления расстояния Васерштейна является энтропийная регуляризация (сглаживание), о которой подробнее будет написано в следующем разделе.
4 Барицентры
В задачах машинного обучения без учителя часто возникает проблема вычисления некоторого <<среднего арифметического>> --- барицентра Барицентром геометрической фигуры называют её геометрический центр, т.е. усреднённое положение всех точек фигуры по всем координатным направлениям. В физике термин ¡¡барицентр¿¿ обозначает либо центр масс, либо центр тяжести физического объекта. нескольких многомерных рядов данных . В евклидовом случае барицентром точек с барицентрическими координатами является точка
где расстояние , . В общем случае задача нахождения барицентра обычно является задачей невыпуклой оптимизации. Но в теории ОТ, когда метрика становится расстоянием Васерштейна, задачу нахождения барицентра Васерштейна можно сформулировать как задачу выпуклой оптимизации, для которой доказано существование решения и разработаны эффективные численные методы [276, глава 9].
Пусть , и — вероятностные меры на симплексе (см. (228)). Барицентр Васерштейна мер с барицентрическими координатами является решением задачи оптимизации:
Итак, барицентр Васерштейна — это усреднённый представитель всех рассматриваемых объектов (элемент пространства мер) по минимальной сумме расстояний Васерштейна от каждого из объектов выборки. Геометрическую структуру всех объектов барицентр Васерштейна обобщает гораздо лучше усреднённых по другим метрикам представителей .
Рассмотрим частный случай конструкции (230) при , , . Расстояние Васерштейна возьмём энтропийно-сглаженное :
Здесь матрица стоимостей сформирована из квадратов попарных расстояний от носителя меры до носителя меры . Перейдём от (231) к двойственной задаче:
Определим при функцию .
По формуле Демьянова–Данскина–Рубинова (см. п. 6) для функция — гладкая с градиентом
где — единственное решение (232), удовлетворяющее условию .
Найдём сопряжённую функцию по Юнгу–Фенхелю:
(см. (232)). Отметим, что эта функция будет иметь константу Липшица градиента в 2-норме, равную .
Перепишите задачу вычисления барицентра Васерштейна
Последнюю задачу удобно рассматривать без знака минус
Воспользуйтесь принципом множителей Лагранжа и перенесите ограничения в функционал
Последнюю задачу можно переписать следующим образом (минмакс теорема фон-Неймана–Сиона–Какутани о возможности перестановочности минимума и максимума для выпукло-вогнутых задач с компактными ограничениями по одной из групп переменных, см. п. 9.10):
Используя (233) и формулу Демьянова–Данскина–Рубинова (см. п. 6), можно заметить, что для :
Поскольку в решении \displaystyle\mu_{{\color[rgb]{0,0,0}1}}^{\ast}=...=\mu_{s}^{\ast}=\mu^{\ast}, где – искомый барицентр, то для любого . Итак, мы пришли к задаче
Релаксации полиномиальных задач
В этом разделе мы рассмотрим полуопределённые релаксации оптимизационных задач с полиномиальными данными. Здесь можно выделить два концептуально разных, но тесно связанных между собой подхода, а именно релаксации типа сумм квадратов (sum of squares — SOS) и моментные релаксации.
Чтобы пояснить идею, стоящую за моментным подходом к релаксации полиномиальных задач, сперва рассмотрим, как произвольную задачу оптимизации можно эквивалентно записать в виде выпуклой задачи. Рассмотрим общую проблему оптимизации
где — конус неотрицательных мер на множестве . На этом бесконечномерном конусе мы минимизируем линейный функционал с одним линейным ограничением. Другими словами, мы минимизируем математическое ожидание значения функции цены по всем вероятностным мерам на допустимом множестве .
Решение выпуклой формулировки в пространстве мер наталкивается на ряд принципиальных трудностей. Во-первых, это пространство и определённый в нем конус неотрицательных мер бесконечномерны. Для дизайна численных алгоритмов нужно свести задачу к конечномерной. Если множество и функция обладают полиномиальным описанием, то этот шаг удаётся сделать без дополнительных аппроксимаций. В этом случае все возникающие выражения, зависящие от меры, описываются через конечное число моментов этой меры. Этим объясняется, что данный подход на практике весьма успешно применяется к полиномиальным задачам.
Вторая трудность заключается в том, что даже конечномерный образ конуса неотрицательных мер в общем случае не имеет численно эффективно доступного описания, и приходится прибегать к релаксациям. Тем не менее в ряде важных случаев эти релаксации оказываются точными, что позволяет эффективно решать соответствующие классы задач.
Перед тем, как перейти к описанию метода моментов для полиномиальных задач, мы представим интуитивно более доступную и исторически гораздо более раннюю концепцию сумм квадратов.
2 Положительные полиномы и суммы квадратов
Теория, изложенная в этом разделе, применима к коническим программам над конусами неотрицательных полиномов. Мы рассмотрим полуопределённые аппроксимации, а в некоторых случаях и полуопределённые представления этих конусов.
Пусть — полином на границе конуса неотрицательных полиномов. Построить подпирающую гиперплоскость к конусу в точке , т.е., гиперплоскость такую, что , а конус целиком лежит в одном из двух замкнутых полупространств, определяемых .
Поэтому решить, принадлежит ли данный полином к конусу или нет, в общем случае является сложной проблемой. Основной алгоритмически доступной аппроксимацией конуса неотрицательных полиномов является конус сумм квадратов.
Конусом сумм квадратов называется множество однородных полиномов чётной степени от вещественных переменных, которые представляются в виде конечной суммы , где , — однородные полиномы степени .
Ясно, что , и является внутренней аппроксимацией .
и представлено в виде суммы квадратов полиномов степени . Отсюда следует включение .
и полином представлен в виде произведения с неотрицательно определённой матрицей . ∎
Конуса неотрицательных полиномов и сумм квадратов можно аналогичным образом определить в произвольных конечномерных линейных пространствах полиномов, в частности, в пространствах неоднородных полиномов от переменных степени, не превосходящей .
В ряде случаев релаксация конуса положительных полиномов суммами квадратов точна. Когда именно равенство имеет место, было известно ещё в 19-ом веке.
Во всех остальных случаях конус не является полуопределённо представимым .
Пусть — полином от переменных, представимый в виде суммы квадратов , и пусть — его политоп Ньютона. Тогда справедливы следующие утверждения:
экстремальные точки политопа имеют только чётные компоненты,
коэффициенты , соответствующие экстремальным точкам политопа , строго положительны,
мульти-индексы , соответствующие ненулевым коэффициентам полиномов , являются элементами политопа .
В частности, если полином — разреженный, то часто для проверки включения возможно обойтись рассмотрением матриц размера, гораздо меньшего, чем .
Стандартным примером неотрицательного полинома, не представимого в виде суммы квадратов других полиномов, является полином Моцкина . Этот полином является элементом конуса вследствие неравенства между алгебраическим и геометрическим средним.
Доказать, что полином Моцкина не является элементом конуса .
Тем не менее, неотрицательность полинома Моцкина можно все же доказать с помощью представления его в виде суммы квадратов. Но для этого нужно расширить или изменить класс функций, которые могут выступать в роли факторов . А именно, имеем представление
где , . То, что правая часть является суммой квадратов, вытекает из соотношения , которому удовлетворяет матрица коэффициентов , фигурирующая в формуле.
Сертификат неотрицательности полинома Моцкина можно также получить, разложив произведение в сумму квадратов полиномов 4-й степени. Но тогда и произведение является суммой квадратов полиномов, и представляемо в виде суммы квадратов от рациональных функций.
17-я проблема Гильберта: Любой неотрицательный полином может быть представлен в виде суммы квадратов рациональных функций.
Утверждение было доказано Э. Артином в 20-х гг. XX века.
является внутренней полуопределённой релаксацией конуса . Вычислим эту релаксацию в явном виде.
Внутренняя релаксация может быть усилена. Определим иерархию конусов , параметризованную целым числом :
Это так называемая иерархия релаксаций Паррило для коположительного конуса. Сложность релаксации быстро увеличивается с ростом . Справедлив следующий результат :
Пусть . Тогда существует такое, что для всех .
Теперь мы перейдём к важному для вычислительной практики случая матричных полиномов от одной переменной, для которого релаксация положительных полиномов суммами квадратов точна.
Доказательство теоремы разобьём на несколько этапов.
Таким образом, первые столбцов фактора имеют вид , , а последние столбцов имеют вид , . Из этого следует, что матрицы ранга 1 сами блочно-ханкелевы. ∎
Второе утверждение получается применением конической двойственности. Раз набор симметричных матриц неотрицателен на любом наборе симметричных матриц , представляющих блочно-ханкелевую неотрицательно определённую матрицу, то является элементом конуса, двойственного к конусу блочно-ханкелевых неотрицательно определённых матриц. Но этот двойственный конус характеризуется в точности существованием неотрицательно определённой матрицы с требуемыми свойствами. ∎
В этом разделе мы рассматривали полуопределённые аппроксимации отдельных конусов положительных полиномов. Далее мы перейдём к релаксации задач оптимизации с полиномиальными данными.
3 Релаксации типа сумм квадратов для полиномиальных задач
Задача полиномиальной оптимизации характеризуется полиномиальной функцией цены и полиномиальными ограничениями. Введём следующий класс множеств.
Мы рассмотрим проблему минимизации полинома на базовом полуалгебраическом множестве :
Для того чтобы переписать проблему в виде конической программы, введём конус , состоящий из полиномов степени, не превосходящей , которые неотрицательны на базовом полуалгебраическом множестве . Этот конус конечномерный, замкнутый и выпуклый. Задача оптимизации запишется в виде
где — не меньше степени .
В общем случае конус не поддаётся эффективному описанию. Следуя философии предыдущего раздела, аппроксимируем этот конус полуопределённо представимым конусом , состоящим из всех полиномов степени, не превосходящей , которые представимы в виде суммы
где — произвольные полиномы, а — суммы квадратов полиномов. Здесь полиномы и определяют множество по формуле (236). Тогда любой полином из конуса неотрицательный на , и, следовательно, . Таким образом, конус является внутренней аппроксимацией .
Полуопределённая представимость следует из того, что разложение (239) приводит к условиям типа равенства, линейным по коэффициентам полинома и неизвестных полиномов . Поэтому включение эквивалентно конечному набору полуопределённых и линейных ограничений.
В итоге мы аппроксимируем исходную полиномиальную задачу оптимизации полуопределённой программой
Эта релаксация может быть усилена, если в основу определения конуса вместо условия (239) положить условие
Рассмотрим полиномиальную проблему оптимизации
Множество является базовым полуалгебраическим. Выберем максимальную степень . Аппроксимируем конус полиномов конусом полиномов, представимых в виде
где — суммы квадратов линейных полиномов, а — линейный полином. Введём вектор мономов степени, не превосходящей 1. Тогда имеем тогда и только тогда, когда выражается в виде
Полуопределённая релаксация задачи принимает вид
Используем линейные соотношения типа равенства для того, чтобы элиминировать часть переменных. Тогда получим эквивалентную полуопределённую программу
Её решение приводит к оптимальному значению , которое является оптимальным также для исходной задачи.
4 Моментные релаксации
Для данного момент является линейным функционалом на пространстве мер. Область определения этого функционала не совпадает со всем пространством, поскольку интеграл, задающий значение функционала, может расходиться. Для -функции , однако, все моменты существуют и равны .
Так как нам необходимо работать с конечномерными объектами, мы фиксируем натуральное число и рассматриваем только моменты , для которых степень не превосходит . Таких моментов конечное число, равное , и они образуют -мерный вектор моментов .
Конусы моментов в общем случае не обладают алгоритмически эффективным описанием. Мы рассмотрим необходимые условия для того, чтобы данный вектор являлся вектором моментов некоторой неотрицательной меры. Множество векторов, удовлетворяющих этим необходимым условиям, образует внешнюю аппроксимацию конуса моментов.
Пусть — вектор мономов , для которых степень не превосходит целую часть от . Тогда все элементы одноранговой матрицы являются мономами со степенью, не превосходящей . Рассмотрим матрично-значный интеграл
где — неотрицательная мера. Этот интеграл является неотрицательно определённой матрицей, элементы которой равны неким элементам вектора моментов . Отсюда вытекает полуопределённое ограничение на вектор моментов, а именно, что матрица, составленная соответствующим образом, является неотрицательно определённой.
Обозначим степень полинома через . Тогда для любого полинома со степенью, не превосходящей , имеем
С другой стороны, данный интеграл выражается через линейную комбинацию элементов вектора моментов . Таким образом, мы получаем линейное ограничение типа равенства на вектор моментов . Если полином пробегает все мономы степени , то мы получим максимальный линейно независимый набор таких линейных ограничений.
Образуем вектор всех мономов степени, не превосходящей целую часть от , и рассмотрим матрично-значный интеграл
Этот интеграл является неотрицательно определённой матрицей, каждый элемент которой представляется в виде линейной комбинации неких элементов вектора моментов . Отсюда получаем полуопределённое ограничение на .
Рассмотрим снова проблему полиномиальной оптимизации (237), где — полином степени, не превосходящей , а — базовое полуалгебраическое множество. Перепишем эту проблему в виде задачи минимизации
на множестве всех вероятностных мер с носителем в .
Условие типа равенства на можно записать в виде , а интеграл, задающий функцию цены, в виде линейной комбинации элементов вектора моментов . Таким образом, проблема предстанет в виде
Заменив не поддающееся эффективному описанию включение набором полуопределённых и линейных необходимых условий, построенных выше, мы получаем полуопределённую релаксацию исходной проблемы.
Рассмотрим снова проблему (240). Положим , тогда вектор моментов будет 10-мерным. Описанная выше полуопределённая релаксация запишется в виде
Её решение также даёт оптимальное значение .
5 Релаксации типа сумм квадратов для верхних оценок
Рассмотрим снова проблему полиномиальной оптимизации (237). Релаксации, основанные на замене конуса положительных полиномов в эквивалентной формулировке (238) на конус сумм квадратов , сужают множество допустимых точек, и поэтому дают нижнюю оценку на оптимальное значение этих задач. Моментные релаксации, рассмотренные в п. 28.4, также приводят к нижним оценкам на оптимальное значение, поскольку расширяется допустимое множество в эквивалентной формулировке (241).
В этом разделе мы рассмотрим релаксации, приводящие к верхним оценкам на оптимальное значение для задачи (237). Идея состоит в том, чтобы сузить допустимое множество в формулировке (241), рассматривая только положительные меры на базовом полуалгебраическом множестве , имеющие плотность, выражающуюся в виде суммы квадратов. Этот подход впервые был предложен в работе .
Пусть — фиксированная положительная мера с носителем . Пусть далее — полином, представимый как сумма вида (239), и поэтому неотрицательный на . Тогда мера также неотрицательна на . Моменты этой меры являются линейными комбинациями моментов меры , с коэффициентами, равными коэффициентам полинома . А именно, если полином представляется в виде , то моменты меры задаются по формуле
Коэффициенты полинома , в свою очередь, задаются полуопределёнными условиями.
Релаксация исходной полиномиальной проблемы оптимизации (237) запишется в виде полуопределённой программы:
Переменными в этой программе являются коэффициенты полинома , которые линейно входят и в функцию цены, и в ограничение программы.
Точность релаксации возрастает с максимальной степенью полинома . Для компактных множеств иерархия этих релаксаций асимптотически точна, т.е., получаемые верхние оценки на оптимальное значение исходной задачи стремятся к этому значению при . Однако, так как носитель меры всегда будет совпадать с , релаксация любой степени может быть точной только в том случае, когда минимизируемая функция постоянна на .
Описанный подход предполагает наличие положительной меры с носителем такой, что моменты этой меры легко вычислимы или задаются аналитическим выражением. Поэтому данный подход применим только для относительно простых множеств .
6 Тригонометрические полиномы
Как и в случае обычных полиномов от одной переменной, конус неотрицательных полиномов имеет полуопределённое представление.
Доказательство следует той же схеме, что и в случае обычных неотрицательных матрично-значных полиномов от одной переменной.
Оптимизация топологии фермы
Ферма — это стержневая система в строительной механике, остающаяся геометрически неизменяемой после замены её жёстких узлов шарнирными. При нагрузке узлов в элементах фермы возникают только усилия растяжения–сжатия. В этом разделе мы рассмотрим, как проектировать фермы, оптимальные по отношению к заданным сценариям нагрузок, с помощью полуопределённого программирования. Этот подход был разработан А. С. Немировским и А. Бен-Талем в работе .
Ферму можно моделировать множеством узлов, соединённых стержнями. При нагрузке, т.е. приложении силы к некоторому подмножеству узлов, конструкция деформируется. Эта деформация сопровождается растяжением или сжатием стержней, которые при этом запасают потенциальную энергию и вызывают силу реакции. Ферма приходит в новое состояние равновесия, в котором силы реакции компенсируют приложенную нагрузку. Задача оптимизации состоит в том, чтобы минимизировать суммарную потенциальную энергию, соответствующую состоянию равновесия, или, что эквивалентно, максимизировать жёсткость конструкции. Искомыми переменными в этой задаче выступают массы стержней между узлами. При этом масса данного стержня может быть равной нулю, что на практике соответствует отсутствию этого стержня. Поэтому, по сути, решается задача оптимизации топологии фермы, т.е. расположения узлов и стержней, в ней участвующих. Суммарная масса стержней при этом ограничена.
Мы будем предполагать, что нагрузка может варьировать в некотором эллипсоиде
где — количество потенциальных стержней, — вектор их масс, а — их суммарная масса.
Перепишем задачу в виде полуопределённой программы. Определим две квадратичные функции , . Ясно, что супремум в (242) не больше тогда и только тогда, когда квадратичная функция неотрицательно определена, т.е.
Оценим сложность решения программы прямым методом внутренней точки в предположении , . Вследствие разреженности векторов в цене шага Ньютона доминирует стоимость решения линейной системы уравнений на прирост переменных задачи. Это порядка куба числа переменных, т.е. . Число итераций пропорционально корню из параметра барьера, который задаётся суммой количества линейных ограничений типа неравенства и размера матрицы, т.е. . Таким образом, сложность метода пропорциональна .
Пусть — решение задачи. Тогда и — решение, поскольку в силу матричного неравенства (см. п. 7) и вследствие этого . Здесь — псевдо-обратная матрицы . Поэтому можно положить , и скалярные неравенства примут вид
Дополнение по Шуру позволяет записать эти неравенства в виде . Таким образом мы избавляемся от переменной , и программа принимает вид
Эта сложность значительно ниже сложности решения исходной программы (243). Дело в том, что при переформулировке двойственной задачи повышение в сложности конуса (т.е., параметра барьера) более чем компенсировалось уменьшением количества переменных. Перейдя от (244) снова к двойственной задаче, получаем программу
Нетрудно видеть, что переменные в этой формулировке соответствуют искомым массам стержней. Отслеживая двойственные переменные в ходе решения программы (244) методом следования центральному пути, можно получить сколь угодно точные оценки этих масс.
То, что задача (245) эквивалентна задаче (243), вытекает также из следующей леммы.
Пусть — неотрицательно определённая симметричная матрица, при этом слагаемые , — также симметричные и неотрицательно определённые. Тогда существует разбиение матрицы на неотрицательно определённые слагаемые .
Из леммы следует, что матрицу в задаче (243) можно разложить на неотрицательно определённые слагаемые . Так как подматрица в правом нижнем углу имеет ранг 1 с образом, генерируемым вектором , то блок должен иметь вид для некоторого вектора . Но неотрицательная определённость матрицы эквивалентна неотрицательной определённости матрицы . Отсюда получаем формулировку (245).
На примере этого раздела видно, что сложность полуопределённой задачи иногда можно понизить преобразованиями матриц или переходом к двойственной задаче. Некоторые солверы в зависимости от количества переменных самостоятельно принимают такое решение.
2 Оптимизация топологии фермы: подход на базе прямо-двойственного субградиентного метода
Задача оптимизации топологии фермы формулируется таким образом, что позиции потенциальных узлов и стержней в пространстве заданы наперёд. Чтобы получить хорошее приближение оптимального расположения узлов и стержней, нужно покрыть область достаточно густой сеткой потенциальных позиций этих объектов. В типичной ситуации решение задачи таково, что большинство стержней имеют нулевую массу, а большинство узлов не соединено с другими узлами стержнями положительной массы, т.е. эти узлы и стержни попросту отсутствуют в соответствующей оптимальной физической конструкции. Поэтому, несмотря на то, что в конечной конструкции количество узлов и стержней обозримо, число потенциальных объектов, и тем самым и размерность задачи, могут быть настолько велики, что решение задачи с помощью конического программирования (см. п. 29.1) представляется невозможным.
В этом разделе мы опишем альтернативный подход к задаче оптимизации топологии фермы на базе алгоритма 2.4 . Отметим, что метод обобщается на линейные программы общего вида с однородно разреженной матрицей коэффициентов в линейных ограничениях.
Как сказано выше в п. 29.1, задача состоит в нахождении наиболее жёсткой механической структуры, способной выдержать внешнюю нагрузку, но при этом связанной с ограниченными затратами материала на саму конструкцию. Математическую формулировку возможно выписать так (см. также п. 29.1):
Существенно, что такие векторы можно считать разреженными: на каждый вектор приходится не более 6 ненулевых элементов. Мы будем также считать что вектор внешней силы разреженный, что эквивалентно тому, что сила прилагается только к одному или нескольким узлам. Кроме того, мы сделаем ещё одно важное допущение. А именно, мы полагаем, что в каждом узле встречаются не больше, чем стержней. Это условие выполнено, например, если каждый узел соединён только с соседними узлами.
Опишем подход к указанной задаче (246). Обозначим множество допустимых векторов масс через . Оказывается, что проблему можно переписать в виде задачи линейного программирования
Равенство во второй строке следует из теоремы Сиона–Какутани 1.20 (см. п. 9.10), поскольку функция вогнута по , выпукла (даже линейна) по , и множество компактно. Обозначим через решение задачи максимизации
Из решения задачи (248) невозможно напрямую восстановить искомые массы стержней. Поэтому рассмотрим двойственную к этой задаче, которая имеет вид
где и . Умножив первое уравнение в (250) на , получим
Заметим, что первое уравнение в (250) может быть записано как
Покажем, как можно по решению прямо-двойственной пары задач (248),(249) восстановить решение исходной задачи (246). Обозначим
Тогда с учётом (251) имеем и . Таким образом, пара в (252) допустима для задачи (246). С другой стороны,
Поэтому пара векторов , определяемая (252), есть решение задачи (246).
Итак, приведённые выше рассуждения позволяют заменить исходную задачу (246) на прямо-двойственную пару задач (248),(249). Эти задачи можно решать алгоритмом 2.4. Заметим, что в задаче (248) мы ищем максимум, а не минимум, как в (121), и соответственно (249) является задачей на минимум, в то время как двойственная задача (124) есть задача на максимум по двойственной переменной.
Обратим внимание на то, что функция цены и ограничение в задаче (248) удовлетворяют условиям теоремы 2.5. А именно, 2-норма градиента функции цены ограничена константой , а 2-норма субградиента ограничения ограничена константой . Последнее утверждение следует из того, что в качестве субградиента функции в точке можно выбрать вектор , в зависимости от того, на каком индексе достигается максимум в определении .
Напомним правило построения искомых приближений переменной двойственной задачи (249) по работе алгоритма 2.4 для задачи (248). Положим
а также и — величины продуктивных и непродуктивных шагов алгоритма 2.4 соответственно, и — множества номеров продуктивных и непродуктивных итераций алгоритма 2.4.
Основное преимущество применения алгоритма 2.4 заключается в том, что сложность одной итерации сильно понижается за счёт разреженности векторов . Из этого следует, что на каждом шаге
в векторе обновляется не больше, чем элементов. Из того, что в каждом узле встречаются не более, чем стержней, следует, что обновление влечёт за собой обновление максимум скалярных произведений , каждое из которых можно выполнить за операций. Это сильно упрощает поиск индекса, доставляющего максимум в выражениях (248) для функции на следующей итерации. В конце концов, положив начальный вектор равным нулю, мы инициализируем и вектор , и скалярные произведения нулями, и они остаются разреженными в течение всей работы алгоритма.
Описанная в предыдущем параграфе идея в работе была применена к целому классу разреженных задач оптимизации большой размерности, которых выгодно сводить к негладкой задаче и использовать субградиентные методы. В её основе лежит эффективная процедура для пересчёта максимума чисел, если на каждом шаге обновляется только из них, а начальные значения всех чисел равны нулю.
Опишем вариант организации процедуры нахождения для обновления . Для наглядности выберем при некотором . В этом случае удобно использовать бинарное дерево вычислений [260, рис. 1], приведённое в табл. 3.
На первом шаге (нижний уровень дерева) сравниваются пары чисел . На следующем уровне уже найденные на первом шаге максимумы (). Далее, рекурсивно процесс продолжается шагов. На последнем шаге сравниваются два числа и и после этого находится искомый максимум чисел . Если обновляется одно из чисел , то обновить всё дерево можно за всего операций, идя вверх от данного элемента по направлению к корню дерева. Обновление чисел приводит к трудоёмкости в операций для обновления всего дерева.
Подчеркнём, что в ходе работы алгоритма никогда не хранится полное дерево, имеющее порядка элементов. Так как начальные значения скалярных произведений равны нулю, то дерево изначально пустое, и только в ходе работы алгоритма начинает заполнятся. Одно из преимуществ использования именно структуры дерева заключается в том, что местонахождение каждого обновляемого элемента можно найти за операций. Кроме того, обновление одного из элементов влечёт за собой только операций для обновления максимума. В итоге общее количество операций за всё время работы алгоритма может быть сильно меньше, чем размерность задачи.
Идентификация систем
В этом разделе мы рассмотрим приложение полуопределённого программирования к обработке сигналов, а именно к оптимальному дизайну эксперимента для оценки параметров линейной динамической системы по данным входа и выхода. Здесь под <<системой>> могут подразумеваться самые различные объекты, от канала связи в мобильной телефонии до самолёта, получающего на вход сигналы управления, и выдающий на выходе такие характеристики как скорость, наклон и т.п. Задача идентификации состоит в том, чтобы получить информацию о системе посредством измерения сигнала на входе и выходе. Оценка параметров является стандартной задачей в статистике и её сложность зависит в основном от самой параметризации системы. Нас здесь интересует другой вопрос, а именно, как подобрать такой сигнал для подачи на вход, чтобы собранные данные стали по возможности более информативными. Это задача оптимального дизайна эксперимента. Стандартным пособием по идентификации систем является книга .
с коэффициентами , зависящими только от системы. Функция называется передаточной функцией системы. С её помощью соотношение (253) можно формально записать в виде . Если величины являются векторами, то коэффициенты — матрицы соответствующего размера. В расчётах оператор заменяется комплексной переменной, а передаточная функция представляется голоморфной функцией.
Спектр — комплексно-эрмитовая матрица, и , . Блочную матрицу называют совместным спектром сигналов .
Нетрудно проверить, что спектр сигнала имеет вид
Таким образом, спектр определяется спектром и значениями передаточной функции на единичном круге. С помощью спектра также легко посчитать математическое ожидание:
В реальном мире сигналы подвержены различного рода возмущениям. Поэтому к идеальному выходному сигналу прибавляется шум, моделируемый выражением , где — передаточная функция модели шума, а — последовательность независимых одинаково распределённых случайных величин с нулевым средним и вариацией (обычно гауссовых). При этом функция предполагается аналитической и обратимой вне единичного диска на комплексной плоскости (включая бесконечно удалённую точку). Таким образом, выходной сигнал получается из входного по формуле и сам является случайной величиной. Отметим, что спектр не зависит от частоты и равен .
В системах с открытым контуром входной сигнал никак не зависит от выхода , и вследствие и от шума, и поэтому . Часто необходимо систему регулировать, например, потому что она неустойчива (функция имеет полюса вне единичного круга). Для этого вводится обратная связь с помощью некоторого регулятора . Конкретно, полагается , где — внешнее возмущение, независимое от шума. В этом случае имеем
2 Оценка параметров
Задача идентификации системы состоит в том, чтобы с помощью конечных отрезков длины последовательностей получить оценку параметров , или, что эквивалентно, передаточных функций системы. Чтобы ограничить количество оцениваемых величин, обычно предполагают, что — пара рациональных функций, параметризованная конечным числом параметров, собранных в некотором векторе . При этом динамика системы задаётся парой , соответствующей некоторому <<истинному>> значению вектора параметров. Это допущение, конечно, является идеализацией, но необходимо для дальнейшего анализа.
Каждому значению параметров системы можно сопоставить предиктор
задающий наиболее точный прогноз выхода при известных значениях , сигналов в прошлом. Исходя из заданных значений сигналов , , оценка параметра вычисляется минимизацией нормы ошибки предсказания по . Так как (а часто и ) — случайная величина, то оценка также будет случайной величиной. При достаточно слабых условиях, накладываемых на сигнал входа и параметризацию , математическое ожидание оценки будет совпадать с истинным значением параметра . Её ковариация будет обратной от матрицы информации Фишера
где — градиент предиктора. Отсюда получаем для элементов матрицы информации
где . Заметим, что элементы также являются рациональными функциями от .
Рассмотрим модель авто-регрессии с входом (ARX)
Параметры системы задаются вектором с <<истинным>> значением , . Выходной сигнал системы с параметрами удовлетворяет соотношению , т.е. . Предиктор имеет вид
и линейный по оцениваемым параметрам . Поэтому задача оценки сводится к задаче о наименьших квадратах.
Матрицы задаются строками матрицы коэффициентов в выражении справа. Отсюда получаем матрицу информации
где .
3 Дизайн эксперимента
Теперь допустим, что у нас есть возможность выбора входного сигнала . Мы хотим оценить вектор с как можно меньшей ошибкой. Для этого нужно подобрать спектры так, чтобы матрица информации (255) была большой. Понятно, что есть разные способы измерить величину матрицы информации. По возможности максимизируемую величину выбирают с учётом дальнейшего использования оценки. Например, если на базе оценки будет создаваться новый регулятор для стабилизации системы, то критерием будет служить уровень шума на выходе системы вкупе с этим регулятором.
Для простоты будем полагать, что мы хотим отмаксимизировать след матрицы информации при ограничении на общую энергию сигнала входа. Тогда получим задачу оптимизации
Здесь — суммарная энергия сигнала входа. Рассмотрим, как преобразовать эту задачу в полуопределённую программу.
Во-первых, в исходной формулировке задача бесконечномерная, поскольку спектры являются элементами функциональных пространств. Эту проблему можно решить с помощью введения моментов (см. п. 28.4), используя то обстоятельство, что функции — рациональные. Представим эти функции в виде , где — матрично-значные полиномы, а — скалярный полином, такой что является общим знаменателем всех используемых в постановке задачи рациональных функций. Введём также (обобщённые) тригонометрические моменты
Выражая интегралы через моменты, получаем
Так как в формулировке участвует только конечное число моментов, задача сведена к конечномерной.
В случае системы с открытым контуром внедиагональные блоки матриц равны нулю. Моменты спектра — числа, зависящие от коэффициентов . Таким образом, в качестве переменных выступают только моменты неотрицательной матрично-значной функции на интервале . Дальнейшее преобразование в полуопределённую программу следует стандартным рецептам, используя критерий Каратеодори–Фейера. Этот результат даёт необходимое и достаточное условие на последовательность матриц являться последовательностью тригонометрических моментов некоторой неотрицательной меры на единичном круге. А именно, блочно-тёплицевая матрица
составленная из этой последовательности, должна быть неотрицательно определённой [207, Гл. 6, теорема 4.1] (см. также п. 28.6). Таким образом, к линейному условию в (257) следует прибавить ещё полуопределённое условие .
Если в системе присутствует фиксированный регулятор , то функция не зависит от искомого сигнала . Поэтому моменты также фиксированы, и условие на оставшиеся переменные тоже необходимо и достаточно для того, чтобы они были тригонометрическими моментами спектра , который можно получить по формуле (254) для некоторого сигнала .
Более сложным является случай, когда оптимизация дизайна эксперимента проводится и по внешнему возмущению , и по регулятору . Дополнительная степень свободы, которую мы получаем выбором регулятора, возводит моменты спектра в ранг переменных. Отметим, что для всех , поскольку зависит только от значений до момента включительно. Поэтому функция аналитична вне единичного диска, и мы получаем линейные условия
на переменные для всех . Здесь последний интеграл по единичному кругу равен нулю по теореме Коши. Оказывается, что эти линейные условия совместно с полуопределённым условием необходимы и достаточны для того, чтобы последовательность пар задавала искомые тригонометрические моменты .
Рассмотрим систему из примера 3.8. В качестве полинома в определении моментов (256) следует выбрать . Тогда матрица информации примет вид
Переменные равны нулю в случае отсутствия регулятора, и удовлетворяют соотношению в общем случае.
В итоге получаем полуопределённую программу
а в случае отсутствия регулятора имеем дополнительные условия .
В этом случае матрица в полуопределённом условии распадается на два блока. Блок, содержащий переменные , автоматически неотрицательно определён, а второй блок даёт эквивалентное линейное условие . В итоге программа становится линейной, и её решение имеет вид
Нетрудно проверить, что это решение соответствует постоянному сигналу входа при и альтернирующему при .
Подчеркнём, что ключевым элементом вышеизложенного подхода является полуопределённое представление конуса моментов спектров . Любая задача на оптимальный дизайн эксперимента, в которой функция цены и ограничения записываются в виде линейных комбинаций этих моментов, представляется в виде полуопределённой программы.
Приложения полуопределённого программирования
В этом разделе мы рассмотрим некоторые задачи, которые можно эффективно решать, сформулировав их в виде полуопределённой программы. Примеры почерпнуты из лекций А. Бен-Таля и А.С. Немировского , в которых описаны и другие приложения полуопределённого программирования.
Так как объём единичного шара — константа, задача сводится к максимизации определителя матрицы при ограничениях
где , , — строки матрицы . Поэтому условие запишется в виде конично-квадратичного ограничения
Определитель можно заменить на геометрическое среднее величин , где , а — собственные значения . Конично-квадратичное представление подграфика геометрического среднего было описано на стр. 14.3, там же полуопределённое представление подграфика спектра.
Для размерности , например, получаем следующую полуопределённую программу:
2 Минимальный описанный вокруг политопа эллипсоид
Эллипсоид представляется выпуклым квадратичным неравенством, задающим единичный шар вокруг некоторой центральной точки в евклидовой норме, заданной положительно определённой матрицей . Объём эллипсоида вычисляется по формуле
Таким образом, задача сводится к максимизации определителя матрицы при ограничениях
Каждое из этих неравенств переписывается в виде
Полуопределённая программа достраивается как и в предыдущем пункте с помощью представлений подграфиков геометрического среднего и спектра.
Для размерности получаем полуопределённую программу
3 Поиск функции Ляпунова
про которую известно, что матрица системы в любой момент времени принадлежит некоторому множеству .
Квадратичная функция , , называется функцией Ляпунова системы, если существует такое, что производная этой функции в силу динамической системы удовлетворяет условию
для всех . Наличие функции Ляпунова гарантирует, что система устойчива и любая её траектория стремится к началу координат.
Достаточным для существования квадратичной функции Ляпунова очевидно является условие
Для данной матрицы это условие не является полуопределённым, так как оно не линейно по искомым переменным .
Однако можно воспользоваться тем фактом, что матричные неравенства однородные по . Поэтому условие можно заменить на условие . С другой стороны, в силу конечной обусловленности положительно определённой матрицы существование константы , удовлетворяющей неравенству , гарантирует существование константы такой, что имеет место неравенство . Поэтому (258) эквивалентно условиям
Можно ли эту проблему решить с помощью полуопределённой программы, зависит от множества . Так как условия выпуклы по , задача решается в случае, когда — политоп, т.е. выпуклая оболочка конечного числа матриц .
Тогда поиск функции Ляпунова сводится к полуопределённой программе
Если существует строго положительное допустимое значение переменной , то соответствующая матрица задаёт функцию Ляпунова. В противном случае достаточное условие (258) не выполняется.
4 Поиск линейного стабилизирующего регулятора
где — вектор состояния системы и — вектор управления. Задача состоит в построении линейного закона управления , стабилизирующего систему.
Достаточным условием устойчивости управляемой регулятором системы является существование квадратичной функции Ляпунова , , удовлетворяющей условию
для всех . Условие эквивалентно нелинейному матричному неравенству
В этом случае нелинейность происходит не только от правой части, но и от произведения в левой части неравенства, в которое входят обе матричные переменные .
Если произведение можно устранить как в п. 31.3, то от произведения можно избавиться умножением неравенства на слева и справа. Получаем неравенство
которое линейно по и . В итоге получаем полуопределённую программу
Если существует строго положительное допустимое значение переменной , то из соответствующей матрицы можно восстановить функцию Ляпунова и управление по формулам , . В противном случае достаточное условие (259) не выполняется.
5 Задача о максимальной клике
Задачей о максимальной клике (MaxClique) называют проблему вычисления кликового числа данного графа . Эта комбинаторная задача входит в список Карпа NP-полных проблем .
Кликой графа называют подмножество вершин такое, что любые две вершины из соединены ребром. Максимальной кликой называется клика, которая перестаёт быть кликой при добавлении любой дополнительной вершины. Кликовым числом графа называется мощность наибольшей клики.
Верхней оценкой кликового числа является -функция Ловаша, которую можно вычислить полуопределённой программой
Здесь — матрица смежности графа, — комплементарный к граф, а обозначает матрицу, все элементы которой равны единице. Умножение по-элементное, так называемое произведение Адамара.
Действительно, пусть — множество вершин графа , а — наибольшая его клика, мощности . Определим матрицу посредством
Из этого следует, что матрица допустима, и поэтому её цена не превышает оптимальное значение, т.е. .
Кликовое число графа можно представить в виде оптимального значения коположительной программы
Заменяя коположительный конус на его внутреннюю полуопределённую аппроксимацию (см. пример 3.2), получаем верхнюю оценку кликового числа оптимальным значением полуопределённой релаксации
Эта релаксация сложнее, чем -функция Ловаша, поскольку помимо матричного неравенства порядка она содержит ещё и линейных неравенств, но она и сильнее.
Приложения метода условного градиента
Кроме того, пусть все ограничены сверху по -норме некоторым положительным числом : , .
Общая сложность первых итераций, таким образом, составляет операций. Для оценки скорости сходимости установим степень гладкости целевой функции. Для любых в -шаре имеем
так как все элементы матрицы ограничены константой по модулю. Таким образом, целевая функция имеет константу Липшица , а допустимое множество — диаметр 2. Отсюда получаем оценку (см. (136)):
2 Выявление аномалий
В качестве такого множества можно взять, например, шар наименьшего радиуса, содержащего все точки . Данная задача формулируется в виде проблемы оптимизации
Перейдём к двойственной задаче. Введём множители Лагранжа . Получаем
где — стандартный (вероятностный) симплекс.
Эту задачу можно решать методом Франк–Вульфа (см. п. 21). На шаге алгоритма нам нужно максимизировать градиент целевой функции в текущей точке (в данном разделе индекс номера итерации у поставлен сверху, поскольку есть нижний индекс, отвечающий номеру компоненты), т.е. линейную функцию по симплексу, т.е. найти максимальную компоненту этого градиента. Следующий двойственный вектор вычисляется как линейная комбинация предыдущего вектора и единичного вектора . Отсюда следует, что вектор имеет не более ненулевых компонент.
При условии ограничения на 2-норму точек скорость сходимости получается аналогичной полученной в предыдущем п. 32.1.
Пример использования метода эллипсоидов для решения двойственной задачи малой размерности
Рассмотрим ещё один пример оптимизационной задачи (см. также теорему 2.17), для которой оказывается выгоднее решать двойственную задачу, а не прямую задачу. Задачи такого вида часто необходимо решать на итерациях некоторых современных численных методов оптимизации (см. также раздел 25.8):
где , .
Задачу (262) можно переписать в следующем, почти <<сепарабельном>> виде:
С помощью метода множителей Лагранжа получаем, что необходимо решить задачу
где и
Прямые переменные , и двойственные , связаны соотношением для :
а можно найти численным способом, решив задач одномерной выпуклой оптимизации на отрезке , например, с помощью метода деления отрезка пополам, или метода Фибоначчи / золотого сечения (см. и раздел 17.1). Таким образом, если задаться некоторой точностью , то за время можно найти решение прямой задачи — такой , что
Попробуем теперь оценить время решения двойственной задачи (263), следуя . По формуле Демьянова–Данскина–Рубинова (см. п. 6):
Поскольку (263) является задачей оптимизации на двумерной плоскости (т.е. в пространстве малой размерности), то её можно решить, например, методом эллипсоидов (см. п. 17.3).
Если , положим , , . Тогда
Если , положим , , . Тогда
Следовательно, задачу (263) можно переписать:
При этом стоимость одной (без учета стоимости вычисления субградиента) итерации будет . Число итераций можно сократить в раз, немного увеличив сложность итерации (см., например, и ).
Резюмируя написанное выше, получим, что в нашем случае () число итераций метода эллипсоидов равно , а полная стоимость каждой итерации равна .
Однако решение задачи (263) (или (266)), в смысле (267), ещё не гарантирует возможность точного восстановления решения задачи (262). Для того чтобы показать, что метод эллипсоидов с той же по порядку точностью позволяет восстанавливать (без каких бы то ни было существенных дополнительных затрат) решение задачи (262), нужно воспользоваться прямо-двойственностью этого метода . Ввиду компактности множества (единичный симплекс), на котором ведётся оптимизация, в прямом пространстве и сильной выпуклости функционала прямой задачи (262) мы не просто восстанавливаем из прямо-двойственной процедуры метода эллипсоидов решение задачи (262) с точностью по функционалу (прямой задачи) порядка , но и делаем это в нужном нам более сильном смысле (сравните также с [143, п. 4.6] и [23, п. 2]). Формула 5.5.15 из и результаты раздела 25.8 гарантируют при этом справедливость теоремы 2.16.
Пример относительно гладкой оптимизационной задачи
В качестве примера применимости свойства (160) относительной гладкости функции рассмотрим задачу -оптимального плана эксперимента (-optimal design). В на базе концепции относительной гладкости обоснована возможность использования для этой задачи неускоренного метода градиентного типа (см. п. 25.3). До появления статьи для такой задачи были известны оценки сложности для методов внутренней точки (эти методы описываются выше в разделе 24) или метода Хачияна и его аналогов. Метод Хачияна несколько похож на метод условного градиента (см. раздел 21).
где — диагональная матрица, . Задача -оптимального плана эксперимента возникает как лагранжева двойственная задача к хорошо известной в вычислительной геометрии задаче о нахождении эллипсоида минимального объёма, покрывающего заданный набор точек (см. п. 31.2). Она имеет приложения в вычислительной статистике и анализе данных . Исследования по задаче об эллипсоиде минимального объёма, который покрывает заданный набор точек, начались с работы . Это означает, что разные подходы к данной задаче исследуются уже более 60 лет. Относительно современный обзор достижений по ней можно найти в .
По задаче -оптимального плана эксперимента известно довольно много работ, основанных на применении методов внутренней точки (см., например, ), а также метода Хачияна или его аналогов (см., например ). В работе показана применимость к данной задаче неускоренного градиентного метода с относительной гладкостью. В настоящем пособии приведён аналог этого метода в модельной общности — алгоритм 2.10. Для задачи (268) за счёт подходящего выбора прокс-функции
Так как и дважды дифференцируемы на положительном ортанте, а следовательно, во всех точках внутренности допустимого множества
задачи (268), то условие -гладкости относительно эквивалентно условию . Имеем , а также , где — вспомогательная матрица, а — произведение Шура матрицы саму на себя. Если , то , поскольку левая часть этого матричного неравенства является оператором проектирования. Поэтому . Умножив обе части данного матричного неравенства , получим . Поэтому
Напомним, что стандартная схема итерации методов первого порядка с общей дивергенцией Брэгмана имеет следующий вид (см. раздел 25):
Итерация вида (272) приводит к необходимости решать вспомогательные подзадачи вида
для соответствующего однозначно определяемого линейного функционала . Если, как имеет место в рассматриваемом случае, функция обладает барьерным свойством по отношению к множеству , т.е. , то шаг (272) можно записать в виде
Для функций общего вида разрешение этого уравнения по отношению к приводит к нелинейной системе уравнений. Ниже мы покажем, однако, что в случае прокс-функции (269) вычисление следующей точки сводится к выпуклой одномерной задаче.
Приведём формулировку и доказательство результата [233, теорема 4.1] о скорости сходимости градиентного метода (272) для задачи (268). Этот результат аналогичен выводам пункта 25.3 для алгоритма 2.10, но в качестве точки-выхода используется вместо усреднения, выписанного в листинге алгоритма 2.10. Напомним (см. упражнение 2.15), что для неускоренного градиентного метода с постоянным шагом (272) можно получить оценку
для всякого из допустимого множества задачи, где — начальная точка. Напомним также, что для рассматриваемой нами функции из (268) при выборе прокс-функции из (269) можно положить (см. (270)).
Пусть для задачи (268) применяется градиентный метод (272) с начальной точкой и прокс-функцией (269). Если при выбрать количество итераций алгоритма (272) согласно условию
то справедливо неравенство .
Введём вспомогательную величину . Тогда , поскольку . Пусть . Выпуклость функции означает, что
Далее, ввиду (269) с учётом выбора начальной точки имеем
поскольку и , а также . Следовательно, после итераций алгоритма (272) из условия теоремы получаем
где первое неравенство в (278) следует из (274) при и неравенства (276), второе неравенство следует из (277) и выбора вспомогательной величины , а третье неравенство — из (275). Цепочка неравенств (278) завершает доказательство теоремы. ∎
В общем случае такие задачи не могут быть решены точно. В этом контексте интересен приведённый ранее в пункте 25.2 подход, который позволяет описывать влияние на оценки скорости сходимости градиентных методов погрешностей решения вспомогательных подзадач на их итерациях.
Однако для прокс-структуры (269), соответствующей задаче -оптимального плана эксперимента, задача (273) может быть записана в виде
и сводится к одномерной задаче. Условия оптимальности первого порядка принимают вид
для некоторого скалярного множителя . Очевидно, что для всех имеем , где , и остаётся лишь определить значение параметра . Обратим внимание, что должно удовлетворять условию
и является элементом открытого интервала . Ясно, что строго убывает на и при , при . Поэтому уравнение (279) имеет единственное решение на интервале . Для нахождения этого решения можно применить, например, метод Ньютона.
В табл. 4 приведено сравнение известных результатов об оценках сложности задачи -оптимального плана эксперимента для градиентного метода с относительной гладкостью и метода типа условного градиента (метод Хачияна) . В обоих методах используется начальная точка .
Как видим из табл. 4, хотя количество итераций градиентного метода с использованием относительной гладкости может быть меньшим по сравнению с методом Хачияна (некоторый аналог метода условного градиента), последний всё равно выигрывает за счёт менее дорогой итерации. Однако стоит отметить, что такие оценки для метода Хачияна получены за счёт специфики конкретной постановки задачи (268). Метод Хачияна и подходы других смежных работ заточены на геометрию задачи об эллипсоиде минимального объёма (-оптимального плана эксперимента) и не являются частью общей теории методов условного градиента. В то же время для градиентного метода с относительной гладкостью известны доказанные результаты об оценках скорости сходимости, которые оптимальны на классе выпуклых относительно гладких задач . Кроме того, гладкость задачи (268) относительно подходящей прокс-функции указывает на применимость всех подходов и результатов п. 25.3, т.е. возможность адаптивной настройки в ходе работы метода на константу (относительной) гладкости с возможностями использования на итерациях неточной информации (значений целевой функции и/или градиента). Применение неускоренных методов гарантирует отсутствие накопления в оценках сложности таких погрешностей. Похожих результатов для методов условного градиента не известно. Отметим, однако, в этом плане описанную нами в п. 25.6 связь метода условного градиента с ускоренными градиентными методами. По-видимому, это означает, что возможно выписать оценки для метода условного градиента в модельной общности, с учётом неточностей используемой информации. Но при этом, как и для ускоренных градиентных методов, возможно накопление в таких оценках параметра, соответствующего погрешностям (см. п. 25.6).
Из табл. 4 видно, что при близких значениях и оценки сложности для метода Хачияна и градиентного метода с относительной гладкостью сопоставимы при не слишком малом значении . При этом проведённые Д. А. Пасечнюком эксперименты в [296, Appendix F] показали, что применение адаптивного варианта градиентного метода (алгоритм 2.10) с относительной гладкостью может позволить существенно улучшить качество выдаваемого методом решения.
Вычислительные аспекты
В этом разделе собраны сюжеты, не имеющие прямого отношения к выпуклой оптимизации и к оптимизации в целом, однако часто и активно использующиеся специалистами по численным методам оптимизации в своей работе. Было решено собрать такие сюжеты вместе и привести их в конце пособия.
Как было продемонстрировано ранее на различных примерах, для решения многих практических задач оптимизации необходимо иметь возможность численно вычислять производные целевых функций (градиенты, гессианы, в отдельных случаях производные высших порядков) в точках. В частности, большая часть современных алгоритмов машинного обучения основана на обязательном использовании градиентов для решения задачи оптимизации. В этом разделе будут рассмотрены возможные варианты вычисления производных и подробно разобран наиболее перспективный и часто использующийся в машинном обучении вариант --- так называемое автоматическое дифференцирование (АД) В зарубежной литературе АД иногда называют алгоритмическим дифференцированием или даже просто ¡¡autodiff¿¿. .
Все существующие на данный момент методы вычисления производных для использования в дальнейших вычислениях на компьютере можно разделить на четыре группы:
Ручной аналитический вывод формулы для производной и последующее использование формулы в программе.
где — -й единичный вектор и — шаг.
Символьное дифференцирование. Реализовано в системах компьютерной алгебры, таких, как Maple, Mathematica, Maxima.
Далее рассмотрим подробнее последний из перечисленных способов вычисления производных, который магическим На самом деле никакой магии, конечно, а обычная математика. образом лишён главных недостатков предыдущих способов, но сохраняет их достоинства.
Автоматическое дифференцирование — это общее название техник вычисления аналитических значений производных функции с использованием компьютерного представления данной функции.
В АД есть два основных режима: прямой и обратный. Проиллюстрируем разницу между этими режимами на простом примере.
На рис. 24 показано, что процесс вычисления данной функции может быть представлен как последовательность элементарных операций, выполняемых в определённом порядке. Например, мы не можем выполнить сложение и до тех пор, пока не посчитаем результат произведения .
В прямом режиме вычисление градиента происходит параллельно с вычислением самой функции. Ассоциируем с каждой вершиной графа на рис. 24 некоторую векторно-значную переменную , соответствующую градиенту переменной, относящейся к данной вершине. Одновременно с независимыми переменными инициализируем векторы , соответствующие этим переменным, единичными векторами , , в соответствии с соотношением , , где — символ Кронекера. Далее на каждом шаге вектор , соответствующий вычисляемой текущей переменной , считается в соответствии с правилом дифференцирования, соответствующим текущей вершине, т.е.,
Таким образом, градиент считается параллельно со значениями . Отметим, что гораздо дешевле, чем весь градиент, считать производную по направлению. Для этого векторно-значная переменная заменяется скалярной и инициализируется элементами вектора направления. Прямой режим автоматического дифференцирования можно осуществить, например, перегрузкой функций или процедур, вычисляющих значения промежуточных переменных .
В обратном режиме вычисление всего градиента скалярной функции является таким же затратным, как вычисление одной производной по направлению в прямом режиме. В обратном режиме каждой вершине сопоставляется скаляр , соответствующий коэффициенту чувствительности выходной функции к изменениям значения переменной , т.е., частной производной (хотя это обозначение не совсем корректно, поскольку промежуточные переменные не являются независимыми). Однако вычисление значений происходит не одновременно с вычислением , а во время отдельной второй фазы, которая запускается уже после того, как все вычислены. Эта фаза начинается инициализацией скаляра , соответствующего выходной вершине, единицей, . Затем остальные значения заполняются от вершины к вершине в обратном направлении в соответствии с правилом дифференцирования, соответствующим текущей вершине, т.е.,
Объясним этот принцип на примере вычисления значения . Значение переменной двояким образом влияет на конечный результат , а именно посредством зависимости переменных и от . Так как эти эффекты складываются в первом порядке малости, значение вычисляется как сумма двух соответствующих членов. Чувствительность значения к изменениям значений определяется уже посчитанными значениями . В итоге получаем
Заметим, что частные производные , в этом примере ассоциируются с рёбрами вычислительного графа. Эти производные можно уже вычислить в прямом проходе параллельно со значениями переменных , перед проходом в обратном режиме, вычисляющим значения .
Вычисление градиента скалярной функции в обратном режиме требует выполнения числа операций в 4–5 раз большего, чем для самой скалярной функции . Однако, в отличие от прямого режима, требуется сохранять значения всего вычислительного графа. Если выходных переменных несколько, то для вычисления градиента каждой из них необходим одни проход по графу в обратном режиме. Таким образом, один проход в прямом режиме считает один столбец матрицы Якоби частных производных, в то время как один проход в обратном режиме считает одну строку матрицы Якоби. Если необходимо вычислить все частные производные, то в первом приближении прямой режим менее затратный в том случае, когда больше выходных переменных, чем входных, а обратный режим менее затратный в случае, когда перевешивает число входных переменных.
В ситуации, когда нужно минимизировать некоторую функцию невязки от выходных переменных, например, в обучении нейронных сетей, можно ограничиться одним проходом в обратном режиме, инициализировав скаляры , соответствующие выходным переменным, частными производными функции невязки по этим переменным.
В глубоком обучении (нейронных сетей) обратный режим АД часто называют методом обратного распространения ошибки (backpropagation). Именно АД является одной из ключевых технологий, которые определили успех <<революции>> глубокого обучения.
На данный момент существует несколько удобных программных реализаций для создания вычислительного графа и выполнения операций с ним. Эти реализации можно поделить на два типа (подробнее см. п. 35.2):
Вычислительный граф полностью строится заранее, до выполнения программы. Пример пакета: Tensorflow.
Вычислительный граф строится динамически, во время выполнения программы (JIT, компиляция ’’just-in-time’’). Примеры пакетов: Tensorflow Eager, JAX, PyTorch.
2 Оптимизационные пакеты
Понимать, что стоящая перед вами задача оптимизации является выпуклой, а также уметь сводить задачи оптимизации к выпуклым задачам (в некоторых случаях это удаётся), очень важно. После этого для численного решения задачи выпуклого программирования можно воспользоваться существующими оптимизационными пакетами. Однако в настоящее время размерность задач, которые можно решить с помощью таких пакетов, ограничена примерно – переменными.
Очень часто, для того, чтобы можно было воспользоваться возможностями современных пакетов, выпуклая оптимизационная задача должна быть хорошо структурирована, то есть переформулирована в виде конической программы над симметричными конусами одного из <<популярных>> семейств (положительный ортант, конусы Лоренца, матричные конусы). Конические программы над данными конусами эквивалентны, соответственно, задачам линейного программирования, конического программирования второго порядка и полуопределённого программирования (см. подробнее гл. 1, раздел 14). В свою очередь, все основные приложения выпуклой оптимизации в инженерии, статистике, принятии решений и других областях могут быть сведены к решению задач одного из таких типов.
Наиболее известным и популярным из оптимизационных пакетов для выпуклого программирования является пакет CVX (http://cvxr.com/cvx/), являющийся расширением Matlab. После установки данного расширения в среде Matlab можно использовать специальный язык моделирования для решения задач выпуклой оптимизации. При этом целевая функция и ограничения задачи указываются с помощью стандартных конструкций Matlab. Обычный код на Matlab можно легко комбинировать с кодом для пакета CVX. Это позволяет выполнить в Matlab вычисления, необходимые для формулировки оптимизационной проблемы, и сразу же решить её с помощью CVX, и затем обработать полученные результаты также в Matlab.
код на CVX, с помощью которого можно получить решение частного случая этой задачи в Matlab, выглядит так:
В пакете CVX реализован особый подход к решению задач выпуклого программирования, который авторы пакета Стивен Бойд и Майкл Грант назвали <<управляемое выпуклое программирование>> (disciplined convex programming, DCP) . Управляемое выпуклое программирование --- это методология, предназначенная для конструирования выпуклых задач по особому набору правил См. также . В указано, что DCP по сути выполняется с помощью специального типа ¡¡анализа¿¿, который состоит из двух частей: 1) ¡¡строительных материалов¿¿, ¡¡кирпичиков¿¿ — набора множеств и функций, которые допускают явное представление через упомянутые выше семейства симметричных конусов; 2) набора операций (¡¡правил¿¿) над этими коническими представлениями, которые сохраняют выпуклость (например, неотрицательные линейные комбинации выпуклых функций, конечное пересечение выпуклых множеств, см. подробнее пп. 2, 4). (http://cvxr.com/dcp/). Этот набор правил представляет собой достаточные, но не необходимые условия выпуклости целевой функции и ограничений. Выпуклые функции и множества в концепции DCP получаются путём применения к стартовой библиотеке функций и множеств, про которые точно известно, что они выпуклые, некоторого набора преобразований, сохраняющих выпуклость. Полная алгоритмичность этого набора преобразований позволяет легко реализовать эту концепцию на языке программирования, что и было крайне успешно выполнено в пакете CVX.
Если пользователь пакета CVX знает, что его задача выпукла, и может представить её согласно набору правил DCP, то задача легко и быстро решается в пакете CVX. Следует отметить, что если выпуклая задача сформулирована с нарушением правил DCP, то пакет не сможет её решить в такой форме. Но если переформулировать задачу, то решение будет найдено. Так, например, если стоит задача минимизировать 2-норму при каких-то выпуклых ограничениях, которая, как известно, является выпуклой функцией, но для CVX задача сформулирована как minimize sqrt(sum(x.^2)), то пакет выдаст ошибку, так как выпуклость данной функции не следует из набора правил DCP (в DCP считается, что функция вогнута, см. рис. 25).
Следует отметить, что в пакете CVX по умолчанию используется некоммерческий оптимизационный солвер SDPT3 , но можно подключить и ряд других солверов: SeDuMi (http://sedumi.ie.lehigh.edu/, наряду с SDPT3 входит в стандартный дистрибутив CVX), GLPK (http://www.gnu.org/software/glpk/, экспериментальная поддержка, только для задач линейного и целочисленного программирования), а также коммерческие MOSEK и Gurobi (см. раздел 35.2). Для использования последних требуется также и профессиональная версия (лицензия) CVX. Такое разнообразие объясняется тем, что каждый солвер имеет свой ограниченный набор возможностей (в частности, поддержку разных типов ограничений) и производительности. Эксперименты авторов пакета CVX показали http://web.cvxr.com/cvx/doc/solver.html, что для большинства проблем SeDuMi находит решение быстрее, чем SDPT3, но надёжность у последнего выше, именно поэтому он выбран солвером по умолчанию.
Оболочки, предоставляющие возможность использовать CVX-подобный синтаксис представления задач выпуклого программирования, в настоящее время (на конец 2020 года) выпущены для следующих языков программирования (помимо MATLAB):
Python, пакет CVXPY (https://www.cvxpy.org/) Для CVXPY в 2019 году появилась также библиотека cvxpylayers (https://github.com/cvxgrp/cvxpylayers) с возможностью включать в вычислительные графы (в том числе искусственные нейронные сети), создаваемые в PyTorch, JAX и TensorFlow, параметризованные задачи выпуклого программирования (т.е. объекты CVXPY), с целью далее использовать для этих объектов автоматическое дифференцирование.;
Julia, пакет Convex.jl , https://jump.dev/Convex.jl/stable/. Является частью экосистемы JuMP, набора пакетов для решения задач математического программирования на языке Julia: https://jump.dev/.
Как известно, целью обучения практически любой модели машинного обучения, в том числе и модели с нейронной сетью , является уменьшение заданной функции ошибки (функции потерь). Следовательно, и здесь возникает задача оптимизации, для решения которой необходимы эффективные методы. В случае нейронных сетей (HC) возникающая оптимизационная задача обычно является задачей без ограничений (оптимальные веса нейронов чаще всего могут быть произвольными вещественными числами). Но это всё равно не делает задачу обучения НС проще, поскольку, во-первых, возникающая целевая функция потерь является невыпуклой, а, во-вторых, даже не самая сложная архитектура НС может содержать миллионы параметров (весов), что превращает задачу нахождения оптимальных параметров в критично требовательную к вычислительным ресурсам. Тем не менее в настоящее время для обучения НС уже создан ряд удобных библиотек, которые позволяют за несколько строк кода создать и натренировать (обучить) нейронную сеть с любой современной архитектурой. К тому же за одну строку кода можно добавить возможность тренировки НС на видеокарте (GPU), что значительно ускоряет этот процесс (учитывая сверхбольшую размерность задачи!).
Два наиболее популярных фреймворка для глубокого обучения (так называют сейчас все эти библиотеки из-за основного применения) были созданы конкурирующими корпорациями-гигантами. TensorFlow был разработан во внутреннем подразделении ‘‘Google Brain’’ компании Google и активно используется внутри Google в их собственных продуктах, работающих с применением возможностей искусственного интеллекта (Gmail, Photos, поиск, …). PyTorch был создан в AI Research lab компании Facebook. Рассмотрим их немного подробнее.
TensorFlow — платформа с открытым исходным кодом и экосистема инструментов, библиотек и ресурсов, предназначенная для решения задач машинного обучения. Cвоё название получила из-за основного примитива платформы — многомерного массива, или тензора.
Формально, тензором называется линейное по каждому из аргументов отображение
где — векторное пространство, — сопряжённое пространство.
Тензоры участвуют во всех вычислениях. В TensorFlow определены функции над тензорами, производные которых вычисляются автоматически (здесь тоже работает автоматическое дифференцирование). Эти возможности работать с функциями над тензорами и получать их производные любых порядков — ключевое отличие обычных библиотек для работы с массивами типа NumPy от фреймворков глубокого обучения.
Все операции должны быть представлены в виде вычислительного графа См. стр. 35.1., в первых версиях TensorFlow статического (без изменения состояния). Тензор имеет начальное состояние, <<прогоняется>> через вычислительный граф операций, и выходит с обновлёнными значениями. Таким образом, вершинами графа являются математические операции, а в качестве рёбер можно рассматривать тензоры с данными. Модель вычислений в виде графа оказывается очень удобной по нескольким причинам: можно легко распределить вычислительную работу на несколько процессоров; можно сохранить граф вычислений для использования в другой момент времени.
Одной из полезных особенностей TensorFlow является набор инструментов TensorBoard, предназначенный для визуализации экспериментов, структуры нейронной сети, процесса вычисления в TensorFlow, и в том числе графического представления вычислительного графа. Также Google предоставляет удобную среду Colab notebook (https://colab.research.google.com) для программирования прямо в браузере, без необходимости устанавливать что-либо на свой компьютер и с поддержкой всех возможностей TensorFlow.
Первый релиз TensorFlow состоялся в ноябре 2015 года. Обновлённая версия, которая сейчас называется TensorFlow 2.0, была выпущена в сентябре 2019 года. Примерно в то же время вышел обзор <
Часто вместе с TensorFlow используется и библиотека Keras (keras.io) — высокоуровневое API на языке Python для вызова реализаций композиции различных часто используемых строительных блоков нейронных сетей (слоёв всех существующих типов, функций активации, оптимизационных алгоритмов). До версии 2.3 Keras поддерживал и другие фреймворки глубокого обучения для построения графа вычислений и проведения автоматического дифференцирования (в том числе и долгое время занимавшую лидирующие позиции среди таких фреймворков библиотеку Theano , созданную в университете Монреаля, в группе одного из ведущих мировых экспертов в области искусственного интеллекта и первооткрывателей глубокого обучения Йошуа Бенджио (Yoshua Bengio)). Начиная с версии 2.4, Keras поддерживает только TensorFlow 2.0.
PyTorch — библиотека для машинного обучения с открытым исходным кодом, созданная в Facebook на основе написанной на языке Lua библиотеки Torch. Первая версия вышла осенью 2016 года. Несмотря на название, в дополнение к основному интерфейсу на Python, PyTorch имеет также ограниченную поддержку языков С++ и Java.
Так же, как и TensorFlow, PyTorch оперирует с тензорами и рассматривает любую модель как ориентированный ациклический граф. Для получения производных с целью последующей оптимизации используется автоматическое дифференцирование. Можно использовать все популярные библиотеки Python вместе с PyTorch, в том числе Matplotlib и Seaborn для визуализации. Стоит упомянуть также PyTorch Lightning, появившуюся в середине 2019 года библиотеку на Python с открытым исходным кодом, которая создана для учёных, работающих в области искусственного интеллекта. PyTorch Lightning преобразует код на PyTorch таким образом, чтобы отделить науку от инженерии, то есть сделать код экспериментов с нейронными сетями легкочитаемым и масштабируемым, а сами эксперименты — повторно воспроизводимыми, в том числе и распределённо. Lightning имеет абстракции в коде для превращения цикла обучения в объектно-ориентированную структуру, с заменой сложных, повторяющихся в любом коде обучения НС, конструкций на стандартные макросы. В конце 2019 года конференция NeurIPS рекомендовала использование PyTorch Lightning в качестве стандарта для представления кода к статьям, поданным на эту конференцию.
Проведите экспериментальное сравнение представленных в Pytorch оптимизационных алгоритмов на какой-либо задаче выпуклого программирования из представленных в пособии. Пример кода можно найти, например, здесь: https://github.com/Karina1997/math-optimization-ellipsoids-method. Обратите внимание, что в представленных экспериментах библиотечные методы сравниваются на практике с методом, разработанным автором репозитория. Подобный подход возможен из-за того, что PyTorch позволяет подключать сторонние методы в качестве оптимизационных, что удобно при научных исследованиях.
К недостаткам PyTorch можно отнести отсутствие поддержки статических вычислительных графов Что в какой-то мере компенсируется возможной оптимизацией модели с помощью TorchScript.. PyTorch поддерживает только динамические вычислительные графы, в отличие от TensorFlow 2.0, в котором есть поддержка обоих типов графов.
В качестве оптимизационных алгоритмов в PyTorch (на конец 2020 года) реализованы
Adadelta (метод с адаптивным подбором скорости обучения) ;
Adagrad (адаптивный субградиентный метод для онлайн-обучения и стохастической оптимизации) ;
несколько вариантов метода Adam (метод для стохастической оптимизации) ;
стохастический градиентный спуск, обычный, усреднённый и с ускорением;
L-BFGS (квазиньютоновский метод с ограниченной памятью) ;
RMSprop Д. Хинтона (https://www.cs.toronto.edu/˜tijmen/csc321/slides/lecture_slides_lec6.pdf);
Rprop (эвристический алгоритм устойчивого обратного распространения) .
Очень важно понимать, что, несмотря на общее устоявшееся название — фреймворки для глубокого обучения, TensorFlow и PyTorch не являются исключительно библиотеками обучения нейронных сетей. Их можно также использовать для выполнения численных расчётов на графах, в том числе и для выполнения автоматического дифференцирования (см. раздел 35.1).
Перспективной для выполнения АД библиотекой машинного обучения является созданная в Google Research Python-библиотека JAX Использование JAX в DeepMind для исследований в ML: https://deepmind.com/blog/article/using-jax-to-accelerate-our-research (https://github.com/google/jax). По сути, это обновлённая версия библиотеки Autograd (https://github.com/hips/autograd), соединённая с технологией ускоренных векторных вычислений XLA (Accelerated Linear Algebra) для моделей TensorFlow. JAX может автоматически дифференцировать функции Python, совместима с NumPy и SciPy, и поддерживает прямой и обратный режим дифференцирования.
Стоит упомянуть также Scikit-learn — самую популярную на сегодняшний день библиотеку на языке Python, предназначенную для решения задач машинного обучения и анализа данных. Библиотека также включает несколько реализованных моделей нейронных сетей. В частности, многослойный перцептрон (https://scikit-learn.org/stable/modules/neural_networks_supervised.html) Многослойный перцептрон (МСП) — класс искусственных нейронных сетей прямого распространения. МСП состоит по крайней мере из 3 слоёв узлов: входного, скрытого и выходного слоя. Узлы всех слоёв, за исключением входного, представляют собой модели искусственных нейронов с нелинейной функцией активации. и ограниченную машину Больцмана (https://scikit-learn.org/stable/modules/neural_networks_unsupervised.html#restricted-boltzmann-machines) Ограниченная машина Больцмана (ОГМ) — генеративная стохастическая нейронная сеть, которая может обучиться определять вероятностное распределение по множеству входных данных. Впервые такая архитектура была получена в 1986 году, но расцвет этих сетей пришёлся на середину двухтысячных, когда Джеффри Хинтон с коллегами разработали для них быстрые алгоритмы обучения . В настоящее время ОГМ в практических приложениях почти полностью вытеснены генеративно-состязательными нейронными сетями (GAN) и вариационными автоэнкодерами..
Кроме вышеупомянутого программного обеспечения, следует обратить внимание также на следующие пакеты:
SciPy.optimize — библиотека на Python (https://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html), предназначенная для решения задач минимизации, в том числе и с ограничениями. В библиотеку входят солверы для задач нелинейного выпуклого программирования, глобальной оптимизации, линейного программирования, регрессии, а также реализации метода наименьших квадратов, и нахождения корней уравнений. В частности, в библиотеке есть реализации метода сопряжённых градиентов, квазиньютоновских методов, методов доверительных областей и многих других. Кроме того, в оболочке minimize можно подключить и свой собственный метод минимизации, реализованный на Python, что может быть полезно для тестирования и сравнения производительности этого метода с другими.
IBM ILOG CPLEX Optimization Studio (часто название сокращают до CPLEX) — корпоративная аналитическая система для поддержки принятия решений, включающая средства для описания математических моделей, приводящих к оптимизационным задачам на специальном языке Optimization Programming Language (OPL) и высокопроизводительный пакет для решения задач линейного, смешанного целочисленного и квадратичного программирования большой размерности CPLEX (https://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/).
MOSEK — коммерческий солвер, предназначенный для решения задач выпуклой оптимизации большой размерности (https://www.mosek.com/). Имеет интерфейсы для языков программирования C, C++, Java, MATLAB, .NET, Python и R. Бесплатен для академического использования. Имеет демо-версию (https://solve.mosek.com/web/index.html) с лимитом в 1000 переменных и 1000 ограничений и временным лимитом на расчёт 20 секунд. Широко используется для расчётных задач в финансовом секторе, энергетике и лесной промышленности.
Gurobi — один из наиболее мощных на текущий момент коммерческих солверов задач математического (линейного и квадратичного) программирования. Бесплатен для академического использования. Есть интерфейсы к языкам программирования C, C++, Java, Matlab, Python, R. На сайте выложен набор Jupyter-ноутбуков с примерами использования (https://gurobi.github.io/modeling-examples/intro_to_modeling/introduction_to_modeling.html, https://www.gurobi.com/resource/discover-how-you-can-boost-your-mathematical-optimization-modeling-skills-with-python/).
Local Solver — коммерческий солвер (https://www.localsolver.com/home.html), позиционирующий себя как универсальное решение для любых бизнес-задач, в которых возможна какая-либо оптимизация, в том числе и невыпуклая. Бесплатен для академического использования (обновляемая лицензия на один месяц). Есть интерфейсы к языкам программирования C++, Java, Python.
Системы алгебраического моделирования Для работы со многими из вышеупомянутых солверов необходимо подготовить описание оптимизационной задачи на одном из специальных языков так называемого алгебраического моделирования.
Языки алгебраического моделирования занимают среднюю позицию между математическим описанием оптимизационной задачи и созданием алгоритма решения такой задачи на языке программирования. Они позволяют подготовить описание задачи на высокоуровневом символьном языке и затем передать его солверу, тем самым упрощая анализ и проверку модели. В таких языках используется машиночитаемая адаптация традиционных математических выражений, таких как , , , для описания оптимизационных задач как задач минимизации или максимизации, с учётом ограничений — в виде равенств или неравенств. Эти языки сыграли и продолжают играть существенную роль в развитии применения оптимизации для таких дисциплин, как исследование операций и многих других.
В настоящее время наиболее распространёнными системами (языками) алгебраического моделирования являются следующие:
AMPL (A Modeling Language for Mathematical Programming) — фактически, стандарт де-факто в мире языков алгебраического моделирования. Абсолютное большинство существующих на рынке оптимизационных солверов поддерживают AMPL.
GAMS (General Algebraic Modeling System), один из первых таких языков, в настоящее время широко используется в ряде отраслей промышленности. Есть онлайн-сервер с возможностью использования GAMS в Jupyter-ноутбуках (https://www.gams.com/blog/2020/08/how-to-use-gams-in-jupyter-notebooks/).
AIMMS (Advanced Integrated Multidimensional Modeling Software, https://www.aimms.com/) — отличается от некоторых других языков тем, что имеет графический интерфейс и для разработчика, и для пользователя. Бесплатен для академического использования (вместе с набором солверов).
LINGO, язык от компании LINDO Systems, используется для решения задач линейного, целочисленного и нелинейного программирования в программном обеспечении от данной компании.
MPL (Mathematical Programming Language), язык от компании Maximal Software, есть графический интерфейс и возможность соединения с базами данных. Имеется бесплатная версия для некоммерческого использования.
Существуют и другие системы оптимизационного моделирования, основанные на представлениях данных, отличающихся от языков алгебраического моделирования. Такие альтернативные форматы включают:
диаграммы в виде блок-схем для линейных ограничений;
диаграммы деятельности, в которых переменные — это виды деятельности, а ограничения — это эффекты, влияющие на эти виды деятельности;
графовые или сетевые модели для моделирования потоков.
Эти форматы могут иметь некоторые преимущества для специальных классов задач, но языки алгебраического моделирования являются более универсальными.
Знание одного из языков алгебраического моделирования даёт возможность воспользоваться бесплатным интернет-сервисом NEOS (https://neos-server.org/neos/) от университета Висконсина для численного решения оптимизационных задач большой размерности и разных типов. На данный момент NEOS Server предоставляет абсолютно бесплатный доступ к более чем 60 современным солверам, в том числе CPLEX, Gurobi, MOSEK, Knitro, LINDOGlobal и др.
3 Модель вычислений Блюм–Шуба–Смейла
Главной нерешённой проблемой в теории линейного программирования по мнению выдающегося американского математика Стивена Смейла, лауреата Филдсовской премии 1966 года за работы в области дифференциальной топологии Премия была присуждена Смейлу за доказательство обобщённой гипотезы Пуанкаре в пространствах размерности больше ., является вопрос о существовании полиномиального по времени алгоритма над вещественными числами, определяющего, совместима ли линейная система неравенств .
Данная проблема является девятой по списку из 18 великих нерешённых математических проблем XXI века, описанных Стивеном Смейлом по предложению занимавшего на рубеже XX и XXI веков пост вице-президента Международного математического союза В.И. Арнольда. Смейл отобрал эти проблемы на основе следующих критериев: 1) математически точная простая формулировка; 2) личное знакомство с проблемой; 3) вера в то, что вклад в решение проблемы будет иметь большое значение для развития математики. В этом списке присутствует и гипотеза Римана, и уже доказанная гипотеза Пуанкаре, и проблема равенства P и NP.
В 80-х годах XX века Смейл, Ленор Блюм и Майк Шуб решили по-новому объединить теоретическую информатику с численным анализом. Обеспечение основ теоретической информатики даёт классическая теория вычислений Алана Тьюринга. Но модель дискретных вычислений Тьюринга, в которой вычислимы далеко не все вещественные числа (ведь оперирует она только с целочисленным их представлением) не является подходящей для анализа большинства современных компьютерных алгоритмов, которые предназначены для работы с вещественными числами. В 1989 году Смейл, Блюм и Шуб представили свою модель вычислений над произвольным кольцом или полем . В этой модели появилась возможность брать в расчёт зависимость сложности вычислений от произвольной битовой длины чисел (в отличие от модели алгебраической сложности, для которой размерность входных данных зафиксирована Т.е., если, например, ставится задача перемножения матриц, то нужно отдельно исследовать алгоритмы для каждой комбинации размерностей входных матриц, и в этом проблема модели алгебраической сложности.).
В случае, когда является кольцом из двух чисел и , модель Блюм–Шуба–Смейла (БШС) превращается в классическую модель вычислений Тьюринга. Если — поле вещественных чисел, то численные методы решения задач, оперирующие с такими числами, можно проанализировать в модели БШС.
К изложенному выше варианту теории сложности по Л. Блюм, С. Смейлу, М. Шубу относится и гипотеза Шуба–Смейла. Оказывается, что эта гипотеза тесно связана со знаменитой проблемой математики и computer science о равенстве или неравенстве классов и . В случае, если гипотеза верна, Шубом и Смейлом доказано неравенство и над полем комплексных чисел.
Поясним, в чём состоит гипотеза Шуба–Смейла (далее в этом параграфе изложение частично следует лекции Стивена Смейла, прочитанной в Независимом Московском университете в 1999 году и записанной в ).
Рассматривается полином с целыми коэффициентами и последовательность , в которой каждый последующий член получается из некоторых двух предшествующих с помощью одной из трёх арифметических операций (, , ). Пусть число равно наименьшему возможному .
В гипотезе Шуба–Смейла утверждается, что количество различных целых корней многочлена не превосходит , где — некоторая абсолютная константа. Для комплексных и вещественных корней аналогичная гипотеза неверна.
Но теорема Гильберта о нулях даёт критерий существования общего нуля, но не предлагает никакого алгоритма нахождения . Этот пробел был закрыт в 1987 году Браунавеллом , который получил следующую неулучшаемую оценку на степени многочленов :
4 О машинной арифметике
Данный пункт подготовлен по материалам научно-популярной статьи Ю. В. Матиясевича .
Таблицу умножения изучают с начальной школы. Даже простейший калькулятор легко перемножает шестизначные числа. Этого вполне достаточно не только для бытовых нужд, но и для большинства инженерных расчётов. В научных исследованиях приходится иметь дело и с более <<длинными>> числами — с десятками и сотнями десятичных знаков. Мы об этом не задумываемся, но в повседневной жизни есть области, в которых совершаются арифметические действия с такими числами. Для примера рассмотрим криптографию. Совершая покупку в Интернете, мы, естественно, не хотим, чтобы передаваемые нами данные банковской карты стали известны ещё кому-либо. Поэтому весь обмен информацией с банком шифруется. Многие другие сетевые сервисы в Интернете также используют более защищённый протокол HTTPS вместо обычного HTTP. А шифры часто основаны на больших простых числах и степень защиты информации напрямую зависит от величины используемых простых чисел. Ещё лет 10–15 назад простые числа, имеющие 128 цифр в двоичной записи, обеспечивали достаточную надёжность. Благодаря прогрессу как вычислительной техники, так и математических методов, на сегодняшний день такие коды успешно <<взламываются>>. Поэтому для надёжного шифрования приходится использовать существенно большие простые числа.
В настоящее время при работе с большими числами используют компьютеры. С одной стороны, не так трудно <<обучить>> компьютер арифметическим действиям. С другой стороны, важно, чтобы он выполнял эти операции не только правильно, но и быстро. В контексте оптимизационной тематики настоящего пособия заметим, что к примеру в задачах квадратичной оптимизации градиент целевой функции находится с помощью операции умножения матрицы на вектор. А эта операция естественным образом связана с необходимостью максимально быстро выполнять операцию умножения чисел.
Из четырёх арифметических действий сложение и вычитание представляются более простыми, чем умножение и деление. Но как сравнить их сложность (трудоёмкость) математически? Для этого можно посмотреть, как увеличивается количество выполняемых элементарных шагов с ростом длины чисел, над которыми производится действие. Шаг можно считать элементарным, если его трудность не зависит от длины чисел. Мерой трудоёмкости операции будем считать количество выполняемых элементарных шагов. Например:
1. Для операции сложения элементарным шагом можно считать сложение двух цифр в одном разряде вместе с учётом переноса из предыдущего разряда и переноса в следующий разряд (в этом контексте зрительно можно представить сложение <<в столбик>>). Количество таких элементарных шагов пропорционально длине складываемых чисел. Скажем, при удвоении такой длины трудоёмкость всей операции сложения также удваивается.
2. Для операции умножения мерой трудоёмкости можно считать количество обращений к таблице умножения для цифр. При <<школьном>> методе перемножения двух чисел <<в столбик>> количество обращений к таблице умножения будет равно произведению длин чисел (каждую цифру первого числа необходимо умножить на каждую цифру второго). При удвоении длин сомножителей необходимое количество обращений к таблице умножения увеличивается в 4 раза. Именно это отличие — возрастание трудоёмкости в 4, а не в 2 раза — делает этот алгоритм умножения намного более сложным при работе с <<длинными>> числами, чем алгоритм сложения.
Однако стоит сказать, что умножение в столбик интересно, прежде всего, своей методической простотой. Известно много других способов умножения натуральных чисел с лучшими оценками трудоёмкости (количества обращений к таблице умножения). Опишем один из таких методов, предложенный Анатолем Алексеевичем Карацубой в 1961 году. Поясним основную идею этого метода на примере умножения двух восьмизначных чисел и . Представим их в виде
где — четырёхзначные числа. Тогда
Заметим, что произведения и нам нужны не сами по себе, а только в сумме. Эту сумму можно вычислить, если мы уже знаем произведения и , ценой только одного дополнительного перемножения двух четырёхзначных чисел и нескольких <<лёгких>> операций сложения/вычитания, поскольку
Пусть и . Тогда
По приведённой выше формуле произведение равно
Сравним трудоёмкость метода А.А. Карацубы с трудоёмкостью традиционного метода <<в столбик>>, который изучают в школе.
1. При использовании школьного метода к таблице умножения требуется обратиться раза.
2. В вычислениях методом А.А. Карацубы придётся найти три произведения четырёхзначных чисел. Если это делать школьным методом, то к таблице умножения придётся обратиться раз (умножение на степени числа 10 — это просто дописывание нулей).
Но ведь <<по-новому>> можно перемножать и четырёхзначные числа, разбив каждое из них на два двузначных. По аналогии с разобранным выше примером, для перемножения четырёхзначных чисел достаточно найти три произведения двузначных чисел. Если эти произведения вычислять <<по-школьному>>, то потребуется обращений к таблице умножения. Ещё одно применение той же идеи уменьшит количество обращений к таблице умножения до . В итоге получаем, что для перемножения -значных натуральных чисел достаточно 27 элементарных шагов вместо 64!
Можно показать, что в общем случае при умножении методом А.А. Карацубы двух -значных чисел требуется провести обращений к таблице умножения. Следовательно, при удвоении длин сомножителей трудоёмкость увеличивается лишь в 3 раза, а не в 4, как при <<школьном>> способе. Общий выигрыш будет тем больше, чем длиннее перемножаемые числа.
Выше длина числа измерялась по его представлению в десятичной системе счисления. При переходе к двоичному представлению длина записи чисел возрастает примерно в 3,3 раза. По этой причине в двоичной системе счисления, в которой работают современные компьютеры, преимущества метода А.А. Карацубы проявляются, начиная с меньших по значению чисел, чем в десятичной системе.
В 1961 году метод Карацубы был революционным прорывом. После того, как стало ясно, что школьный метод не оптимален, многие математики задумались — а нельзя ли перемножать большие числа ещё быстрее, чем методом Карацубы? Оказалось, что можно. Один из путей ускорения — разбиение каждого сомножителя не на две части, а на большее (фиксированное или растущее с длиной сомножителей) количество частей. К настоящему времени трудоёмкость перемножения многозначных чисел почти сравнялась с трудоёмкостью сложения. А именно, два -значных числа можно перемножить, выполнив элементарных операций. Правдоподобной считается гипотеза, что два -значных числа нельзя перемножить быстрее, чем за шагов, где — постоянная. Но пока никому это доказать не удалось. Такие результаты, называемые нижними оценками (сложности вычисления), обычно гораздо труднее верхних оценок. Для получения верхней оценки достаточно предъявить конкретный алгоритм и оценить его трудоёмкость, в то время как для получения нижней оценки нужно суметь обозреть все мыслимые способы вычисления искомой величины.
Отметим, что операция деления натуральных чисел не сильно усложняется по сравнению с умножением. Тогда оказывается, что его можно преобразовать в метод для деления чисел такой же длины, который будет требовать не более операций обращения к таблице умножения. Как говорилось ранее, сложение и вычитание — самые простые среди основных арифметических действий, быстро умножать мы также уже научились. Приведём для полноты изложения схематическое описание аналога метода А.А. Карацубы для деления натуральных чисел. Следует различать две постановки задачи:
— деление одного целого числа на другое с получением неполного частного и остатка;
— получение приближённого значения отношения двух чисел, целых или десятичных.
Рассмотрим второй вариант. Прежде всего, заметим, что общую операцию нахождения частного можно свести к специальному случаю — нахождению обратного числа . После этого искомый ответ получается как результат (быстрого) перемножения: .
В свою очередь, нахождение обратного к числа означает необходимость решить уравнение . Предположим, что выбрано начальное приближение — число , примерно равное решению этого уравнения. Мы увидим, сколь точно это приближение, когда вычислим произведение . Оно должно быть близко к , что можно представить формулой
где — некоторое число с малой абсолютной величиной. Умножив обе части этого равенства на , получим
Это равенство можно интерпретировать так: если , то число
является лучшим приближением к по сравнению в силу . Заметим, можно найти также формуле без умножения на . Процесс улучшения приближения можно продолжить, вычисляя последовательно
Легко проверить, что для всякого натурального числа верно
Поэтому по мере увеличения получаются всё более и более точные приближения к . Покажем пример.
Пусть и выбрано начальное приближение . Последовательно находим:
После трёх итераций мы получили 8 верных цифр числа . На первом шаге использовались лишь 2 значащие цифры чисел и , на втором шаге — лишь 4 значащие цифры чисел и , и только на третьем шаге вычисления проводились с восьмизначными числами. Большая точность на начальных шагах не нужна. Длина используемых чисел должна соответствовать точности получаемых приближений. В итоге трудоёмкость последнего шага в таком итерационном процессе оказывается большей, чем трудоёмкость всех предыдущих шагов, вместе взятых.
С использованием рассуждений в конце предыдущего примера покажите, что работа по нахождению частного для -значных (для наглядности можно положить при некотором натуральном ) натуральных чисел оказывается не более сложной, чем операций умножения -значных натуральных чисел.
Аналогичным образом осуществляется быстрое деление целых чисел с остатком.
По аналогии с описанными выше рассуждениями необходимо свести решение уравнения к последовательности выполнения операций умножения. Умножение полученного решения на даст, как легко понять, .
5 Аппроксимация трансцендентных условий полуопределённо представимыми
Некоторые задачи принципиально невозможно переписать в виде конической программы над симметричными конусами. Ясно, например, что трансцендентные ограничения невозможно представить линейными, конично-квадратичными или полуопределёнными условиями, поскольку все симметричные конуса задаются алгебраическими уравнениями. Однако точно так же, как конус Лоренца, можно аппроксимировать проекцией полиэдрального конуса (см. п. 14.7), некоторые трансцендентные ограничения аппроксимируются условиями над конусами Лоренца или матричными конусами.
Ниже мы представим конструкцию, с помощью которой можно аппроксимировать ограничение конично-квадратичными условиями. Эта конструкция была предложена А.С. Немировским . Пусть обозначает квадратичный полином Тейлора функции вокруг точки . Тогда имеем
Сходимость не является равномерной по , однако она равномерная и достаточно быстрая на компактных подмножествах (интервалах) . Чтобы аппроксимировать экспоненту с относительной точностью на , достаточно взять . Но для каждого данного , неравенство
Каждое из этих неравенств выпуклое и квадратичное, и поэтому представляется коническим условием над конусом Лоренца (см. п. 14.3). В итоге мы получаем совокупность конических условий:
с дополнительными переменными. Для достижения относительной точности для всех достаточно взять , для достижения этой же точности для всех достаточно взять .
Похожие полуопределённые аппроксимации существуют и для других трансцендентных функций, например, (матричного) логарифма и эллиптического интеграла .
Заключение
Как уже отмечалось в аннотации к пособию, в образовании студентов-математиков МФТИ вот уже 50 лет особую роль играет курс <<Оптимизация>>. В последние десятилетия роль оптимизации ещё больше возросла. Однако заметно сместились акценты. Если раньше большой акцент делался на решении задач управления, теоретико-игоровых задач, то современная оптимизация, конечно, в большой степени вдохновляется анализом данных.
Важно подчеркнуть, что современная оптимизация и оптимизация 70-х годов XX века довольно сильно отличаются не только основными приложениями, но и вычислительным аппаратом. Однако учебные пособия, которые доступны на русском языке, за редким исключением, во многом состоят из описания состояния развития данной области того времени. В данной книге предпринята попытка устранить отмеченный зазор. Как следствие, пособие местами может быть достаточно сложным для изучения. Заметная часть отобранных материалов, по-видимому, излагается в учебной литературе впервые.
Однако не следует рассматривать данное пособие как исчерпывающий источник знаний по тому, какие задачи оптимизации сейчас решают и какими методами. Например, в пособии практически ничего не говорится об очень популярных сейчас методах стохастического градиентного спуска и их приложениях к обучению глубоких нейронных сетей. Ничего не говорится про бурно развивающееся направление <<Распределённая оптимизация>>, которое играет чрезвычайно важную роль в решении современных задач оптимизации больших размеров. Мало место уделено невыпуклой оптимизации, а большинство практических задач оказываются невыпуклыми… С другой стороны, все отмеченные и многие другие направления современной оптимизации, в том числе те, которые сильно востребованы на практике, едва ли возможно качественно освоить, не изучив Выпуклую оптимизацию. Мы очень надеемся, что данное пособие станет достаточно хорошей стартовой площадкой, начиная с которой заинтересованные студенты в дальнейшем смогут изучить более специальные разделы современной оптимизации, например, по книге и цитированной там литературе.