Green-sell.info

Новые технологии
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Оптимизация выпуклых функций

Современные методы оптимизации

Математик Александр Гасников о выпуклых функциях, анализе больших данных и о том, как оптимизация ускорила процесс решения задач

Поделиться статьей

Началось все, по-видимому, с Коши, который во второй половине XIX века предложил метод градиентного спуска как численный метод решения задач оптимизации. Но давайте начнем еще раньше, с того, где вообще стали возникать задачи оптимизации. Хорошо известно, что природа говорит на языке оптимизации, на языке вариационных принципов. Если мы хотим найти уравнение движения какого-нибудь объекта, хотим понять, как оптимально что-то сделать, природа сама часто хочет это сделать, то надо решить какую-то задачу оптимизации. В XVIII веке Лагранж и Эйлер предложили уравнение, которое описывает траекторию движения механической системы, и эту траекторию можно получать из решения вариационной задачи.

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

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

Надо обратно решить задачу ax=b, найти x. Казалось бы, при чем здесь оптимизация? Но оказывается, что ax=b можно записать как ax-b — это некий вектор, норма этого вектора в квадрате на минимум. И минимум достигается в той точке, где решение этого уравнения. То есть та точка x, которая доставляет решению уравнения ax=b, и есть минимум функционала ax-b два норма в квадрате.

Таким образом, надо решать задачи оптимизации, и часто это задачи оптимизации бесконечномерных пространств. Когда я упоминал дифференциальные уравнения, то решением является функция. И понятно, что все это требует разработки методов. Более того, многие задачи надо решать много раз. Например, взаимодействуя с биологами в компании «Биокад», я столкнулся с задачей белкового фолдинга и докинга. Это индустриальная задача, огромные масштабы, каждый день эта задача сотни раз перерешивается. И от того, насколько эффективен метод решения этой задачи, столько вы раз успеете разные формы посопоставлять, зависит, как много вариантов лекарств вы попробуете успеть проверить, потому что мощности ограничены в энергетическом плане, то есть энергию это все поглощает, и ограничены во времени. И чем эффективнее алгоритм, тем больше вариантов вы посмотрите. Таким образом, очень много разных задач сводится именно к оптимизации.

Важно сразу разделить эти задачи на два класса: выпуклые и невыпуклые. Дело в том, что если оптимизируемая функция обладает свойством, которое называется выпуклость (это слово уже на бытовом уровне ассоциируется с чем-то хорошим), то множество точек, которое выше графика функции (то есть надграфик функции, который у вас есть), должно быть выпуклым. Это означает, что оно содержит любой отрезок с любыми двумя своими точками: мы берем любые две точки из этого множества, и это множество содержит целый отрезок. Такие функции, надграфик которых представляет собой выпуклое множество, — это хорошие функции, хороший класс задач. Потому что их можно более-менее эффективно решать.

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

Чтобы гарантированно это иметь, нужно обратиться к так называемому оракулу: нужно что-то посчитать относительно этой функции, например градиент, производные, значения функции. Это выражается как единица на эту точность эпсилон в степени n, где n — размерность пространства. Если мы хотим решить задачу с точностью эпсилон, задачу в пространстве размерности n, где большое число, то сложность, количество обращений к оракулу, количество вычислений пропорционально единица на эпсилон в степени n. Это экспоненциально увеличивается с ростом числа n. Это пессимистичный результат, и, к сожалению, его нельзя улучшить.

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

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

Переходим к выпуклой оптимизации. Здесь действительно есть много интересных результатов — как классических, так и недавних. И начнем мы опять с градиентного метода. Он был предложен в XIX веке. Градиентным спуском активно стали пользоваться в 1950–1960-е годы. Вкратце обсудим идею этого метода. Общая идея численных методов оптимизации заключается в принципе «разделяй и властвуй». Мы хотим оптимизировать сложную функцию. Мы имеем текущее положение, линеаризуем или как-то упрощаем функцию, заменяем ее более простой моделью. И говорим, что вместо того, чтобы минимизировать, решать исходную сложную задачу, мы аппроксимируем каким-то образом эту функцию в данной точке. Аппроксимация структурно более простая, чем исходная функция, и мы решаем эту задачу минимизацией этой аппроксимации. В случае градиентного спуска этой аппроксимацией является парабола. Если мы говорим о многомерном пространстве, то это параболоид вращения. Заменяем исходную функцию таким параболоидом вращения, который касается ее в данной точке. И идея метода заключается в том, что вместо минимизации функции мы минимизируем параболоид.

