Green-sell.info

Новые технологии
5 просмотров
Рейтинг статьи
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-е годы. Вкратце обсудим идею этого метода. Общая идея численных методов оптимизации заключается в принципе «разделяй и властвуй». Мы хотим оптимизировать сложную функцию. Мы имеем текущее положение, линеаризуем или как-то упрощаем функцию, заменяем ее более простой моделью. И говорим, что вместо того, чтобы минимизировать, решать исходную сложную задачу, мы аппроксимируем каким-то образом эту функцию в данной точке. Аппроксимация структурно более простая, чем исходная функция, и мы решаем эту задачу минимизацией этой аппроксимации. В случае градиентного спуска этой аппроксимацией является парабола. Если мы говорим о многомерном пространстве, то это параболоид вращения. Заменяем исходную функцию таким параболоидом вращения, который касается ее в данной точке. И идея метода заключается в том, что вместо минимизации функции мы минимизируем параболоид.

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

Читать еще:  Оптимизация проектных решений

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

Определение критериев выпуклости и вогнутости функций. Задачи безусловной оптимизации и необходимые условия оптимальности. Рассмотрение задачи с ограничениями-неравенствами. Рассмотрение сущности множителей Лагранжа и условий дополняющей нежесткости.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

HTML-версии работы пока нет.
Cкачать архив работы можно перейдя по ссылке, которая находятся ниже.

Подобные документы

Методы условной и безусловной нелинейной оптимизации. Исследование функции на безусловный экстремум. Численные методы минимизации функции. Минимизация со смешанными ограничениями. Седловые точки функции Лагранжа. Использование пакетов MS Excel и Matlab.

лабораторная работа [600,0 K], добавлен 06.07.2009

Нахождение экстремумов функций методом множителей Лагранжа. Выражение расширенной целевой функции. Схема алгоритма численного решения задачи методом штрафных функций в сочетании с методом безусловной минимизации. Построение линий ограничений.

курсовая работа [259,9 K], добавлен 04.05.2011

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

курсовая работа [148,9 K], добавлен 19.06.2012

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

курсовая работа [1,8 M], добавлен 27.11.2012

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

контрольная работа [1,4 M], добавлен 16.08.2010

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

контрольная работа [98,4 K], добавлен 07.02.2015

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

реферат [255,0 K], добавлен 12.08.2009

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

курсовая работа [113,1 K], добавлен 13.09.2010

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

реферат [254,5 K], добавлен 31.05.2014

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

курсовая работа [313,3 K], добавлен 23.05.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.

Выпуклый анализ и оптимизация

Задача распознавания образов по своей сути не нова и возникает в самых разнообразных направлениях исследований, начиная от прикладных задач в области безопасности и оцифровки аналоговых сигналов до задач теории оптимального управления и дифференциальных игр. Наибольшее развитие и совершенствование методов решения данных задач наблюдается в современности. Связано это прежде всего с необходимостью снятия возникающих огромных информационных нагрузок с человека и необходимостью использовать одновременно мышление и восприятие, свойственное распознаванию. Все эти задачи имеют ярко выраженный междисциплинарный характер и являются основой развития нового поколения технических систем распознавания, носящих сугубо узконаправленный и практический характер в различных направлениях, включая медицину и создание искусственного интеллекта. Одним из самых ранних направлений исследований было оптическое распознавание символов (Optical Character Recognition, OCR).

Анализ методов определения Хаусдорфова расстояния

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

Хаусдорфовой метрикой [3, 4] называют расстояние h на некотором заданном множестве D между его подмножествами X, Y, где

где d(x, y) – расстояние между элементами подмножеств заданного множества.

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

Определение метрического пространства в работе [5] сформулировано для выпуклых неограниченных замкнутых подмножеств Банахового с использованием метрики Хаусдорфа и установили отличия свойств выпуклых с данной метрикой от свойств метрического пространства. Исследования в работе [6] привели к важному утверждению, что не каждый объект в метрическом пространстве может быть аппроксимирован обобщенными многогранниками и в связи с этим ввели понятие обобщенного многогранника и критерии аппроксимации. Показали, что для аппроксимации равномерная непрерывность опорной функции является необходимым и достаточным условием.

