Zrozumienie kosztu metody łączenia dla optymalizacji ograniczonej przez pde


11

Próbuję zrozumieć, jak działa metoda optymalizacji oparta na sprzężeniu dla optymalizacji ograniczonej przez PDE. W szczególności staram się zrozumieć, dlaczego metoda łączenia jest bardziej wydajna w przypadku problemów, w których liczba zmiennych projektowych jest duża, ale „liczba równań jest niewielka”.

Co rozumiem:

Rozważ następujący problem optymalizacji ograniczonej przez PDE:

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

gdzie jest (wystarczająco ciągłą) funkcją celu wektorowych zmiennych projektowych i wektora zmiennych polowych nieznanych które zależą od zmiennych projektowych, a jest resztową postacią PDE.Iβu(β)R(u)

Oczywiście możemy pierwsze odmiany I i R jako

δI=Iβδβ+Iuδu

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

Wprowadzając wektor mnożników Lagrange'a , zmienność funkcji celu można zapisać jakoλ

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

Zmieniając warunki, możemy napisać:

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

Zatem jeśli jesteśmy w stanie rozwiązać dla takie, żeλ

Iu+λTRu=0 (adjoint equation)

Następnie gradient oceniano tylko pod względem zmiennych projektowych .δI=[Iβ+λTRβ]δββ

Dlatego algorytm optymalizacji oparty na sprzężeniu zapętlałby następujące kroki:

  1. Biorąc pod uwagę aktualne zmienne projektoweβ
  2. Rozwiąż dla zmiennych pola (z PDE)u
  3. Rozwiąż mnożniki Lagrange'a (z równania sąsiadującego)λ
  4. Oblicz gradientyIβ
  5. Zaktualizuj zmienne projektoweβ

Moje pytanie

W jaki sposób ta przylegająca „sztuczka” poprawia koszt optymalizacji na iterację w przypadku, gdy liczba zmiennych projektowych jest duża? Słyszałem, że koszt oceny gradientu dla metody łączenia jest „niezależny” od liczby zmiennych projektowych. Ale jak dokładnie to prawda?

Jestem pewien, że coś bardzo oczywistego przeoczyłem.


3
Nawiasem mówiąc, mnożnik Lagrange'a jest zwykle dodawany do funkcji celu, a nie odmiany; zatem . Ustawienie pochodna względem jest na zero, otrzymuje się równanie sprzężone, i umieszczanie w tym (i roztwór równania stanu ), do pochodnej względem otrzymuje się gradient. Jeśli zaczniesz od słabego sformułowania PDE, wszystko stanie się jeszcze prostsze: wystarczy wstawić mnożnik Lagrange'a zamiast funkcji testowej. Nigdzie nie ma potrzeby silnej formy ani częściowej integracji. u u R ( u , β ) = 0 βminu,βmaxλI(u,β)+λTR(u,β)uuR(u,β)=0β
Christian Clason

1
Najdroższą częścią każdej symulacji jest faza rozwiązywania. Używając punktu sąsiedniego otrzymujesz gradient w dwóch rozwiązaniach, znacznie tańszy w porównaniu do różnic skończonych, w których potrzebujesz co najmniej n + 1 rozwiązań, gdzie n jest liczbą wolnych parametrów w twoim modelu.
stali

Odpowiedzi:


10

W jaki sposób ta przylegająca „sztuczka” poprawia koszt optymalizacji na iterację w przypadku, gdy liczba zmiennych projektowych jest duża?

Myślę o koszcie z perspektywy algebry liniowej. (Zobacz te notatki Stephena G. Johnsona , które uważam za bardziej intuicyjne niż mnożnik Lagrange'a). Podejście przyszłościowe polega na bezpośrednim rozwiązaniu problemu wrażliwości:

uβ=(Ru)1Rβ

który polega na rozwiązaniu układu liniowego dla każdego parametru w wektorze , a następnie ocenieβ

dIdβ=Iβ+Iuuβ,

gdzie oznacza całkowitą pochodną, ​​a oznacza pochodną częściową.d

Podejście sąsiednie zauważa, że

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

więc zmienna przylegająca (mnożnik Lagrange'a) może być zdefiniowana przezλ

Iu(Ru)1=λT,

co odpowiada równaniu sąsiadującemu

Iu+λTRu=0.

To przegrupowanie terminów wymaga tylko jednego liniowego rozwiązania zamiast liniowego rozwiązania dla każdego parametru, co sprawia, że ​​ocena przyłączy jest tania w przypadku wielu parametrów.

Słyszałem, że koszt oceny gradientu dla metody łączenia jest „niezależny” od liczby zmiennych projektowych. Ale jak dokładnie to prawda?

Nie jest całkowicie niezależny; przypuszczalnie koszt oceny i wzrośnie wraz z liczbą parametrów. Rozwiązania liniowe będą jednak nadal tego samego rozmiaru, o ile rozmiar się nie zmieni. Zakłada się, że rozwiązania są znacznie droższe niż oceny funkcji.(I/β)(R/β)u


8

W skrócie, korzyść wynika z faktu, że aby obliczyć pochodne zredukowanego celu , tak naprawdę nie musisz znać pochodnej w odniesieniu do jako osobny obiekt, ale tylko ta jego część, która prowadzi do zmian w .I(β,u(β))u(β)βI(β,u(β))

Przejdźmy do notacji Czuję się bardziej komfortowo z: ( jest zmienna projektowa, jest zmienną stanu, a jest celem). Powiedzmy, że jest wystarczająco ładne, aby zastosować twierdzenie o funkcji niejawnej, więc równanie ma unikalne rozwiązanie które jest stale różnicowalne względem , i pochodna jest podane przez rozwiązanie ( i są pochodnymi częściowymi) .

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

Oznacza to, że możesz zdefiniować zredukowany cel , który również jest różniczkowalny (jeśli jest). Jednym ze sposobów scharakteryzowania gradientu są pochodne kierunkowe (np. Obliczenie wszystkich pochodnych cząstkowych w odniesieniu do podstawy przestrzeni projektowej). W tym przypadku pochodną kierunkową w kierunku podaje reguła łańcucha jako Jeśli jest fajny, jedyną trudną rzeczą do obliczenia jest dla danego . Można tego dokonać mnożąc przezj(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)hod prawej i rozwiązywanie dla (na co pozwala twierdzenie o funkcji niejawnej), tj. obliczanie i podłączając to wyrażenie do . W optymalizacji ograniczonej przez PDE oznacza to rozwiązanie zlinearyzowanego PDE dla każdego wektora podstawowego przestrzeni projektowej.y(u)h
(3)[y(u)h]=ey(y(u),u)1[eu(y(u),u)h]
(2) h

Jeśli jednak znajdziemy operator taki, że to musi to być pożądany gradient. Patrząc na , możemy napisać (gdzie jest operatorem sąsiednim), więc wystarczy obliczyć . Używając tego , można to zrobić za pomocą , tj. i ustawienie W optymalizacji ograniczonej przez PDE,j

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 ( y ( u ) , u ) λ u
j(u)=eu(y(u),u)λ+Ju(y(u),u).
Jy(y(u),u)jest zwykle pewnego rodzaju resztkowym, a obliczenia obejmują rozwiązanie pojedynczego (liniowego) sprzężonego PDE, niezależnego od wymiaru przestrzeni projektowej. (W rzeczywistości działa to nawet w przypadku parametrów rozproszonych, tj. Jeśli jest funkcją w nieskończenie wymiarowej przestrzeni Banacha, gdzie pierwsze podejście jest niemożliwe.)λu
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.