Это мы можем сделать по явным формулам, перейти к минимуму параболоида. Уравнение параболоида определяем однозначно. Это делается по явным формулам, из условия касания. И это есть градиентный метод. Он имеет вид: есть новая точка, есть старая точка минус некий шаг на градиент, на вектор градиента. Тем, кто увлекается альпинизмом или просто походами по горам, я думаю, эти все термины хорошо известны, например градиент. Для этого не обязательно иметь специальное математическое образование. В каком-то смысле градиентный спуск — такой способ блуждать по горам, когда вы идете по направлению наибыстрейшего спуска. Но это локально, потому что, когда вы пройдете какое-то расстояние, направление изменится. Собственно градиентный спуск — такая дискретизация этого непрерывного процесса хождения по направлению наибыстрейшего спуска.

Методы оптимизации

Специальность: Прикладная информатика

Целями освоения дисциплины (модуля) «Методы оптимизации» являются ознакомление студентов с вопросами построения оптимизационных математических моделей для конкретных предметных областей, обучение студентов основным понятиям теории нелинейной оптимизации и методам решения экстремальных задач. В курсе изучаются условия оптимальности в задачах математического программирования, элементы выпуклого анализа и теории оптимального управления, методы решения задач безусловной и условной оптимизации.

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

В результате освоения дисциплины обучающийся должен:

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

Уметь: применять условия оптимальности для анализа экстремальных задач из различных классов, доказывать основные теоремы теории нелинейной оптимизации.

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

Читать еще:  Оптимизатор работы пк

Содержание

1. НЕЛИНЕЙНЫЕ ОПТИМИЗАЦИОННЫЕ МОДЕЛИ. ЗАДАЧА БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ И КЛАССИЧЕСКАЯ ЗАДАЧА НА УСЛОВНЫЙ ЭКСТРЕМУМ. Понятие о задачах оптимизации. Примеры оптимизационных задач. Схема вычислительного эксперимента. Теоремы существования решения задач поиска экстремума. Необходимые и достаточные условия оптимальности в задаче безусловной оптимизации. Классическая задача на условный экстремум. Функция Лагранжа. Теоремы о необходимом условии оптимальности первого и второго порядка. Достаточные условия оптимальности.

2.ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА. УСЛОВИЯ ОПТИМАЛЬНОСТИ В ЗАДАЧАХ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ. ЭЛЕМЕНТЫ ТЕОРИИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ. Выпуклые множества и выпуклые функции. Примеры. Внутренние операции в классе выпуклых функций. Выпуклая задача оптимизации и ее основные свойства. Дифференциальные критерии выпуклости. Сильно выпуклые функции и критерии сильной выпуклости. Теорема существования и единственности решения выпуклой задачи с сильно выпуклой целевой функцией. Проекция точки на множество. Теорема о разделяющей гиперплоскости и теорема об опорной гиперплоскости. Теорема отделимости. Теорема Фана. Необходимые условия оптимальности в терминах направлений. Дифференциальное условие оптимальности в задаче минимизации функции на выпуклом множестве. Конкретизация дифференциального условия оптимальности в задаче минимизации функции на выпуклом множестве для случаев, когда допустимое множество является гиперпараллелепипедом и неотрицательным октантом. Задача математического программирования. Необходимые условия оптимальности в задаче математического программирования (принцип Лагранжа). Условия регулярности в задаче математического программирования. Достаточные условия оптимальности, определяемые принципом Лагранжа, для регулярной задачи выпуклого программирования. Теорема Куна-Таккера. Достаточные условия оптимальности в общей задаче математического программирования. Вектор Куна-Таккера. Теорема существования вектора Куна-Таккера, Основные теоремы теории двойственности. Теорема Куна-Таккера в форме двойственности. Формулировка принципа максимума. Простейшая задача оптимального быстродействия. Задача вариационного исчисления.