Другая не менее важная задача о минимизации метрики Хаусдорфова между двумя выпуклыми многоугольниками решалась в работе [7]. Авторы рассматривают два многоугольника: один являлся неподвижным, а другой мог изменять свое местоположение на плоскости (вращение или параллельный перенос).

Ушаков и Лебедев [8] разработали и апробировали итерационные алгоритмы пошагового сдвига и вращения, гарантирующие уменьшение Хаусдорфова расстояния между подвижным и неподвижным объектами с использованием дифференциальных свойств функции евклидова расстояния до выпуклого множества и геометрических свойств чебышевского центра компактного множества, и доказали теоремы о корректности разработанных алгоритмов для широкого класса случаев. Многократный запуск алгоритма позволяет выбрать наилучший из вариантов.

В работах А.Б. Куржанского [9] и Ф.Л. Черноусько [10] используют в работах аппроксимацию эллипсоидами и параллелепипедами при решении задач оптимального управления множества достижимости динамических систем. В данном случае критерием оптимальности является расстояние Хаусдорфа.

По причине нарастания информатизации пространства и повышения интенсивности применения вычислительной техники не только обычными людьми для бытовых нужд, но и узкими специалистами в своей работе, растет потребность в алгоритмах и их оптимизации – как на алгоритмическом уровне, так и с применением новейших параллельных технологий. Еще одним не менее важным направлением исследовательской работы считается создание новых оптимизационных алгоритмов. Чтобы сравнивать создаваемые алгоритмы с уже имеющимися, разработчики применяют метрики Хаусдорфа в роли критерия их оптимальности. Еще одним серьезным минусом генетического алгоритма можно назвать чрезмерную вычислительную сложность. Потребуется обучить огромное число суррогатных моделей и выполнить глобальный поиск максимума вероятности улучшения. Перечисленные шаги потребуют значительных временных затрат. Невзирая на вышеуказанные минусы алгоритма, его предназначением являются сложные целевые функции. При этом с вычислительной точки зрения, чем дольше длится вычисление, тем меньше будет относительное время работы алгоритма.

Читать еще:  Оптимизационный метод одномерной оптимизации нулевого порядка

Методы низкоуровневой оптимизации

Отсюда следует, что применение оптимизации на базе метрики Хаусдорфа станет возможным, если привести структуры начальных данных или в векторный вид, или в матричный, в соответствии с подобранными критериями. Представление первоначальных данных в подобном формате дает возможность пользоваться матричным алгоритмом оптимизации, реализованным, к примеру, в MATLAB, либо специализированными алгоритмами записи и сохранения алгоритмов в памяти ЭВМ, а также пользоваться низкоуровневой оптимизацией, рассмотренной в работе [11].

Наиболее детальное описание современных алгоритмов представлено в работе [12]. Авторы сделали подробное описание алгоритмов распознавания многоугольников с установленным порогом для вычисления расстояния. Было продемонстрировано, что созданный алгоритм находит решение задачи за временной период порядка (m×n), при этом обычным алгоритмам необходимо (m×n)log(m×n). Авторы представили подробное описание алгоритмов для геометрических объектов, таких как цепочка, цикл, ломаные линии и многоугольники. В работе [12] продемонстрировано, что трудоемкость вычислений увеличивается в последующем порядке: вначале цепочки, далее циклы, потом ломаные и в конечном итоге многоугольники. Они разработали алгоритм для проверки усиленного неравенства для n-угольников множества Y и m-угольников множества X, с линейной зависимостью от этих величин.

Общеизвестно [11], что при обработке огромных массивов данных появляется потребность в ускорении вычислительного процесса. Выполним краткий анализ используемых сегодня технологий распараллеливания. Бурный рост параллельного программирования стал причиной возникновения разнообразных технологий параллельного обрабатывания данных. В числе первых кластерных технологий появилась технология MPI (от англ. Message Passing Interface, в переводе – интерфейс передачи сообщений). В дальнейшем на базе MPI был разработан GRID, выполняющий роль средства группового использования вычислительных мощностей с помощью сети Интернет. Одновременно с совершенствованием кластерных и узловых технологий развивались и методики распараллеливания внутри одного вычислителя. Вначале была разработана технология поддержки многопоточности в рамках одной программы. После возникновения многоядерных и мультипроцессорных систем данная технология получила второе рождение, и сегодня нередко используется в различных приложениях.

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

