Jump to content

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

(Перенаправлено из программы Convex )

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

Определение

[ редактировать ]

Абстрактная форма

[ редактировать ]

Задача выпуклой оптимизации определяется двумя компонентами: [5] [6]

  • Целевая функция , которая представляет собой вещественнозначную выпуклую функцию от n переменных, ;
  • , Допустимое множество которое является выпуклым подмножеством .

Цель задачи – найти некоторые достижение

.

В целом есть три варианта существования решения: [7] : глава 4

  • Если такая точка x * существует, ее называют оптимальной точкой или решением ; совокупность всех оптимальных точек называется оптимальным множеством ; и проблема называется разрешимой .
  • Если неограничен снизу над , или нижняя грань не достигается, то задача оптимизации называется неограниченной .
  • В противном случае, если если множество пусто, то задача называется неразрешимой .

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

[ редактировать ]

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

где: [7] : глава 4

  • – вектор переменных оптимизации;
  • Целевая функция выпуклая функция ;
  • Функции ограничения неравенства , , — выпуклые функции;
  • Функции ограничения равенства , , являются аффинными преобразованиями , то есть вида: , где является вектором и является скаляром.

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

Многие задачи оптимизации могут быть эквивалентно сформулированы в этой стандартной форме. Например, задача максимизации вогнутой функции можно переформулировать эквивалентно как задачу минимизации выпуклой функции . Задачу максимизации вогнутой функции на выпуклом множестве обычно называют задачей выпуклой оптимизации. [8]

Форма эпиграфа (стандартная форма с линейной целью)

[ редактировать ]

В стандартной форме можно без ограничения общности считать, что целевая функция f является линейной функцией . Это связано с тем, что любую программу с общей целью можно преобразовать в программу с линейной целью, добавив одну переменную t и одно ограничение следующим образом: [9] : 1.4 

Коническая форма

[ редактировать ]

Любую выпуклую программу можно представить в конической форме , что означает минимизацию линейной цели на пересечении аффинной плоскости и выпуклого конуса: [9] : 5.1 

где K — замкнутый заостренный выпуклый конус , L — линейное подпространство R н , а b — вектор из R н . Линейная программа в стандартной форме в частном случае, когда K является неотрицательным ортантом R. н .

Устранение ограничений линейного равенства

[ редактировать ]

Можно преобразовать выпуклую программу в стандартной форме в выпуклую программу без ограничений равенства. [7] : 132  Обозначим ограничения равенства h i ( x )=0 как Ax = b , где A имеет n столбцов. Если Ax = b неразрешима, то, конечно, исходная задача неразрешима. В противном случае оно имеет некоторое решение x 0 , и множество всех решений можно представить в виде: Fz + x 0 , где z находится в R. к , k = n -rank( A ), и F является n матрицей размера -k . Подстановка x = Fz + x 0 в исходную задачу дает:

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

Особые случаи

[ редактировать ]

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

Иерархия задач выпуклой оптимизации. (LP: линейное программирование , QP: квадратичное программирование , программа SOCP с конусом второго порядка , SDP: полуопределенное программирование , CP: коническая оптимизация .)

Другие особые случаи включают в себя;

Характеристики

[ редактировать ]

Ниже приведены полезные свойства задач выпуклой оптимизации: [11] [7] : глава 4

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

Алгоритмы

[ редактировать ]

Неограниченные и ограниченные равенством задачи

[ редактировать ]

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

В классе задач без ограничений (или задач с ограничениями равенства) самыми простыми являются те, в которых цель является квадратичной . Для этих задач все условия ККТ (которые необходимы для оптимальности) линейны, поэтому их можно решать аналитически. [7] : глава 11

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

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

Общие проблемы

[ редактировать ]

