Precondizionatore efficiente per lagrangiano aumentato


12

Voglio risolvere un problema non lineare con vincoli di uguaglianza non lineari e sto usando un Lagrangiano aumentato con un termine di regolarizzazione della penalità che, come noto, rovina il numero di condizione dei miei sistemi linearizzati (ad ogni iterazione di Newton intendo) . Maggiore è il termine di penalità, peggiore è il numero della condizione. Qualcuno saprebbe un modo efficace per sbarazzarsi di questo cattivo condizionamento in quel caso specifico?

Per essere più precisi, sto usando il classico lagrangiano aumentato perché ho molti vincoli che possono essere generalmente ridondanti. È quindi molto conveniente incorporare ciecamente i vincoli direttamente nelle variabili primarie. Ho provato altri approcci più sofisticati basati su eliminazioni variabili o precondizionatori efficienti direttamente sul sistema KKT ma, a causa della ridondanza dei vincoli, ho qualche problema.

Il problema relativo alle variabili è formulato come segue il mio Lagrangiano come la forma L ( u , λ ) : = W ( u ) + ρ λ Tu=[u1,,un]

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

Quindi, in generale, l'obiettivo di ogni iterazione di Newton è risolvere un problema nella forma

AΔu=b
Con (eliminiamo l'assia del vincolo)
A(u,ρ):=u2W(u)+ρCT(u)C(u)
e
b(u,ρ):=(uW(u)+(ρ+λTc(u))u(u))
e la maiuscola C è destinata a C(u):=uc(u) .

Grazie.


Ciao Tom. Benvenuto in Scicomp. Per aiutarci a rispondere alla tua domanda, potresti scrivere le equazioni che stai cercando di risolvere?
Paolo

Intendi ? AΔu=b
Arnold Neumaier,

Oops scusa. Sì certo.
Tom,

Risposte:


6

A seconda della struttura del problema, è possibile risolvere direttamente il sistema lagrangiano aumentato mal condizionato. Ad esempio, BDDC / FETI-DP può risolvere l'elasticità quasi incomprimibile in forma primaria con un tasso di convergenza indipendente dal rapporto di Poisson (costante a tratti sui sottodomini, ma con salti arbitrari). Allo stesso modo, i metodi multigrid che riproducono esattamente la modalità volumetrica possono avere questa proprietà. Tali metodi sono specifici del problema e, in generale, sanzioni elevate comportano sistemi difficili da precondizionare.

Per consentire una maggiore flessibilità nella scelta del precondizionatore, raccomando di introdurre esplicite doppie variabili e di scrivere il più grande sistema di punti a sella

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

come suggerito da Arnold Neumaier. Questo sistema è molto meglio condizionato e consente di valutare accuratamente un residuo. Se esiste un precondizionatore per qualche sistema penalizzato (dove ), è possibile utilizzarlo come precondizionatore a blocchi per il sistema a sella. Per un esempio di ciò, vedi Dohrmann e Lehoucq (2006) che presuppongono l'elasticità incomprimibile in forma mista usando BDDC applicato a problemi comprimibili. Un'altra popolare classe di metodi si basa sull'approssimazione del complemento di Schur usando argomenti "commutatore approssimativo". Esiste una gamma estremamente diversificata di metodi per risolvere i problemi relativi ai punti di sella, vedi Benzi, Golub e Liesen,Aρ~CTCρ~ρρ1CA1CTNumerical Solution of Saddle Point Problems (2005) per una recensione. Se si utilizza PETSc, molti dei metodi descritti nella recensione precedente possono essere costruiti utilizzando le opzioni di runtime tramite ilPCFIELDSPLITcomponente.

Se puoi essere più specifico sulla fonte del tuo problema (cosa stai minimizzando e qual è il vincolo), potrei essere in grado di suggerire riferimenti più specifici.


i precondizionatori per il sistema regolarizzato mi aprono nuove strade! Tuttavia avrò bisogno di un po 'di tempo per digerire tutto ciò, potrei tornare da te dopo un po' se non ti dispiace. Grazie a tutti e due per le risposte.
Tom,

4

Introduci variabili extra per i termini di spoiler nella condizione KT e puoi trovare un sistema simmetrico più grande che è numericamente ben educato, con solo l'inverso del fattore di penalità che entra nella matrice.

Per risolvere il sistema mal condizionato quando è grande, introdurre e ripetere il problema nel formato , , che è genericamente ben condizionato.(A+ρCTC)x=b ρy=ρCxAx+CTy=bCxρ1y=0


In generale, i miei vincoli sono nella forma dove implica generalmente solo pochi gradi di libertà. Ad esempio, potremmo avere alcuni vincoli di proiezione come corrispondente alla proiezione del punto 3D sul segmento . 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: non intendevo il problema non lineare ma le equazioni mal condizionate con cui finisci. Si prega di annotare (modificando la domanda) la forma del sistema lineare che si desidera risolvere e come inserire il parametro di penalità.
Arnold Neumaier,

Sto cercando di capire come l'introduzione di variabili extra farebbe il trucco ... Potresti inviarmi un riferimento? Grazie mille!
Tom,

@ Tom: vedi la risposta modificata.
Arnold Neumaier,

Ma se è grande allora e il sistema è molto simile al sistema KKT originale che è indefinito, non è vero? ρ - 10ρρ10
Tom,
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.