3. ОПТИМАЛЬНЫЕ АЛГОРИТМЫ ПОИСКА ЭКСТРЕМУМА. МЕТОДЫ ОПТИМИЗАЦИИ ФУНКЦИЙ ОДНОЙ ПЕРЕМЕННОЙ. Унимодальные функции. Оптимальный пассивный метод поиска минимума унимодальных функций. Метод Фибоначчи. Метод золотого сечения. Оптимальный пассивный метод поиска минимума липшицевых функций. Точная нижняя миноранта для функций, удовлетворяющих условию Липшица. Свойства точной нижней миноранты. Метод ломаных. Метод кусочно-линейной аппроксимации.

4. КЛАССИЧЕСКИЕ ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ БЕЗУСЛОВНОЙ И УСЛОВНОЙ ОПТИМИЗАЦИИ. НЕКОТОРЫЕ МЕТОДЫ РЕШЕНИЯ МНОГОЭКСТРЕМАЛЬНЫХ ЗАДАЧ. Начальные сведения о численных методах оптимизации функций многих переменных. Сходимость и скорость сходимости методов оптимизации. Условия остановки. Направление убывания. Выбор длины шага в методах спуска. Градиентный метод. Сходимость в случае невыпуклой минимизируемой функции. Сходимость и оценка скорости сходимости в случае сильно выпуклой минимизируемой функции. Обсуждение метода. Примеры. Метод Ньютона и его модификации. Квазиньютоновские методы. Примеры. Понятие сопряженных направлений и их свойства. Методы сопряженных направлений. Метод сопряженных градиентов. Метод сопряженных направлений нулевого порядка. Метод Хука-Дживса. Метод Нелдера-Мида. Примеры. Метод проекции градиента. Теорема сходимости. Обсуждение метода. Метод условного градиента и его сходимость. Конечный метод решения задач квадратичного программирования. Метод линеаризации. Сходимость метода штрафных функций. Оценки скорости сходимости. Простейший алгоритм метода штрафов. Примеры. Метод параметризации целевой функции. Методы, основанные на редукции размерности. Методы, основанные на априорной информации о минимизируемой функции.

Лабораторный практикум

1.Построение нелинейных оптимизационных моделей. Задача безусловной оптимизации. Классическая задача на условный экстремум.

2. Выпуклые множества и выпуклые функции. Критерии выпуклости и сильной выпуклости. Выпуклая задача оптимизации. Теорема существования и единственности. Условие оптимальности в задаче минимизации функции на выпуклом множестве. Задача математического программирования. Принцип Лагранжа. Условия регулярности в задаче математического программирования. Теорема Куна — Таккера в дифференциальной форме.

3. Метод Фибоначчи. Метод золотого сечения. Оптимальный одношаговый метод в классах, определяемых априорной информацией о минимизируемой функции. Метод ломаных.

4. Градиентный метод. Квазиньютоновские методы. Методы сопряженных направлений. Метод проекции градиента. Метод условного градиента. Метод линеаризации. Методы штрафов.

Литература

а) основная литература

  1. Васильев Ф.П. Численные методы решения экстремальных задач. – М.: Наука, 19801.
  2. Васильев Ф.П. Методы решения экстремальных задач. – М.: Наука, 1981
  3. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. – М.: Наука, 1986
  4. Карманов В.Г. Математическое программирование. – М.: Наука, 1986

Современные методы решения невыпуклых задач оптимизации и оптимального управления Текст научной статьи по специальности «Математика»

Аннотация научной статьи по математике, автор научной работы — Стрекаловский Александр Сергеевич

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

Похожие темы научных работ по математике , автор научной работы — Стрекаловский Александр Сергеевич

Advanced methods for solving nonconvex problems of optimization and optimal control

This paper contains the review of the results obtained in the last years in the theory and numeric methods of the solution of nonconvex optimization problems and optimal control problems.

Текст научной работы на тему «Современные методы решения невыпуклых задач оптимизации и оптимального управления»

Том 2 (2009), №1, С. 245-256

Онлайн-доступ к журналу: http://isu.ru/izvestia

Современные методы решения невыпуклых задач оптимизации и оптимального управления

А. С. Стрекаловский

Институт динамики систем и теории управления СО РАН

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

Ключевые слова: невыпуклая оптимизация, разность двух выпуклых функций, локальный поиск, глобальный поиск.

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

При этом на практике выпуклые задачи встречаются крайне редко, хотя в учебниках примеров выпуклых задач предостаточно [1]-[5]. К тому же, в прикладных задачах невыпуклые структуры чаще всего присутствуют в скрытой форме. Как следствие, специалисты не всегда обращают внимание на их присутствие и природу возникновения, как, например, в задачах иерархической оптимизации и оптимального управления нелинейными системами. А без знания структуры невы-пуклости трудно рассчитывать на успех. Заметим, что довольно часто невыпуклые структуры порождены выпуклыми (дополнение выпуклого множества, максимизация выпуклой функции и т.п.) [1, 2, 6].

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

В невыпуклых же задачах прямое применение стандартных методов может иметь непредсказуемые последствия [1]-[5], а порою и уводить от искомого решения. Поэтому достаточно естественна (но необоснованна) реакция людей, пропагандирующих методы прямого перебора типа ветвей и границ (и отсечений), которые, как известно, страдают от проклятия размерности, когда объем вычислений возрастает экспоненциально с ростом размерности задачи [1, 2]. Думается, что существует и другой путь к решению невыпуклых задач высокой размерности [6]—[12].

За последние два десятилетия нам удалось построить теорию глобального поиска, гармоничную с точки зрения теории оптимизации и неожиданно оказавшуюся весьма эффективной с вычислительной точки зрения, особенно для задач высокой размерности. Ядром этой теории являются необходимые и достаточные Условия Глобальной Оптимальности (УГО) для основных классов невыпуклых задач (см. ниже)[6].

С другой стороны, предложено целое семейство методов локального поиска (МЛокП), которые с одной стороны, в некоторых случаях развивают ранее известные для специальных задач, с другой, это семейство МЛокП представляет единый гармоничный с точки зрения УГО ансамбль методов [6, 7, 10, 11].

Процедуры же выхода из стационарных или локальных решений, основанные на УГО, являются уникальными и необычайно эффективными даже при простейшей реализации [6, 7].

Разработанный подход протестирован на широком поле невыпуклых задач (часть из них представлена ниже) и продемонстрировал неожиданную эффективность во время численного решения задач высокой размерности. Заметим, что методы выпуклой оптимизации успешно используются «внутри» предложенных процедур локального и глобального поисков [6]—[11].

На современном этапе достаточно широким для рассмотрения представляется класс ё.е. функций ОС(Шп), представимых в виде разности двух выпуклых функций

/(х) = д(х) — Н(х), х € Мп, д,Н € СОНУ(Шп). (2.1)

Этот класс обладает несколькими замечательными свойствами.

a) Множество ОС (Шп) порождено хорошо изученным классом — конусом выпуклых функций и является линейным пространством [1, 6].

b) ОС(Шп) включает в себя хорошо известные классы, такие как дважды дифференцируемые функции, степенные и тригонометрические полиномы, функции И.И. Еремина и т.д. и т.п. [1, 6].

c) Произвольная непрерывная функция на компакте К С Шп может быть сколь угодно точно приближена (в топологии равномерной сходимости) функцией из ОС (К) [1]—[6]. Как следствие, любая непрерывная задача оптимизации на компакте может быть аппроксимирована задачей оптимизации с ё.с. функциями. Заметим только, что, если / является ё.с. функцией, то существует бесконечное число ё.с. представлений типа (2.1), например, в виде разности сильно выпуклых функций.

Не менее важным для оптимизации свойством класса ОС является его замкнутость относительно большинства операций, используемых в оптимизации. Так, например, сумма, разность, модуль, максимум, минимум и т.д. от ё.с. функций оказываются также в классе ОС(Мп).

Читать еще:  Управление запасами предприятия и их оптимизация

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

1. Ю.С. минимизация

(Р) /(х) = д(х) — Н(х) | шш, х € О, (2.2)

где д(-), Н(-) — выпуклые функции, а О — выпуклое множество, которое может быть задано неравенствами и равенствами.

2. Задачи с ^е. ограничениями, которые сводятся к следующей задаче

Заметим, что, любая квадратичная задача оптимизации со знаконеопределенными матрицами попадает в эту классификацию.