В 1990-х гг. A.Г. Гофман внес предложение по синхронной работе с оперативной памятью, притом с блоками, расположенными в разных сегментах. Однако, если принять во внимание специфику архитектуры нынешних компьютеров, становится ясно, что она нивелирует любой временной выигрыш, полученный при одновременном исполнении арифметических операций в алгоритме. Данное обстоятельство сопряжено с тем, что время доступа к ячейкам памяти, расположенным на определенной дистанции друг от друга, превышающей размер процессорной КЭШ-линии (а в особенности в различных сегментах памяти) порождает Cache Miss (КЭШ-промахи). В результате появляется задержка в работе системного микропроцессора в размере сотен тактов, при этом для выполнения простых арифметических действий, таких как складывание, вычитание, перемножение и деление (требует больше всего времени из перечисленных), необходимо лишь несколько десятков тактов [11]. Если появится потребность, можно прибегнуть к последовательному перебору линий данных в обоих направлениях.

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

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

Результаты и их анализ

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

Рис. 1. Размещение в памяти 3D массива для низкоуровневой оптимизации

Использование низкоуровневой оптимизации приводит к существенному ускорению процесса вычислений. В качестве базы для оценки эффективности низкоуровневой оптимизации был использован распараллеленный, но не оптимизированный на низком уровне код. На рис. 2 показано ускорение вычислений в результате оптимизации при распараллеленном коде. Как видно из рисунка, оптимизация позволяет увеличить скорость вычислений на 41 %.

Рис. 2. Увеличение быстродействия вследствие низкоуровневой оптимизации

Рис. 3. Рост скорости при эффективном использовании низкоуровневой оптимизации

На рис. 3 показана зависимость времени выполнения кода, ортонормированная на объем данных. На графике видно, что на отдельных размерностях сетки наблюдается серьезное замедление вычислительного процесса, что сопряжено с недостаточно рациональным использованием cache-памяти вычислителя. Проведение низкоуровневой оптимизации увеличит рациональность использования cache-памяти, а благодаря этому возрастет и вычислительная скорость на 40 %, как демонстрирует розовая кривая.

Заключение

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

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).

Выпуклая оптимизация. Условие выпуклости

4 Выпуклая оптимизация. Условие выпуклости

Основная задача выпуклого программирования

Пусть задано выпуклое и замкнутое множество . Рассмотрим множество

=<>, =(,…,), Î.

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

Формальная постановка задачи выпуклого программирования

,

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

0 означает, что ставится задача:

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

==

при этом число называют значением задачи.

Если оптимального плана не существует, то требуется

· либо найти значение задачи как точную нижнюю грань значений функции на множестве :

=

· либо убедиться, что неограничена снизу на множестве ;

· либо убедиться в том, что множество допустимых планов пусто.

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

· Определить множество .

· Определить вектор-функцию =(,…,) и вектор Î.

· Определить множество допустимых планов =<>.

· Привести задачу к стандартной форме основной задачи выпуклого программирования и определить оптимизируемую функцию .

· Проверить, является ли полученная оптимизационная задача ЗВП, для этого

· проверить на выпуклость множество ;

· проверить на выпуклость функцию .

В случае успеха п. 

· Построить функцию Лагранжа полученной ЗВП.

· С помощью дифференциальных условий Куна-Таккера найти седловые точки построенной функции Лагранжа.

В случае неудачи п.  попытаться найти другие методы решения задачи.

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

Фундаментальный теоретический результат заключается в том, что

.

Размер шага на практике обычно выбирают, следуя ,

где q k — скаляр, 0 k 2 и z* — верхняя граница для n(D). Обычно z* получают эвристикой для P. В методе ветвей и границ z* — текущий рекорд. Последовательность q k , как правило, начинается с q 0 =2 и затем q k делится пополам, через фиксированное число итераций, зависящее от размерности задачи.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector