Gibt es Heuristiken zur Optimierung der Methode der sukzessiven Überentspannung (SOR)?

10

Nach meinem Verständnis funktioniert die sukzessive Relaxation durch Auswahl eines Parameters 0ω2 und Verwendung einer linearen Kombination aus einer (quasi) Gauß-Seidel-Iteration und dem Wert im vorherigen Zeitschritt ... das heißt

uk+1=(ω)ugsk+1+(1ω)uk

Ich sage 'quasi', weil ugsk+1 zu jedem Zeitpunkt die neuesten Informationen enthält, die gemäß dieser Regel aktualisiert wurden. (Beachten Sie, dass dies bei ω=1 genau Gauß-Seidel ist).

Auf jeden Fall habe ich gelesen, dass sich bei optimaler Wahl für ω (so dass die Iteration schneller konvergiert als jede andere) 2 für das Poisson-Problem nähert, wenn sich die räumliche Auflösung Null nähert. Gibt es einen ähnlichen Trend für andere symmetrische, diagonal dominierende Probleme? Gibt es eine Möglichkeit, Omega optimal zu wählen, ohne es in ein adaptives Optimierungsschema einzubetten? Gibt es andere Heuristiken für andere Arten von Problemen? Welche Art von Problemen wäre eine Unterentspannung ( ω<1 ) optimal?

Paul
quelle
Nicht ganz Ihre Frage, aber siehe Salakhutdinov und Roweis, Adaptive Overrelaxed Bound Optimization Methods 2003, 8p. ( Adaptive Beschleunigungen haben einen hohen Knall pro Dollar, sind aber kaum zu analysieren, daher hier nicht zum Thema.)
Denis

Antworten:

12

Gedämpfte Jacobi

ADD1A[a,b]ω

BJacobi=IωD1A
[1ωb,1ωa]
ωopt=2a+b
ρopt=12aa+b=baa+b.
abba

Aufeinanderfolgende Überentspannung (SOR)

D1AμmaxID1Aμmax<1

ωopt=1+(μmax1+1μmax2)2
ρopt=ωopt1.
ωoptnähert sich 2, wenn .μmax1

Bemerkungen

Es ist nicht mehr 1950 und es macht wirklich keinen Sinn, stationäre iterative Methoden als Löser zu verwenden. Stattdessen verwenden wir sie als Glätter für Multigrid. In diesem Zusammenhang möchten wir nur das obere Ende des Spektrums ansprechen. Durch die Optimierung des Relaxationsfaktors in SOR wird bei SOR nur eine sehr geringe Dämpfung hoher Frequenzen erzeugt (im Austausch für eine bessere Konvergenz bei niedrigeren Frequenzen). Daher ist es normalerweise besser, Standard-Gauß-Seidel zu verwenden, das in SOR . Bei unsymmetrischen Problemen und Problemen mit stark variablen Koeffizienten kann eine unterentspannte SOR ( ) bessere Dämpfungseigenschaften aufweisen.ω=1ω<1

Das Schätzen beider Eigenwerte von ist teuer, aber der größte Eigenwert kann mit wenigen Krylov-Iterationen schnell geschätzt werden. Polynomglätter (mit Jacobi vorkonditioniert) sind effektiver als mehrere Iterationen von gedämpftem Jacobi und einfacher zu konfigurieren, daher sollten sie bevorzugt werden. In dieser Antwort finden Sie weitere Informationen zu Polynomglättern.D1A

Es wird manchmal behauptet, dass SOR nicht als Vorkonditionierer für Krylov-Methoden wie GMRES verwendet werden sollte. Dies ergibt sich aus der Beobachtung, dass der optimale Relaxationsparameter alle Eigenwerte der Iterationsmatrix auf einen Kreis setzen sollte zentriert am Ursprung. Das Spektrum des vorkonditionierten Operators

