Wydajny warunek wstępny dla Augmented Lagrangian

12

Chcę rozwiązać nieliniowy problem z nieliniowymi ograniczeniami równości i używam rozszerzonego Lagrangiana z terminem regularnej kary, który, jak wiadomo, psuje liczbę warunków moich zlinearyzowanych układów (przy każdej iteracji Newtona) . Im dłuższy okres kary, tym gorszy numer warunku. Czy ktoś znałby skuteczny sposób na pozbycie się tego złego uwarunkowania w tym konkretnym przypadku?

Mówiąc ściślej, używam klasycznego rozszerzonego lagrangian, ponieważ mam wiele ograniczeń, które na ogół mogą być zbędne. Tak więc ślepe włączenie ograniczeń bezpośrednio do zmiennych pierwotnych jest bardzo wygodne. Próbowałem innych bardziej wyrafinowanych metod opartych na eliminacjach zmiennych lub wydajnych warun- kach wstępnych bezpośrednio w systemie KKT, ale z powodu nadmiarowości ograniczeń mam pewne problemy.

Problem związany ze zmiennymi jest sformułowany w następujący sposób według mojego Lagrangiana jako forma u=[u1,,un]

L(u,λ):=W(u)+ρλTc(u)+ρ2c2(u)

Ogólnie więc celem każdej iteracji Newtona jest rozwiązanie problemu o postaci Za pomocą (upuszczamy hessian ograniczenia) i a duże jest przeznaczone dla .A ( u , ρ ) : = 2 u W ( u ) + ρ C T ( u ) C ( u ) b ( u , ρ ) : = - (u W ( u ) + ( ρ + λ T c ( u ) ) u (

AΔu=b
A(u,ρ):=u2W(u)+ρCT(u)C(u)
C C ( u ) : = u c ( u )
b(u,ρ):=(uW(u)+(ρ+λTc(u))u(u))
CC(u):=uc(u)

Dziękuję Ci.

Tomek
źródło
Cześć Tom. Witamy w Scicomp. Aby pomóc nam odpowiedzieć na twoje pytanie, czy możesz napisać równania, które próbujesz rozwiązać?
Paweł
Masz na myśli ? AΔu=b
Arnold Neumaier
UPS przepraszam. Tak, jasne.
Tom

Odpowiedzi:

6

W zależności od struktury problemu można bezpośrednio rozwiązać źle uwarunkowany system Augmented Lagrangian. Na przykład BDDC / FETI-DP może rozwiązać prawie nieściśliwą elastyczność w pierwotnej postaci ze współczynnikiem zbieżności niezależnym od współczynnika Poissona (stała cząstkowa w poddomenach, ale z dowolnymi skokami). Podobnie metody wielosiatkowe, które dokładnie odtwarzają tryb wolumetryczny, mogą mieć tę właściwość. Takie metody są specyficzne dla problemu i na ogół wysokie kary powodują, że systemy są trudne do spełnienia.

Aby zapewnić większą elastyczność w wyborze warunku wstępnego, zalecam wprowadzenie wyraźnych zmiennych podwójnych i napisanie większego systemu punktów siodłowych

(ACTCρ1)(xy)=(b0)

zgodnie z sugestią Arnolda Neumaiera. Ten system jest znacznie lepiej uwarunkowany i umożliwia dokładną ocenę pozostałości. Jeśli istnieje warunek wstępny dla jakiegoś ukaranego systemu (gdzie ), można go użyć jako warunku wstępnego bloku dla systemu punktu siodłowego. Przykład tego znajduje się w Dohrmann i Lehoucq (2006), który warunkuje nieściśliwą elastyczność w postaci mieszanej przy użyciu BDDC zastosowanego do problemów ściśliwych. Inna popularna klasa metod opiera się na aproksymacji dopełniacza Schur za pomocą argumentów „przybliżonego komutatora”. Istnieje niezwykle zróżnicowany zakres metod rozwiązywania problemów z siodełkiem, patrz Benzi, Golub i Liesen,˜ ρρ - ρ - 1 - C A - 1 C TAρ~CTCρ~ρρ1CA1CTNumeryczne rozwiązanie problemów z siodłem (2005) do przeglądu. Jeśli używasz PETSc, wiele metod opisanych w powyższym przeglądzie można skonstruować przy użyciu opcji wykonawczych za pośrednictwemPCFIELDSPLITkomponentu.

Jeśli możesz sprecyzować źródło problemu (co minimalizujesz i jakie jest ograniczenie), być może uda mi się zasugerować bardziej szczegółowe odniesienia.

Jed Brown
źródło
warunki wstępne dla systemu znormalizowanego otwierają dla mnie nowe sposoby! Potrzebuję jednak trochę czasu, aby to wszystko przetrawić, może wrócę do ciebie po chwili, jeśli nie masz nic przeciwko. Bardzo dziękuję wam obojgu za odpowiedzi.
Tom
4

Wprowadź dodatkowe zmienne dla zepsutych warunków w warunku KT, a znajdziesz większy układ symetryczny, który jest liczbowo dobrze zachowany, z tylko odwrotnością współczynnika kary wchodzącego do matrycy.

Aby rozwiązać źle warunkowany system gdy jest duży , i przekształć swój problem w postaci , , co jest ogólnie dobrze uwarunkowane.(A+ρCTC)x=b ρy=ρCxAx+CTy=bCxρ1y=0

Arnold Neumaier
źródło
Mówiąc ogólnie, moje ograniczenia mają postać gdzie obejmuje zasadniczo zaledwie kilka stopni swobody. Na przykład możemy mieć pewne ograniczenia rzutowania, takie jak odpowiadające rzutowi punktu 3D na odcinku . u c ( x s , x 1 , x 2 ) = ( x 2 - x 1 ) n x s \ [ x 1 , x 2 \]c(u)=0uc(xs,x1,x2)=(x2x1)nxs\[x1,x2\]
Tom
@Tom: Nie miałem na myśli problemu nieliniowego, ale źle uwarunkowane równania, na których się kończysz. Zapisz (edytując swoje pytanie) formę systemu liniowego, który chcesz rozwiązać, oraz sposób wprowadzania parametru kary.
Arnold Neumaier
Próbuję dowiedzieć się, jak wprowadzenie dodatkowych zmiennych mogłoby załatwić sprawę ... Czy możesz przesłać mi referencję? Dziękuję Ci bardzo!
Tom
@Tom: zobacz zredagowaną odpowiedź.
Arnold Neumaier
Ale jeśli jest duże, to a system jest bardzo podobny do oryginalnego systemu KKT, który jest nieokreślony, prawda? ρ - 10ρρ10
Tom