Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Постановка проблемы [ править ]

Задачу квадратичного программирования с n переменными и m ограничениями можно сформулировать следующим образом. [2] Дано:

  • действительный n- мерный вектор c ,
  • п × п - мерный вещественный симметричная матрица Q ,
  • м × п - мерная вещественная матрица и
  • м - мерный вещественный вектор Ь ,

цель квадратичного программирования - найти n -мерный вектор x , который будет

где x T обозначает вектор, транспонированный к x . Обозначение A xb означает, что каждый элемент вектора A x меньше или равен соответствующему элементу вектора b (покомпонентное неравенство).

Наименьшие квадраты [ править ]

В качестве особого случая, когда Q является симметричным положительно определенным , функция стоимости сводится к наименьшим квадратам:

где Q = R T R следует из разложения Холецкого из Q и с = - R T D . И наоборот, любая такая программа наименьших квадратов с ограничениями может быть эквивалентно оформлена как QP, даже для общей неквадратной R- матрицы.

Обобщения [ править ]

При минимизации функции f в окрестности некоторой контрольной точки x 0 , Q устанавливается равной ее матрице Гессе H ( f  ( x 0 )), а c устанавливается равным ее градиенту f  ( x 0 ) . Связанная с этим проблема программирования, квадратично ограниченное квадратичное программирование , может быть поставлена ​​путем добавления квадратичных ограничений на переменные.

Способы решения [ править ]

Для решения общих проблем обычно используются различные методы, в том числе

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

Ограничения равенства [ править ]

Квадратное программирование особенно просто , когда Q является положительно определенным и есть только ограничение равенства; в частности, процесс решения является линейным. Используя множители Лагранжа и ища экстремум лагранжиана, легко показать, что решение задачи с ограничениями равенства

задается линейной системой

где λ - набор множителей Лагранжа, которые выходят из решения вместе с x .

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

Если ограничения не связывают переменные слишком сильно, относительно простая атака состоит в том, чтобы изменить переменные так, чтобы ограничения были безоговорочно удовлетворены. Например, предположим, что d = 0 (обобщение до ненулевого несложно). Глядя на уравнения ограничений:

ввести новую переменную y, определенную как

где y имеет размерность x минус количество ограничений. потом

и если Z выбрано так, что EZ = 0, уравнение связи будет всегда удовлетворяться. Обнаружение таких Z регистрация требует нахождение в нуль - пространство в Е , который является более или менее простой в зависимости от структуры Е . Подстановка в квадратичную форму дает задачу безусловной минимизации:

решение которого дается формулой:

При определенных условиях на Q приведенная матрица Z T QZ будет положительно определенной. Можно написать вариации на сопряженном градиентный методе , который позволяет избежать явного вычисления Z . [6]

Лагранжева двойственность [ править ]

Лагранжиан, двойственный к КП, также является КП. Чтобы убедиться в этом, остановимся на случае, когда c = 0 и Q положительно определено. Запишем функцию Лагранжа в виде

Определение (лагранжиан) двойная функция г (Х) , как мы находим инфимум из L , используя и положительную определенность Q :

Следовательно, двойственная функция

и поэтому лагранжиан, двойственный к КП, есть

Помимо лагранжевой теории двойственности, существуют и другие пары двойственности (например, Вулфа и т. Д.).

Сложность [ править ]

Для положительно определенной Q , то эллипсоид метод решает задачу (слабо) полиномиальное время . [7] Если, с другой стороны, Q неопределенно, то задача NP-сложная . [8] Фактически, даже если Q имеет только одно отрицательное собственное значение , проблема является (сильно) NP-трудной . [9]

Целочисленные ограничения [ править ]

В некоторых ситуациях один или несколько элементов вектора должны принимать целочисленные значения. Это приводит к формулировке задачи смешанно-целочисленного квадратичного программирования (MIQP). [10] Приложения MIQP включают водные ресурсы [11] и построение индексных фондов . [12]

Решатели и языки сценариев (программирования) [ править ]

См. Также [ править ]

  • Последовательное квадратичное программирование
  • Линейное программирование
  • Метод критической линии