В отличие от известных процедур типа «ветвей и границ» отсечений и т.д., «позабывших», как известно, современные методы выпуклой оптимизации, мы настаиваем на непременном, но «непрямом» использовании этих методов в глобальной оптимизации [3, 5]. Так, например, для задачи ё.с. минимизации (Р)—(2.2) базовым элементом, «кирпичом» является, на наш взгляд, решение (линеаризованной в текущей точке хя € О) выпуклой задачи

В зависимости от выбора метода решения этой задачи («кирпича»), глобальный поиск (все здание) может оказаться удачным или нет: эффективным или нет, «устойчивым» к выбору начального приближения или получать в лучшем случае просто допустимую точку.

Сам же локальный поиск (Local Search Procedure, LSP) может состоять, например, из последовательного (как в методе простой итерации) решения задач (VCs) — (3.1). Зная xs € D, находим xs+1 € D как приближенное решение (VCs). Удивительно, что процесс в этом случае сходится (по функции f = g — h) [6] к решению линеаризованной задачи

(х* — критическая точка относительно метода локального поиска). При дополнительных предположениях сильно выпуклого разложения f = д — Н можно обеспечить сходимость Xя ^ X*.

На небольших размерностях (п (УН(у),х — у) Ух € О. (4.2)

Если при некоторых (у, в) из (4.1) и х € О (4.2) нарушено:

5.2. Иерархические задачи и вариационные неравенства

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

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

а) Линейные двухуровневые задачи

Рассматривается задача вида:

Р(х, у) = (о, х) + (й, у) і ШІП,

Исследуются два типа решений в такой задаче: оптимистический и пессимистический (гарантированный).

Разработан комплекс программ, предназначенный для поиска оптимистических решений в квадратично-линейных задачах двухуровневого программирования на основе предложенной ранее методики, базирующейся на сведении двухуровневых задач к семейству задач математического программирования с ё.с. целевой функцией. Проведено тестирование разработанного программного комплекса на большом спектре случайно сгенерированных задач различной сложности и размерности (до 150 х 150), продемонстрировавшее эффективность предложенных методов. Отметим, что результаты решения квадратично-линейных задач такой размерности в доступной литературе обнаружить не удалось.

5.3. Линейная задача дополнительности

Подобным же вариационным подходом была решена известная задача дополнительности (ЛЗД), которая состоит в нахождении пары векторов (х,-ю), удовлетворяющих следующим условиям:

Мх + ц = т, (х,т) = 0,1 (52)

где х,т Є Шп, а вектор ц Є Шп и вещественная знаконеопределенная (п х п)-матрица М заданы. К задачам линейной дополнительности часто сводятся многие физические, инженерные и экономические задачи (задача торможения, контактная задача, задача упругопластического кручения, задача об оптимальном постоянном основном капитале, задача рыночного равновесия, задачи вычислительной геометрии и т.д). Для решения этой задачи применялся вариационный подход, позволяющий свести ЛЗД к задаче ё.с. минимизации. Результаты тестирования алгоритма глобального поиска в поставленной задаче демонстрируют эффективность предложенной методики на достаточно широком поле тестовых примеров высокой размерности. Решены невыпуклые задачи до размерности 400 [13].

5.4. Задачи молекулярной Биологии и нанофизики

Рассматривается задача минимизации функционала полной энергии в модели переноса заряда в молекуле ДНК:

х Є X = <х Є шп І ф) = 0>, где И — трехдиагональная матрица размера (пхп) с неотрицательными

компонентами, кг > 0 і = 1. п, а функция ^(5.6)

ru.knowledgr.com

Выпуклая минимизация, подполе оптимизации, изучает проблему уменьшения выпуклых функций по выпуклым наборам. Собственность выпуклости может сделать оптимизацию в некотором смысле «легче», чем общий случай — например, любой местный минимум должен быть глобальным минимумом.

Учитывая реальное векторное пространство вместе с выпуклой, функцией с реальным знаком

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

Выпуклость делает мощные инструменты из выпуклого анализа применимыми. В конечно-размерных местах normed Hahn-банаховая теорема и существование подградиентов приводят к особенно удовлетворяющей теории необходимых и достаточных условий для optimality, теория дуальности, обобщая это для линейного программирования и эффективных вычислительных методов.

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

