Почему SQP лучше, чем расширенный лагранжиан для нелинейного программирования?

9

В техническом отчете о Галахаде [1] авторы утверждают, что в контексте общих проблем нелинейного программирования

На наш взгляд, никогда не было особых сомнений в том, что методы SQP [последовательного квадратичного программирования] будут более успешными [чем методы расширенного лагранжиана] в долгосрочной перспективе ...

Что может быть основанием для этой веры? Т.е. есть ли теоретические результаты, которые предполагают, что методы SQP должны быть более быстрыми / более надежными, чем методы расширенного лагранжиана?

[1] Galahad, библиотека многопоточных пакетов Fortran 90 для крупномасштабной нелинейной оптимизации, от Gould, Orban и Toint

cjordan1
источник

Ответы:

2

Методы SQP требуют, чтобы цель была дважды дифференцируемой (см. Https://en.m.wikipedia.org/wiki/Sequential_quadratic_programming ), тогда как расширенные лагранжианы работают даже тогда, когда цель недифференцируема (отсюда их недавнее возрождение в сообществе обработки изображений, см. Ftp: //arachne.math.ucla.edu/pub/camreport/cam09-05.pdf )

Я не знаю о программном обеспечении galahad, но если предполагается, что оно решает задачи дифференцируемой оптимизации, оно, вероятно, будет гораздо лучше, если использовать метод, позволяющий дифференцировать целевую функцию.

dranxo
источник
Неверно, что SQP требует дважды дифференцируемых целевых функций. Вы можете просто получить метод, который имеет меньшую скорость сходимости, если целевая функция имеет меньшую дифференцируемость, но это точно так же, как с расширенными лагранжевыми методами.
Вольфганг Бангерт
2

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

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

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

(ATA+ρI)x=b,
Aρminx||Axb||2

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

Hx=g,
HgA

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

Ник Алджер
источник
+1, хотя я хотел бы предостеречь против общих утверждений (под которыми я не имею в виду именно этот ответ). Например, в оптимизации с ограничением по PDE применение часто включает в себя решение нелинейного PDE, в то время как может быть применено путем решения двух линейных PDE, что может быть значительно дешевле (и легче подготовить), если исходный PDE является неприятным. AH
Кристиан Клэйсон,
Таким образом, можно применить, решая два PDE, но чтобы применить вам нужно решить 2 PDE за итерацию kryolv в вашем решателе. С другой стороны, является оператором пересылки, поэтому обычно он вообще не включает никаких решений PDE. Обычно на самом деле матрицу явно знают , например, 5-точечный шаблон с конечной разностью на сетке. Предобработчики для может быть использован для построения предобуславливателей для , но труднее использовать их предусловия . HH1AAAATA+ρIH
Ник Алджер
Если - линейный прямой оператор (что не относится к нелинейной оптимизации с ограничением по PDE), то вы, конечно, правы. В противном случае для применения требуется линейное PDE-решение для каждой итерации Ньютона (или итерации с фиксированной точкой), а затем другое для (которое всегда линейно). Какой из двух методов требует меньше общей работы (скажем, по количеству линейных решений PDE) очень сильно зависит от конкретной проблемы. Разные инструменты для разных работ, это все, что я говорю. AAAT
Кристиан Клэйсон
Я согласен с разными инструментами для разных работ. Я имею в виду -ньютоновский гессиан для задачи оптимизации с ограничением по PDE - такое, что - это , и полный гессиан - это плюс другие члены. Таким образом, здесь содержит две инверсии, а содержит две инверсии в обратном. minq,u12||Cuy||2+α2||Rq||2Au=qH=ATCTCA1+αRTRHH1
Ник Алджер
И я имел в виду ограничение (например, отображает в решение из , которое появляется при идентификации параметров или оптимизации топологии). S(q)=uSqu(qu)=f
Кристиан Клэйсон