Ссылки [ править ]

  1. ^ Райт, Стивен Дж. (2015), «Непрерывная оптимизация (нелинейное и линейное программирование)», у Николаса Дж. Хайэма; и другие. (ред.), Принстонский компаньон по прикладной математике , Princeton University Press, стр. 281–293
  2. ^ Нокедаль, Хорхе; Райт, Стивен Дж. (2006). Численная оптимизация (2-е изд.). Берлин, Нью-Йорк: Springer-Verlag . п. 449 . ISBN 978-0-387-30303-1..
  3. ^ a b Мурти, Катта Г. (1988). Линейная дополнительность, линейное и нелинейное программирование . Сигма-серия в прикладной математике. 3 . Берлин: Heldermann Verlag. с. xlviii + 629 с. ISBN 978-3-88538-403-8. Руководство по ремонту  0949214 . Архивировано из оригинала на 2010-04-01.
  4. ^ Delbos, F .; Гилберт, Дж. (2005). «Глобальная линейная сходимость расширенного лагранжевого алгоритма для решения выпуклых квадратичных задач оптимизации» (PDF) . Журнал выпуклого анализа . 12 : 45–69.
  5. ^ Поиск в Google.
  6. ^ Гулд, Николас IM; Hribar, Mary E .; Нокедаль, Хорхе (апрель 2001 г.). «О решении задач квадратичного программирования с ограничениями на равенство, возникающих при оптимизации». SIAM J. Sci. Comput . 23 (4): 1376–1395. CiteSeerX 10.1.1.129.7555 . DOI : 10.1137 / S1064827598345667 . 
  7. ^ Козлов, МК; С.П. Тарасов; Леонид Григорьевич Хачиян (1979). «[Полиномиальная разрешимость выпуклого квадратичного программирования]». Доклады Академии Наук СССР . 248 : 1049–1051.Перевод на: Советская математика - Доклады . 20 : 1108–1111. Отсутствует или пусто |title=( справка )
  8. ^ Сахни, С. (1974). «Вычислительные проблемы» (PDF) . SIAM Journal on Computing . 3 (4): 262–279. CiteSeerX 10.1.1.145.8685 . DOI : 10.1137 / 0203021 .  
  9. ^ Pardalos, Panos M .; Вавасис, Стивен А. (1991). «Квадратичное программирование с одним отрицательным собственным значением (сильно) NP-сложно». Журнал глобальной оптимизации . 1 (1): 15–22. DOI : 10.1007 / bf00120662 . S2CID 12602885 . 
  10. ^ Lazimy, Рафаэль (1982-12-01). «Смешано-целочисленное квадратичное программирование». Математическое программирование . 22 (1): 332–349. DOI : 10.1007 / BF01581047 . ISSN 1436-4646 . S2CID 8456219 .  
  11. ^ Пропато Марко; Убер Джеймс Г. (2004-07-01). «Проектирование системы повышения давления с использованием смешанного целочисленного квадратичного программирования». Журнал планирования и управления водными ресурсами . 130 (4): 348–352. DOI : 10.1061 / (ASCE) 0733-9496 (2004) 130: 4 (348) .
  12. ^ Cornuéjols, Жерар; Пенья, Хавьер; Tütüncü, Reha (2018). Методы оптимизации в финансах (2-е изд.). Кембридж, Великобритания: Издательство Кембриджского университета. С. 167–168. ISBN 9781107297340.

Дальнейшее чтение [ править ]

  • Коттл, Ричард В .; Пан, Джонг-Ши; Стоун, Ричард Э. (1992). Проблема линейной дополнительности . Компьютерные науки и научные вычисления. Бостон, Массачусетс: Academic Press, Inc., стр. Xxiv + 762 стр. ISBN 978-0-12-192350-1. Руководство по ремонту  1150683 .
  • Гарей, Майкл Р .; Джонсон, Дэвид С. (1979). Компьютеры и непоколебимость: руководство по теории NP-полноты . WH Freeman. ISBN 978-0-7167-1045-5. A6: MP2, стр. 245.
  • Гулд, Николас И.М.; Тоинт, Филипп Л. (2000). "Библиография квадратичного программирования" (PDF) . Внутренний отчет Группы численного анализа RAL 2000-1.

Внешние ссылки [ править ]

  • Страница о QP
  • Руководство по оптимизации NEOS: квадратичное программирование
  • Квадратичное программирование