Выпуклая проблема оптимизации

Проблема оптимизации (также называемый математической программной проблемой или проблемой минимизации) нахождения некоторых таким образом, что

, где выполнимый набор и цель, называют выпуклым, если закрытый выпуклый набор и выпукл на.

Альтернативно, проблема оптимизации на форме

& &g_i (x) leq 0, quad i = 1, dots, m

назван выпуклым, если функции выпуклы.

Теория

Следующие заявления верны о выпуклой проблеме минимизации:

  • если местный минимум существует, то это — глобальный минимум.
  • набор всех (глобальных) минимумов выпукл.
  • для каждой строго выпуклой функции, если у функции есть минимум, то минимум уникален.

Эти результаты используются теорией выпуклой минимизации наряду с геометрическими понятиями от функционального анализа (в местах Hilbert), таких как теорема проектирования Hilbert, отделяющаяся теорема гиперсамолета и аннотация Фаркаша.

Стандартная форма

Стандартная форма — обычная и самая интуитивная форма описания выпуклой проблемы минимизации. Это состоит из следующих трех частей:

  • Выпуклая функция, которая будет минимизирована по переменной
  • Ограничения неравенства формы, где функции — выпуклый
  • Ограничения равенства формы, где функции аффинные. На практике термины, «линейные» и «аффинные», часто используются попеременно. Такие ограничения могут быть выражены в форме, где вектор колонки и действительное число.

Выпуклая проблема минимизации таким образом написана как

& &g_i (x) leq 0, quad i = 1, dots, m \

&&&h_i (x) = 0, quad i = 1, dots, p.

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

Следуя из этого факта, легко понять, почему должно быть аффинным в противоположность тому, чтобы просто быть выпуклым. Если выпуклое, выпуклый, но вогнутый. Поэтому, единственный путь к быть выпуклым для быть аффинным.

Примеры

Следующие проблемы — все выпуклые проблемы минимизации или могут быть преобразованы в выпуклые проблемы минимизаций через замену переменных:

Множители Лагранжа

Считайте выпуклую проблему минимизации данной в стандартной форме функцией стоимости и ограничениями неравенства, где. Тогда область:

Для каждого пункта x в X, который минимизирует f более чем X, там существуйте действительные числа λ. λ, названный множителями Лагранжа,

это удовлетворяет эти условия одновременно:

Если там существует «строго допустимая точка», т.е., пункт z, удовлетворяющий

С другой стороны, если некоторый x в X удовлетворяет 1-3 для скаляров λ. λ с λ = 1, то x несомненно минимизирует f более чем X.

Методы

Выпуклые проблемы минимизации могут быть решены следующими современными методами:

Другие методы интереса:

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

Выпуклая минимизация с хорошей сложностью: самосогласующиеся барьеры

Эффективность повторяющихся методов плоха для класса выпуклых проблем, потому что этот класс включает «плохих парней», минимум которых не может быть приближен без большого количества оценок подградиента и функции; таким образом, чтобы иметь практически привлекательные результаты эффективности, необходимо сделать дополнительные ограничения на класс проблем. Два таких класса — проблемы специальные барьерные функции, сначала самосогласующиеся барьерные функции, согласно теории Нестерова и Немировския и вторых саморегулярных барьерных функций согласно теории Terlaky и соавторов.

Квазивыпуклая минимизация

Проблемы с выпуклыми наборами уровня могут быть эффективно минимизированы в теории.

Юрий Нестеров доказал, что квазивыпуклые проблемы минимизации могли быть решены эффективно, и его результаты были расширены Kiwiel. Однако такие теоретически «эффективные» методы используют «расходящийся ряд» stepsize правила, которые были сначала развиты для классических методов подградиента. Классические методы подградиента, используя правила расходящегося ряда намного медленнее, чем современные методы выпуклой минимизации, таковы как методы проектирования подградиента, методы связки спуска, и несглаживают методы фильтра.

Читать еще:  Расчет и оптимизация сетевой модели

Решение даже близко-к-выпуклому, но невыпуклые проблемы может быть в вычислительном отношении тяжелым. Уменьшение функции unimodal тяжело, независимо от гладкости функции, согласно результатам Иванова.