Более сложные проблемы связаны с ограничениями неравенства. Распространенный способ их решения — свести их к задачам без ограничений, добавив барьерную функцию к целевой функции , обеспечивающую ограничения неравенства. Такие методы называются методами внутренней точки . [7] : глава 11 Их необходимо инициализировать путем нахождения допустимой внутренней точки с использованием так называемых методов фазы I , которые либо находят допустимую точку, либо показывают, что ее не существует. Методы фазы I обычно заключаются в сведении рассматриваемого поиска к более простой задаче выпуклой оптимизации. [7] : глава 11

Задачи выпуклой оптимизации также можно решить следующими современными методами: [12]

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

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

[ редактировать ]

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

Функция Лагранжа для этой задачи:

Для каждой точки в что сводит к минимуму над , существуют действительные числа называемые множителями Лагранжа , которые одновременно удовлетворяют этим условиям:

  1. сводит к минимуму общий
  2. хотя бы с одним
  3. (дополнительная расслабленность).

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

тогда приведенное выше утверждение можно усилить, потребовав, чтобы .

И наоборот, если некоторые в удовлетворяет (1)–(3) для скаляров с затем обязательно сведет к минимуму над .

Программное обеспечение

[ редактировать ]

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

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

В таблице ниже показано сочетание инструментов моделирования (таких как CVXPY и Convex.jl) и решателей (таких как CVXOPT и MOSEK). Эта таблица ни в коем случае не является исчерпывающей.

Программа Язык Описание ФОСС ? Ссылка
CVX МАТЛАБ Интерфейсы с решателями SeDuMi и SDPT3; предназначен только для выражения задач выпуклой оптимизации. Да [16]
CVXMOD Питон Интерфейсы с решателем CVXOPT . Да [16]
CVXPY Питон [17]
Convex.jl Юлия Дисциплинированное выпуклое программирование, поддерживает множество решателей. Да [18]
CVXR Р Да [19]
ЯЛМИП МАТЛАБ, Октава Интерфейсы с решателями CPLEX, GUROBI, MOSEK, SDPT3, SEDUMI, CSDP, SDPA, PENNON; также поддерживает целочисленную и нелинейную оптимизацию, а также некоторую невыпуклую оптимизацию. Может выполнять надежную оптимизацию с неопределенностью в ограничениях LP/SOCP/SDP. Да [16]
лаборатория ЛМИ МАТЛАБ Выражает и решает задачи полуопределенного программирования (называемые «линейными матричными неравенствами»). Нет [16]
Переводчик LMIlab Преобразует лабораторные проблемы LMI в проблемы SDP. Да [16]
ксЛМИ МАТЛАБ Похож на лабораторию LMI, но использует решатель SeDuMi. Да [16]
АИММС Может выполнять надежную оптимизацию линейного программирования (с помощью MOSEK для решения конусного программирования второго порядка) и смешанного целочисленного линейного программирования . Пакет моделирования для LP+SDP и робастных версий. Нет [16]
РИМ Система моделирования для надежной оптимизации. Поддерживает устойчивую к распределению оптимизацию и наборы неопределенностей . Да [16]
ГлоптиПоли 3 МАТЛАБ,

Октава

