Esistono euristiche per l'ottimizzazione del successivo metodo di rilassamento eccessivo (SOR)?


10

A quanto ho capito, il successivo rilassamento si basa sulla scelta di un parametro 0ω2 e sull'utilizzo di una combinazione lineare di un'iterazione (quasi) di Gauss-Seidel e del valore al precedente timestep ...

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

Dichiaro 'quasi' perché ugsk+1 include le ultime informazioni aggiornate secondo questa regola, in qualsiasi momento. (nota che in , questo è esattamente gauss-seidel). ω=1

In ogni caso, ho letto che sulla scelta ottimale per (tale che l'iterazione converge più velocemente di qualsiasi altro) si avvicina a 2 per il problema del poisson mentre la risoluzione spaziale si avvicina a zero. Esiste una tendenza simile per altri problemi simmetrici e diagonalmente dominanti? Cioè, c'è un modo per scegliere Omega in modo ottimale senza incorporarlo in uno schema di ottimizzazione adattiva? Esistono altre euristiche per altri tipi di problemi? Quali tipi di problemi il sotto rilassamento ( ) sarebbe ottimale?ω < 1ωω<1


Non esattamente la tua domanda, ma vedi Salakhutdinov e Roweis, Adaptive Overrelaxed Bound Optimization Methods 2003, 8p. (Gli acceleratori adattivi hanno un alto bang per dollaro, ma sono assolutamente impossibili da analizzare, quindi fuori tema qui.)
denis

Risposte:


12

Jacobi smorzato

Supponiamo che la matrice abbia una diagonaleA . Se lo spettro di D - 1 A si trova nell'intervallo [ a , b ] dell'asse reale positivo, la matrice di iterazione di Jacobi con fattore di smorzamento ω B Jacobi = I - ω D - 1 A ha spettro nell'intervallo [ 1 - ω b , 1 - ω a ] , riducendo così al minimo il raggio spettrale con ω opt = 2DD1A[a,b]ω

BJacobi=IωD1A
[1ωb,1ωa] fornisce un fattore di convergenza di ρopt=1-2a
ωopt=2a+b
Seab, questo fattore di convergenza è molto scarso, come previsto. Si noti che è relativamente facile stimarebusando un metodo di Krylov, ma piuttosto costoso stimarea.
ρopt=12aa+b=baa+b.
abba

Rilassamento eccessivo successivo (SOR)

D1AμmaxID1Aμmax<1

ωopt=1+(μmax1+1μmax2)2
ρopt=ωopt1.
ωoptsi avvicina a 2 quando .μmax1

Commenti

Non è più il 1950 e in realtà non ha senso usare metodi stazionari come solutori. Invece, li usiamo come smoothers per multigrid. In questo contesto, ci preoccupiamo solo di colpire l'estremità superiore dello spettro. L'ottimizzazione del fattore di rilassamento in SOR fa sì che SOR produca pochissimo smorzamento delle alte frequenze (in cambio di una migliore convergenza su frequenze più basse), quindi di solito è meglio usare lo standard Gauss-Seidel, corrispondente a in SOR. Per problemi non simmetrici e con coefficienti altamente variabili, SOR sotto-rilassato ( ) può avere proprietà di smorzamento migliori.ω=1ω<1

Stimare entrambi gli autovalori di è costoso, ma il più grande autovalore può essere stimato rapidamente usando alcune iterazioni di Krylov. I leviganti polinomiali (precondizionati con Jacobi) sono più efficaci delle molteplici iterazioni di Jacobi smorzato e sono più facili da configurare, quindi dovrebbero essere preferiti. Vedi questa risposta per ulteriori informazioni sui leviganti polinomiali.D1A

Talvolta si afferma che SOR non dovrebbe essere usato come precondizionatore per i metodi di Krylov come GMRES. Questo deriva dall'osservazione che il parametro di rilassamento ottimale dovrebbe posizionare tutti gli autovalori della matrice di iterazione su un cerchio centrato sull'origine. Lo spettro dell'operatore precondizionato(1

BSOR=1(1ωD+L)1A
(1ωD+L)1Aha autovalori su un cerchio dello stesso raggio, ma centrato su 1. Per gli operatori scarsamente condizionati, il raggio del cerchio è abbastanza vicino a 1, quindi GMRES vede gli autovalori vicini all'origine in un intervallo di angoli, che di solito non è buono per convergenza. In pratica, GMRES può convergere ragionevolmente quando precondizionato con SOR, specialmente per problemi che sono già abbastanza ben condizionati, ma altri precondizionatori sono spesso più efficaci.

4
Sono d'accordo che non è più il 1950: o), tuttavia, non sono d'accordo sul fatto che non abbia più senso usare solutori iterativi di cancelleria. Siamo in grado di raggiungere l'efficienza di libri di testo multigrid utilizzando un solutore iterativo stazionario per un solutore di applicazioni ingegneristiche basato su solutori di superfici libere non lineari di alto ordine (sia flusso potenziale che equazioni di eulero). L'efficienza era altrettanto buona di un metodo di subspazio GMRES krylov precondizionato con accuratezza raggiungibile (il nostro recente pub si trova qui onlinelibrary.wiley.com/doi/10.1002/fld.2675/abstract che funge da proof-of-concept).
Allan P. Engsig-Karup,

1
Stai usando Gauss-Seidel come un dispositivo più fluido per multigrid (che è dove appartengono metodi come SOR). Se il multigrid sta funzionando bene, non è necessario nemmeno un metodo Krylov esterno (sebbene il tuo documento non mostri questi confronti). Non appena il multigrid inizia a perdere efficienza (ad es. Più di 5 iterazioni per raggiungere l'errore di discretizzazione), di solito vale la pena avvolgere un metodo Krylov attorno al ciclo multigrid.
Jed Brown,

L'intero metodo è un p-multigrid con livellamento di tipo GS, tuttavia, il metodo completo può essere scritto come metodo iterativo stazionario poiché tutti gli operatori sono costanti. Puoi vederlo come un metodo Richardson precondizionato con M un precondizionatore costruito dal metodo multigrid. Le analisi sono state fatte ma non sono ancora state pubblicate. In realtà, questo lavoro è andato nella direzione opposta da te proposta. Il metodo krylov in questo lavoro (un GMRES) è stato scartato e poi è stato trasformato in un metodo multigrid di alto ordine poiché abbiamo scoperto che questo era altrettanto efficiente (e con requisiti di memoria ridotti).
Allan P. Engsig-Karup,

L'uso di - e -multigrid è ovviamente indipendente dal fatto che un metodo Krylov sia usato all'esterno. I costi relativi di varie operazioni sono ovviamente diversi per le GPU rispetto alle CPU e c'è una variabilità tra le implementazioni. Il precondizionato Richardson è solo un metodo di correzione dei difetti. Così sono i metodi non lineari di Newton e Picard (se scritti come tali). Anche altri metodi non lineari (NGMRES, BFGS, ecc.) Usano la storia e possono essere migliori a seconda della forza relativa della non linearità. h pphp
Jed Brown,

Si noti che negli smoother multigrid, a volte è preferibile (architettura permettendo) rendere moltiplicativo l'accoppiamento di ordine alto / basso. Ciò estende anche la formulazione "precondizionata di Richardson". (Ho avuto una discussione in una conferenza la scorsa settimana con un ragazzo che voleva vedere essenzialmente tutti i metodi come Richardson precondizionato con iterazione annidata, che non penso sia un beneficio particolare rispetto ad altre dichiarazioni di composizione del risolutore. Non so se sia pertinente per te, ma i tuoi punti mi hanno ricordato la discussione.)
Jed Brown,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.