Existe-t-il des heuristiques pour optimiser la méthode de sur-relaxation successive (SOR)?


10

Si je comprends bien, la relaxation successive fonctionne en choisissant un paramètre 0ω2 et en utilisant une combinaison linéaire d'une itération (quasi) de Gauss-Seidel et de la valeur au pas de temps précédent ... c'est-à-dire

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

Je dis «quasi» car ugsk+1 inclut les dernières informations mises à jour selon cette règle, à tout instant. (notez qu'à ω=1 , c'est exactement gauss-seidel).

Dans tous les cas, j'ai lu que sur le choix optimal pour ω (de sorte que l'itération converge plus rapidement que tout autre) approche 2 pour le problème du poisson car la résolution spatiale approche de zéro. Existe-t-il une tendance similaire pour d'autres problèmes symétriques à dominante diagonale? Autrement dit, existe-t-il un moyen de choisir les oméga de manière optimale sans les intégrer dans un schéma d'optimisation adaptative? Existe-t-il d'autres heuristiques pour d'autres types de problèmes? Quels types de problèmes la sous-relaxation ( ω<1 ) serait-elle optimale?


Pas tout à fait votre question, mais voir Salakhutdinov et Roweis, Adaptive Overrelaxed Bound Optimization Methods 2003, 8p. ( Les accélérations adaptatives ont un rapport qualité / prix élevé, mais sont afaik impossibles à analyser, donc hors sujet ici.)
denis

Réponses:


12

Jacobi amorti

Supposons que la matrice possède diagonale D . Si le spectre de D - 1 A se situe dans l'intervalle [ a , b ] de l'axe réel positif, alors la matrice d'itération de Jacobi avec facteur d'amortissement ω B Jacobi = I - ω D - 1 A a un spectre dans la plage [ 1 - ω b , 1 - ω a ] , minimisant ainsi le rayon spectral avec ω opt = 2UNE-1UNE[une,b]ω

BJacobi=je-ω-1UNE
[1-ωb,1-ωune] donne un facteur de convergence de ρopt=1-2a
ωopter=2une+b
Siab, alors ce facteur de convergence est très faible, comme prévu. Notez qu'il est relativement facile d'estimerb enutilisant une méthode de Krylov, mais assez cher d'estimera.
ρopter=1-2uneune+b=b-uneune+b.
unebbune

Sur-relaxation successive (SOR)

-1UNEμmaxje--1UNEμmax<1

ωopter=1+(μmax1+1-μmax2)2
ρopter=ωopter-1.
ωopterμmax1

commentaires

ω=1ω<1

-1UNE

BSOR=1-(1ω+L)-1UNE
(1ω+L)-1UNE

4
Je suis d'accord que ce n'est plus 1950: o), cependant, je ne suis pas d'accord pour dire qu'il n'est plus logique d'utiliser des solveurs itératifs de papeterie. Nous pouvons atteindre l'efficacité des manuels multigrilles en utilisant un solveur itératif stationnaire pour un solveur d'application d'ingénierie basé sur des solveurs de surface libre non linéaires d'ordre élevé (à la fois les écoulements potentiels et les équations d'Euler). L'efficacité était tout aussi bonne qu'une méthode de sous-espace GMRES krylov préconditionnée avec une précision atteignable (notre publication récente se trouve ici onlinelibrary.wiley.com/doi/10.1002/fld.2675/abstract servant de preuve de concept).
Allan P. Engsig-Karup

1
Vous utilisez Gauss-Seidel comme un lisseur pour multigrille (c'est là que les méthodes comme SOR appartiennent). Si le multigrille fonctionne bien, une méthode externe de Krylov n'est également pas nécessaire (bien que votre article ne montre pas ces comparaisons). Dès que le multigrille commence à perdre de son efficacité (par exemple plus de 5 itérations pour atteindre une erreur de discrétisation), il est généralement utile d'enrouler une méthode Krylov autour du cycle multigrille.
Jed Brown

La méthode entière est une multigrille p avec lissage de type GS, cependant, la méthode complète peut être écrite comme une méthode itérative stationnaire car tous les opérateurs sont constants. Vous pouvez le voir comme une méthode Richardson préconditionnée avec M un préconditionneur construit à partir de la méthode multigrille. Des analyses ont été effectuées mais ne sont pas encore publiées. En fait, ce travail est allé dans l'autre sens que vous proposez. La méthode krylov dans ce travail (un GMRES) a été abandonnée, puis elle a été transformée en une méthode multigrille d'ordre élevé, car nous avons constaté qu'elle était tout aussi efficace (et avec des besoins en mémoire réduits).
Allan P. Engsig-Karup

php

Notez que dans les lisseurs multigrilles, il est parfois préférable (si l'architecture le permet) de rendre le couplage d'ordre élevé / d'ordre faible multiplicatif. Cela étend également la formulation "Richardson préconditionnée". (J'ai eu une discussion lors d'une conférence la semaine dernière avec un gars qui voulait voir essentiellement toutes les méthodes comme Richardson préconditionné avec itération imbriquée, ce qui, je ne pense pas, est un avantage particulier par rapport aux autres déclarations de composition du solveur. Je ne sais pas si c'est pertinentes pour vous, mais vos points m'ont rappelé la discussion.)
Jed Brown
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.