Система моделирования для полиномиальной оптимизации. Да [16]
СОСТУЛС Система моделирования для полиномиальной оптимизации . Использует SDPT3 и SeDuMi. Требуется набор инструментов для символьных вычислений. Да [16]
РазреженныйPOP Система моделирования для полиномиальной оптимизации. Использует решатели SDPA или SeDuMi. Да [16]
Комплексный комплекс Поддерживает методы primal-dual для LP + SOCP. Может решать задачи LP, QP, SOCP и смешанного целочисленного линейного программирования. Нет [16]
CSDP С Поддерживает методы primal-dual для LP + SDP. Доступны интерфейсы для MATLAB, R и Python. Доступна параллельная версия. Решатель SDP. Да [16]
CVXOPT Питон Поддерживает методы primal-dual для LP + SOCP + SDP. Использует масштабирование Нестерова-Тодда. Интерфейсы к МОСЭК и DSDP. Да [16]
МОИСЕЙ Поддерживает методы primal-dual для LP + SOCP. Нет [16]
СеДуМи MATLAB, Октава, MEX Решает LP+SOCP+SDP. Поддерживает методы primal-dual для LP + SOCP + SDP. Да [16]
СДПА С++ Решает ЛП+СДП. Поддерживает методы primal-dual для LP + SDP. Доступны версии с параллельной и повышенной точностью. Да [16]
СДПТ3 MATLAB, Октава, MEX Решает LP+SOCP+SDP. Поддерживает методы primal-dual для LP + SOCP + SDP. Да [16]
ConicBundle Поддерживает коды общего назначения LP + SOCP + SDP. Использует метод пакета. Специальная поддержка ограничений SDP и SOCP. Да [16]
ДСДП Поддерживает коды общего назначения для LP + SDP. Использует метод двойной внутренней точки. Да [16]
ЛОГОТИП Поддерживает коды общего назначения для SOCP, которые рассматриваются как задача нелинейного программирования. Нет [16]
ПЕННОН Поддерживает коды общего назначения. Использует расширенный метод Лагранжа, особенно для проблем с ограничениями SDP. Нет [16]
СДПЛР Поддерживает коды общего назначения. Использует факторизацию низкого ранга с расширенным методом Лагранжа. Да [16]
ГАМС Система моделирования для задач линейного, нелинейного, смешанного целочисленного линейного/нелинейного и конического программирования второго порядка. Нет [16]
Услуги по оптимизации Стандарт XML для кодирования проблем оптимизации и их решения. [16]

Приложения

[ редактировать ]

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

Расширения