BSOR=1(1ωD+L)1A
(1ωD+L)1Ahat Eigenwerte auf einem Kreis mit demselben Radius, ist jedoch auf 1 zentriert. Bei schlecht konditionierten Operatoren liegt der Radius des Kreises ziemlich nahe bei 1, sodass GMRES Eigenwerte in der Nähe des Ursprungs in einem Winkelbereich sieht, der normalerweise nicht gut ist für die Konvergenz. In der Praxis kann GMRES bei Vorkonditionierung mit SOR vernünftig konvergieren, insbesondere bei Problemen, die bereits ziemlich gut konditioniert sind, aber andere Vorkonditionierer sind häufig wirksamer.
Jed Brown
quelle
4
Ich bin damit einverstanden, dass es nicht mehr 1950 ist: o) Ich bin jedoch nicht der Meinung, dass es keinen Sinn mehr macht, iterative Schreibwarenlöser zu verwenden. Mit einem stationären iterativen Löser für einen technischen Anwendungslöser, der auf nichtlinearen freien Oberflächenlösern höherer Ordnung (sowohl Potentialfluss- als auch Eulergleichungen) basiert, können wir die Effizienz von Multigrid-Lehrbüchern erreichen. Die Effizienz war genauso gut wie bei einer vorkonditionierten GMRES-Krylov-Subraummethode mit erreichbarer Genauigkeit (unsere aktuelle Veröffentlichung finden Sie hier onlinelibrary.wiley.com/doi/10.1002/fld.2675/abstract, die als Proof-of-Concept dient).
Allan P. Engsig-Karup
1
Sie verwenden Gauß-Seidel als Glättung für Multigrid (wo Methoden wie SOR hingehören). Wenn Multigrid gut funktioniert, ist auch eine äußere Krylov-Methode nicht erforderlich (obwohl Ihr Papier diese Vergleiche nicht zeigt). Sobald Multigrid an Effizienz verliert (z. B. mehr als 5 Iterationen, um einen Diskretisierungsfehler zu erreichen), lohnt es sich normalerweise, eine Krylov-Methode um den Multigrid-Zyklus zu wickeln.
Jed Brown
Die gesamte Methode ist ein p-Multigrid mit GS-Glättung. Die vollständige Methode kann jedoch als stationäre iterative Methode geschrieben werden, da alle Operatoren konstant sind. Sie können es als vorkonditionierte Richardson-Methode anzeigen, wobei M ein Vorkonditionierer ist, der aus der Multigrid-Methode aufgebaut ist. Die Analyse wurde durchgeführt, ist aber noch nicht veröffentlicht. Eigentlich ging diese Arbeit in die andere Richtung, die Sie vorschlagen. Die Krylov-Methode in dieser Arbeit (ein GMRES) wurde verworfen und dann in eine Multigrid-Methode höherer Ordnung umgewandelt, da wir fanden, dass dies genauso effizient war (und bei reduziertem Speicherbedarf).
Allan P. Engsig-Karup
Die Verwendung von und Multigrid ist natürlich unabhängig davon, ob außen eine Krylov-Methode angewendet wird. Die relativen Kosten verschiedener Operationen unterscheiden sich natürlich für GPUs im Vergleich zu CPUs, und es gibt Unterschiede zwischen den Implementierungen. Vorkonditionierter Richardson ist nur eine Fehlerkorrekturmethode. Dies gilt auch für die nichtlinearen Methoden Newton und Picard (sofern als solche geschrieben). Andere nichtlineare Methoden (NGMRES, BFGS usw.) verwenden ebenfalls die Historie und können abhängig von der relativen Stärke der Nichtlinearität besser sein. php
Jed Brown
Es ist zu beachten, dass es bei Multigrid-Glättern manchmal vorzuziehen ist (wenn die Architektur dies zulässt), die Kopplung hoher Ordnung / niedriger Ordnung multiplikativ zu machen. Dies erweitert auch die "vorkonditionierte Richardson" -Formulierung. (Ich hatte letzte Woche auf einer Konferenz eine Diskussion mit einem Mann, der im Wesentlichen alle Methoden als vorkonditionierten Richardson mit verschachtelter Iteration betrachten wollte, was meiner Meinung nach keinen besonderen Vorteil gegenüber anderen Aussagen zur Solver-Zusammensetzung darstellt. Ich weiß nicht, ob dies der Fall ist relevant für Sie, aber Ihre Punkte erinnerten mich an die Diskussion.)
Jed Brown