Pré-condicionador eficiente para Lagrangiano Aumentado


12

Eu quero resolver um problema não linear com restrições de igualdade não lineares e estou usando um Lagrangiano aumentado com um termo de regularização de penalidade que, como se sabe, estraga o número de condições dos meus sistemas linearizados (a cada iteração de Newton, quero dizer) . Quanto maior o prazo da penalidade, pior é o número da condição. Alguém saberia uma maneira eficiente de se livrar desse mau condicionamento nesse caso específico?

Para ser mais específico, estou usando o lagrangiano aumentado clássico porque tenho muitas restrições que geralmente podem ser redundantes. Portanto, é muito conveniente incorporar cegamente as restrições diretamente às variáveis ​​primárias. Tentei outras abordagens mais sofisticadas, baseadas em eliminações variáveis ​​ou precondicionadores eficientes diretamente no sistema KKT, mas, devido à redundância de restrições, tenho alguns problemas.

O problema com relação às variáveis é formulado como segue meu Lagrangiano como a forma u=[u1,,un]

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

Portanto, geralmente o objetivo em cada iteração de Newton é resolver um problema do formato With (deixamos de lado a restrição) e e o capital é destinado a .A ( u , ρ ) : = 2 u W ( u ) + ρ C t ( u ) C ( L ) b ( u , ρ ) : = - (u W ( L ) + ( ρ + λ T c ( u ) ) u (

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

Obrigado.


Olá Tom. Bem-vindo ao Scicomp. Para nos ajudar a responder sua pergunta, você poderia escrever as equações que está tentando resolver?
Paul

Você quer dizer ? AΔu=b
Arnold Neumaier 04/10/12

OPA, desculpe. Sim, claro.
Tom

Respostas:


6

Dependendo da estrutura do problema, é possível resolver diretamente o sistema Lagrangiano Aumentado mal condicionado. Por exemplo, o BDDC / FETI-DP pode resolver a elasticidade quase incompressível na forma primária com uma taxa de convergência independente da razão de Poisson (constante por partes nos subdomínios, mas com saltos arbitrários). Da mesma forma, métodos multigrid que reproduzem exatamente o modo volumétrico podem ter essa propriedade. Esses métodos são específicos ao problema e, em geral, grandes penalidades resultam em sistemas difíceis de pré-condicionar.

Para permitir mais flexibilidade na escolha dos pré-condicionadores, recomendo introduzir variáveis ​​duplas explícitas e escrever o sistema maior de pontos de sela

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

como sugerido por Arnold Neumaier. Este sistema está muito melhor condicionado e permite avaliar com precisão um resíduo. Se existir um pré-condicionador para algum sistema penalizado (onde ), você poderá usá-lo como um pré-condicionador de blocos para o sistema de pontos de sela. Para um exemplo disso, consulte Dohrmann e Lehoucq (2006), que pré-condicionam a elasticidade incompressível na forma mista usando o BDDC aplicado a problemas compressíveis. Outra classe popular de métodos é baseada na aproximação do complemento Schur usando argumentos de "comutador aproximado". Há uma gama extremamente diversificada de métodos para resolver problemas de pontos de sela, consulte Benzi, Golub e Liesen,Aρ~CTCρ~ρρ1CA1CTSolução numérica de problemas do ponto de sela (2005) para uma revisão. Se você estiver usando o PETSc, muitos dos métodos descritos na revisão acima podem ser construídos usando opções de tempo de execução por meio doPCFIELDSPLITcomponente.

Se você puder ser mais específico sobre a origem do seu problema (o que você está minimizando e qual é a restrição), posso sugerir referências mais específicas.


os pré-condicionadores para o sistema regularizado abrem novas maneiras para mim! No entanto, vou precisar de algum tempo para digerir tudo isso; talvez eu volte depois de um tempo, se você não se importar. Muito obrigado por suas respostas.
Tom

4

Introduza variáveis ​​extras para os termos de deterioração na condição KT e você poderá encontrar um sistema simétrico maior que seja numericamente bem-comportado, com apenas o inverso do fator de penalidade entrando na matriz.

Para resolver o sistema mal condicionado quando é grande, introduza e reformule seu problema no formato , , que é genericamente bem condicionado.ρ y = ρ C x A x + C T y = b C x - ρ - 1 y = 0(A+ρCTC)x=b ρy=ρCxAx+CTy=bCxρ1y=0


c(u)=0uc(xs,x1,x2)=(x2x1)nxs\[x1,x2\]
Tom

@ Tom: Eu não quis dizer o problema não-linear, mas as equações mal condicionadas que você acaba. Escreva (editando sua pergunta) a forma do sistema linear que você deseja resolver e como o parâmetro de penalidade entra.
Arnold Neumaier 04/10/12

Estou tentando descobrir como a introdução de variáveis ​​extras faria o truque ... Você poderia me enviar uma referência? Muito obrigado!
Tom

@ Tom: veja a resposta editada.
Arnold Neumaier 04/10/12

ρρ10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.