Выпуклая максимизация

Традиционно, определение выпуклой проблемы оптимизации (мы вспоминаем) требует, чтобы объективная функция f, чтобы быть минимизированной и выполнимый набор была выпукла. В особом случае линейного программирования (LP) объективная функция и вогнутая и выпуклая, и таким образом, LP может также рассмотреть проблему увеличения объективной функции без беспорядка. Однако для большинства выпуклых проблем минимизации, объективная функция не вогнутая, и поэтому проблема, и затем такие проблемы сформулированы в стандартной форме выпуклых проблем оптимизации, то есть, минимизировав выпуклую объективную функцию.

Для нелинейной выпуклой минимизации связанной проблемой максимизации, полученной, заменяя supremum оператором infimum оператора, не является проблема выпуклой оптимизации, как традиционно определено. Однако это изучено в более крупной области выпуклой оптимизации как проблема выпуклой максимизации.

Выпуклая проблема максимизации особенно важна для изучения существования максимумов. Рассмотрите ограничение выпуклой функции к компактному выпуклому набору: Затем на том наборе функция достигает своего ограниченного максимума только на границе. Такие результаты, названные «максимальные принципы», полезны в теории гармонических функций, потенциальной теории и частичных отличительных уравнениях.

Проблема уменьшения квадратного многомерного полиномиала на кубе NP-трудная. Фактически, в квадратной проблеме минимизации, если у матрицы есть только одно отрицательное собственное значение, NP-трудное.

Расширения

Передовое лечение рассматривает выпуклые функции, которые могут достигнуть положительной бесконечности, также; функция индикатора выпуклого анализа — ноль для каждой и положительной бесконечности иначе.