[ редактировать ]

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

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Jump up to: а б Nesterov & Nemirovskii 1994
  2. ^ Мурти, Катта; Кабади, Сантош (1987). «Некоторые NP-полные задачи квадратичного и нелинейного программирования». Математическое программирование . 39 (2): 117–129. дои : 10.1007/BF02592948 . hdl : 2027.42/6740 . S2CID   30500771 .
  3. ^ Сахни, С. «Проблемы, связанные с вычислениями», в SIAM Journal on Computing, 3, 262–279, 1974.
  4. ^ Пардалос, Панос М.; Вавасис, Стивен А. (1991). «Квадратичное программирование с одним отрицательным собственным значением NP-трудно» . Журнал глобальной оптимизации . 1 :15–22. дои : 10.1007/BF00120662 .
  5. ^ Хириар-Уррути, Жан-Батист; Лемарешаль, Клод (1996). Алгоритмы выпуклого анализа и минимизации: Основы . Спрингер. п. 291. ИСБН  9783540568506 .
  6. ^ Бен-Тал, Аарон; Немировский, Аркадий Семенович (2001). Лекции по современной выпуклой оптимизации: анализ, алгоритмы и инженерные приложения . стр. 335–336. ISBN  9780898714913 .
  7. ^ Jump up to: а б с д и ж г час я дж к л Бойд, Стивен; Ванденберге, Ливен (2004). Выпуклая оптимизация (PDF) . Издательство Кембриджского университета . ISBN  978-0-521-83378-3 . Проверено 12 апреля 2021 г.
  8. ^ «Типы задач оптимизации — выпуклая оптимизация» . 9 января 2011 г.
  9. ^ Jump up to: а б Аркадий Немировский (2004). Полиномиальные методы внутренней точки в выпуклом программировании .
  10. ^ Агравал, Акшай; Вершуерен, Робин; Даймонд, Стивен; Бойд, Стивен (2018). «Система перезаписи для задач выпуклой оптимизации» (PDF) . Контроль и решение . 5 (1): 42–60. arXiv : 1709.04494 . дои : 10.1080/23307706.2017.1397554 . S2CID   67856259 .
  11. ^ Рокафеллар, Р. Тиррелл (1993). «Множители Лагранжа и оптимальность» (PDF) . Обзор СИАМ . 35 (2): 183–238. CiteSeerX   10.1.1.161.7209 . дои : 10.1137/1035044 .
  12. ^ Методы выпуклой минимизации см. в томах Хириарта-Уррути и Лемарешаля (связка) и в учебниках Рущинского , Берцекаса и Бойд и Ванденберге (внутренняя точка).
  13. ^ Нестеров Юрий; Аркадий, Немировский (1995). Полиномиальные алгоритмы внутренней точки в выпуклом программировании . Общество промышленной и прикладной математики. ISBN  978-0898715156 .
  14. ^ Пэн, Цзимин; Роос, Корнелис; Терлаки, Тамаш (2002). «Саморегулярные функции и новые направления поиска линейной и полуопределенной оптимизации». Математическое программирование . 93 (1): 129–171. дои : 10.1007/s101070200296 . ISSN   0025-5610 . S2CID   28882966 .
  15. ^ «Численная оптимизация» . Серия Springer по исследованию операций и финансовой инженерии . 2006. doi : 10.1007/978-0-387-40065-5 . ISBN  978-0-387-30303-1 .
  16. ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В х и Борчерс, Брайан. «Обзор программного обеспечения для выпуклой оптимизации» (PDF) . Архивировано из оригинала (PDF) 18 сентября 2017 г. Проверено 12 апреля 2021 г.
  17. ^ «Добро пожаловать в документацию CVXPY 1.1 — CVXPY 1.1.11» . www.cvxpy.org . Проверено 12 апреля 2021 г.
  18. ^ Уделл, Мадлен; Мохан, Каранвир; Цзэн, Дэвид; Хонг, Дженни; Даймонд, Стивен; Бойд, Стивен (17 октября 2014 г.). «Выпуклая оптимизация в Джулии». arXiv : 1410.4821 [ math.OC ].
  19. ^ «Дисциплинированная выпуклая оптимизация — CVXR» . www.cvxgrp.org . Проверено 17 июня 2021 г.
  20. ^ Критенсен/Кларбринг, гл. 4.
  21. ^ Шмит, Луизиана; Флери, К. 1980: Структурный синтез путем объединения концепций аппроксимации и двойственных методов . Дж. Амер. Инст. Аэронавт. Астронавт 18 лет, 1252–1260 гг.
  22. ^ Jump up to: а б с д и Бойд, Стивен; Даймонд, Стивен; Чжан, Цзюньцзы; Агравал, Акшай. «Приложения выпуклой оптимизации» (PDF) . Архивировано (PDF) из оригинала 1 октября 2015 г. Проверено 12 апреля 2021 г.
  23. ^ Jump up to: а б с Малик, Жером (28 сентября 2011 г.). «Выпуклая оптимизация: приложения, формулировки, расслабления» (PDF) . Архивировано (PDF) из оригинала 12 апреля 2021 г. Проверено 12 апреля 2021 г.
  24. ^ Бен Хаим Ю. и Элишакофф И., Выпуклые модели неопределенности в прикладной механике, Elsevier Science Publishers, Амстердам, 1990.
  25. ^ Ахмад Баззи , Дирк Т.М. Слок и Лиза Мейлхак. «Онлайн-оценка угла прихода при наличии взаимной связи». Семинар IEEE по статистической обработке сигналов (SSP), 2016 г. ИИЭР, 2016.
  • Рущинский, Анджей (2006). Нелинейная оптимизация . Издательство Принстонского университета.
  • Шмит, Луизиана; Флери, К. 1980: Структурный синтез путем объединения концепций аппроксимации и двойственных методов . Дж. Амер. Инст. Аэронавт. Астронавт 18 лет, 1252–1260 гг.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f4efefbdf156110863cb301c5007d5e3__1719865020
URL1:https://arc.ask3.ru/arc/aa/f4/e3/f4efefbdf156110863cb301c5007d5e3.html
Заголовок, (Title) документа по адресу, URL1:
Convex optimization - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)