Понимание стоимости сопряженного метода для pde-ограничения оптимизации


11

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

Что я понимаю:

Рассмотрим следующую проблему ограниченной оптимизации PDE:

minβ I(β,u(β))s.t.R(u(β))=0

где I - (достаточно непрерывная) целевая функция переменных векторного дизайна β и вектора переменных поля неизвестных u(β) которые зависят от переменных дизайна, и R(u) - остаточная форма PDE.

Ясно, что мы можем первые вариации I и R как

δI=Iβδβ+Iuδu

δR=Rβδβ+Ruδu=0

Вводя вектор множителей Лагранжа λ , изменение целевой функции можно записать в виде

δI=Iβδβ+Iuδu+λT[Rβδβ+Ruδu]

Переставляя термины, мы можем написать:

δI=[Iβ+λTRβ]δβ+[Iu+λTRu]δu

Таким образом, если мы можем решить для такое, чтоIλ

Iu+λTRu=0 (adjoint equation)

Тогда градиент оценивается только с точки зрения проектных переменныхβδI=[Iβ+λTRβ]δββ .

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

  1. Учитывая текущие переменные дизайнаβ
  2. Решите для переменных поля (из PDE)u
  3. Решить для множителей Лагранжа (из присоединенного уравнения)λ
  4. Вычислить градиентыIβ
  5. Обновление проектных переменныхβ

Мой вопрос

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

Я уверен, что есть что-то очень очевидное, что я как-то упускаю из виду.


3
Кстати, множитель Лагранжа обычно добавляется к целевому функционалу, а не к вариации; таким образом . Установка производной по на ноль дает присоединенное уравнение, а вставка этого (и решение уравнения состояния ) в производную по дает градиент. Если вы начнете со слабой формулировки PDE, все станет еще проще: просто вставьте множитель Лагранжа вместо тестовой функции. Нет необходимости в сильной форме или частичной интеграции в любом месте. u u R ( u , β ) = 0minu,βmaxλI(u,β)+λTR(u,β)uuR(u,β)=0β
Кристиан Клэйсон

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

Ответы:


10

Как этот сопутствующий «трюк» улучшает стоимость оптимизации за итерацию в случае, когда число проектных переменных велико?

Я думаю о стоимости с точки зрения линейной алгебры. (См. Эти заметки Стивена Дж. Джонсона , которые я считаю более интуитивными, чем метод множителей Лагранжа). Прямой подход сводится к решению для чувствительности напрямую:

uβ=(Ru)1Rβ

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

dIdβ=Iβ+Iuuβ,

где обозначает полную производную, а обозначает частную производную.d

Сопутствующий подход отмечает, что

dIdβ=IβIu(Ru)1Rβ,

поэтому присоединенная переменная (множитель Лагранжа) может быть определена какλ

Iu(Ru)1=λT,

что соответствует присоединенному уравнению

Iu+λTRu=0.

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

Я слышал, что стоимость оценки градиента для присоединенного метода не зависит от числа проектных переменных. Но как именно это правда?

Это не совсем независимо; по-видимому, стоимость оценки и будет увеличиваться с увеличением количества параметров. Линейные решения, тем не менее, будут иметь тот же размер, пока размер не изменится. Предполагается, что решения намного дороже, чем оценки функций.( R /β )(I/β)(R/β)u


8

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

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

miny,uJ(y,u)subject toe(y,u)=0
uyJe(y,u)e(y,u)=0y(u)uy(u)
(1)ey(y(u),u)y(u)+eu(y(u),u)=0
eyeu

Это означает, что вы можете определить приведенную цель , которая также дифференцируема (если есть). Один из способов охарактеризовать градиент - через производные по направлениям (например, вычислить все частные производные по базису пространства проектирования). Здесь производная по направлению в направлении задается правилом цепочки как Если хорош, единственное, что трудно вычислить, это для заданного . Это можно сделать, умножив наj(u):=J(y(u),u)J(y,u)j(u)h

(2)j(u;h)=Jy(y(u),u),y(u)h+Ju(y(u),u),h.
Jy(u)hh(1)hсправа и решение для (что позволяет теорема о неявной функции), т. е. вычисление и вставляем это выражение в . При оптимизации с ограничением по PDE это сводится к решению линеаризованного PDE для каждого базисного вектора проектного пространства.y(u)h
(3)[y(u)h]=ey(y(u),u)1[eu(y(u),u)h]
(2) h

Однако, если мы найдем такой оператор , что то это должен быть требуемый градиент. Глядя на , мы можем написать (с являющимся присоединенным оператором), поэтому все, что нам нужно для вычисления, это . Используя это , это можно сделать, используя , то есть вычисление и установка В PDE-ограниченной оптимизацииj( 1 ) J у ( у ( у ) , у ) , у ' ( у ) ( В ) * = В * * ( 3 )

j(u;h)=j,hfor all h,
(1)
Jy(y(u),u),y(u)h=y(u)Jy(y(u),u),h
y(u)y(u)jy(y(u),u)(AB)=BA(3)
λ:=ey(y(u),u)Jy(y(u),u)
J y
j(u)=eu(y(u),u)λ+Ju(y(u),u).
λ uJy(y(u),u)обычно является своего рода невязкой, и вычисление включает в себя решение одного (линейного) сопряженного PDE, независимого от измерения пространства проектирования. (На самом деле, это работает даже для распределенных параметров, т. Е. Если - функция в некотором бесконечномерном банаховом пространстве, где первый подход невозможен.)λu
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.