Расширения выпуклых функций включают двояковыпуклые, псевдовыпуклые, и квазивыпуклые функции. Частичные расширения теории выпуклого анализа и повторяющихся методов для того, чтобы приблизительно решить невыпуклые проблемы минимизации происходят в области обобщенной выпуклости («абстрактный выпуклый анализ&#187).

«Алгоритмическая выпуклая оптимизация Диссертация на соискание ученой степени доктора физико-математических наук по . »

Московский физико-технический институт

Лаборатория структурных методов анализа данных

в предсказательном моделировании (ПреМоЛаб)

На правах рукописи

Нестеров Юрий Евгеньевич

Алгоритмическая выпуклая оптимизация

на соискание ученой степени

доктора физико-математических наук

по специальности 01.01.07 — вычислительная математика МОСКВА – 2013 Оглавление Введение 6 1 Предварительные результаты 1.1 Классификация выпуклых функций. 1.1.1 Нормы и производные. 1.1.2 Классы гладких функций. 1.1.3 Равномерно выпуклые функции. 1.1.4 Сильно выпуклые функции. 1.2 Методы гладкой минимизации первого порядка. 1.2.1 Прямой и двойственный градиентные методы. 1.2.2 Быстрый градиентный метод. 1.2.3 Минимизация гладких сильно выпуклых функций. 1.3 Самосогласованные функции и барьеры. 1.3.1 Определение и свойства самосогласованных функций. 1.3.2 Минимизация самосогласованных функций. 1.3.3 Самосогласованные барьеры и метод отслеживания траектории. 1.3.4 Конструирование самосогласованных барьеров. 2 Современные субградиентные методы 2.1 Прямо-двойственные методы для негладких задач. 2.1.1 Введение. 2.1.2 Основные алгоритмические схемы. 2.1.3 Минимизация на простых множествах. 2.1.4 Седловые задачи. 2.1.5 Вариационные неравенства. 2.1.6 Стохастическая оптимизация. 2.1.7 Приложения в моделировании. 2.1.8 Обсуждение. 2.2 Барьерный субградиентный метод. 2.2.1 Введение. 2.2.2 Сглаживание с помощью самосогласованного барьера. 2.2.3 Барьерный субградиентный метод. 2.2.4 Максимизация положительной вогнутой функции. 2.2.5 Приложения. 2.2.6 Оптимизация в реальном времени как альтернатива стохастическому программированию. 2.3 Градиентные методы минимизации составных функций. 2.3.1 Введение. 2.3.2 Составное градиентное отображение. 2.3.3 Составной градиентный метод. 2.3.4 Быстрый градиентный метод. 2.3.5 Примеры применения.

Однако начиная с выдающейся работы Н.Кармаркара, опубликованной в 1985г., и примерно до 2000г. развитие теории и методов оптимизации было в основном связано с прогрессом в теории полиномиальных методов внутренней точки. Были получены новые и очень эффективные методы решения задач линейного программирования, которые существенно подняли планку соревнования с традиционным симплекс-методом. Была разработана общая теория самосогласованных функций [95], которая позволяла строить полиномиальные методы внутренней точки для всех выпуклых задач с явной структурой.

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

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

Цели и задачи В связи с этим в начале 2000х годов встал вопрос о частичной реабилитации почти забытых методов градиентного типа. Однако полностью вернуться на позиции середины 80х годов оказалось невозможным. Дело в том, что к 1985г. теория методов выпуклой оптимизации представляла собой цельный монолит [24], завершенный в основном усилиями А.С.Немировского и Д.Б.Юдина. Разработанная ими теория сложности [79], дающая верхние оценки на возможную эффективность методов минимизации для различных классов задач, была подкреплена оптимальными методами, которые эти оценки как раз и реализовывали. Предположения их вычислительной модели (оракул типа черный ящик) полностью соответствовали существовавшему тогда стилю написания оптимизационных пакетов программ, где пользователю предлагалось написать подпрограмму вычисления значения функции и градиента, закрытую для самого пакета [12]. Таким образом, в то время казалось, что все важные вопросы в этой области были уже заданы и (почти) все отвечены.

Однако к 2000му году этот монолит дал трещину. Дело в том, что область реальных приложений для полиномиальных методов внутренней точки практически совпадает с областью применения черноящичных методов. И там где новые методы были применимы (т.е. были в состоянии сделать хотя бы одну итерацию) они как правило оказывались и в теории и на практике лучше неулучшаемых оптимальных методов. Кажущееся противоречие легко объяснялось тем, что методы внутренней точки для построения хорошего (самосогласованного) барьера требовали доступа к внутренней структуре оракула, т.е. они не были черноящичными.

Таким образом, к началу 2000х годов стало ясно, что некоторые из особо пессимистических границ теории сложности можно скорее всего отодвинуть — для этого был по крайней мере один пример (самосогласованные функции). И было понятно как — надо использовать структуру задачи. Этими соображениями и объясняется основное направление исследований автора, приведшее к появлению излагаемых ниже результатов.

Основной целью настоящей диссертации является разработка более мощных и быстрых методов оптимизации, которые значительно расширяют возможности, обрисованные в стандартной теории сложности.

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

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

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

• Дикинский эллипсоид. Этот эллипсоид, определяемый гессианом самосогласованной функции лежит в допустимой области.

• Аппроксимация 1го порядка. Для функции f (x), чей градиент удовлетворяет условию Липшица с константой L, можно написать следующую аппроксимацию:

Минимизируя эту аппроксимацию на допустимом множестве можно улучшить значение целевой функции.

• Аппроксимация 2го порядка. Для функции f (x), у которой гессиан является липшицевым с константой, верна верхняя оценка Минимизируя эту аппроксимацию получаем модифицированный вариант метода Ньютона, обладающий глобальными гарантиями эффективности.

• Верхняя аппроксимация для системы уравнений. Для уравнения F (x) = 0, где отображение F : Rn Rm имеет липшицев якобиан F с константой M, можно написать верхнюю оценку Минимизация этой оценки дает модифицированный метод Гаусса-Ньютона.

2. Алгебраические модели. В них описывается конкретный способ представления целевой функции. Для выпуклых функций естественной формой представления является максимум (дискретный или непрерывный) выпуклых функций. Например, может случиться что нам известно следующее представление:

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

3. Структурные модели. В них описывается структура целевой функции. Обычно в ней выделяются два взаимодействующих объекта, один простой и один сложный.

Простой объект может иметь плохие функциональные характеристики. Однако он должен допускать решение некоторых вспомогательных задач с его участием в явном виде.

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

Ссылка на основную публикацию
Adblock
detector