Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Em remoção
Vamos considerar um sistema de equações não lineares
(2.47) |
onde e , .
Em remoção
Supondo que é duas vezes diferenciável, a solução de (2.47) pode ser computada pela iteração de Newton:
(2.48) | |||
(2.49) |
onde é o tamanho do passo escolhido,
(2.50) |
denota a jacobiana de , e .
Observamos que, em geral, a iterada de Newton (2.49) não é trivialmente paralelizável, devido a acoplamentos entre as equações. Por outro lado, podemos reescrever (2.49) como segue:
(2.51) |
onde é o passo de Newton, dado como a solução do seguinte sistema linear
(2.52) |
Desta forma, a cada iteração de Newton , devemos computar a solução do sistema linear (2.52). A aplicação da paralelização no método de Newton dá-se pela utilização de métodos paralelizáveis para a resolução de sistemas lineares. Na Seção 2.9 e, principalmente, na Seção 2.10, discutimos sobre a paralelização de métodos para sistemas lineares.
No caso de um sistema de grande porte e uma vez computada , a atualização (2.51) também pode ser trivialmente paralelizada. Ainda, as computações da função objetivo e de sua jacobiana também são paralelizáveis.
Em remoção
Em problemas de grande porte, o cálculo da jacobina é, em muitos casos, o passo computacionalmente mais custoso na aplicação do método de Newton. Uma alternativa é o chamado método do acorde, no qual a jacobiana é computada apenas na iteração inicial. Segue a iteração deste método
(2.53) | |||
(2.54) | |||
(2.55) | |||
(2.56) |
onde .
Enquanto a taxa de convergência do método de Newton é quadrática, o método do acorde tem convergência linear. Portanto, este só é vantajoso quando o custo de computar a jacobiana é maior que o custo de se computar várias iterações a mais.
Além das paralelizações triviais na computação de (2.54) e (2.60), vamos observar a computação da direção (2.61). Como a jacobiana é fixada constante, a utilização de métodos iterativos para computar pode não ser o mais adequado. Aqui, a utilização de método direto, como a decomposição LU torna-se uma opção a ser considerada. Neste caso, a iteração ficaria como segue
(2.57) | |||
(2.58) | |||
(2.59) | |||
(2.60) | |||
(2.61) |
onde .
Em remoção
Baseados em aproximações na computação do passo de Newton
(2.62) |
uma série de métodos quasi-Newton são derivados. A aplicação de cada uma dessas tais variantes precisa ser avaliada caso a caso. Em todas elas, busca-se abrir mão da convergência quadrática em troca de um grande ganho no tempo computacional em se computar .
Uma das alternativas é uma variante do método do acorde. A ideia é estimar a taxa de convergência entre as iterações e atualizar a jacobiana quando a taxa estimada é menor que um certo limiar considerado adequado (este limiar pode ser escolhido com base nos custos computacionais de se recomputar a jacobiana versus o de se computar várias iterações a mais). A convergência é da ordem quando
(2.63) |
com , quando . Assim sendo, é razoável esperar que
(2.64) |
. Com isso, o pseudocódigo segue
Aproximação inicial: , .
Jacobiana: .
Enquanto :
.
.
Se , então:
.
.
Outra alternativa que pode ser considerada em determinados casos, é a de se computar por
(2.65) |
de forma aproximada. No contexto de métodos iterativos para sistemas lineares, pode-se truncar a resolução do sistema acima fixando um número pequeno de iterações. Desta forma, não seria computada de forma precisa, mas a aproximação computada pode ser suficientemente adequada.
Do ponto de vista de paralelização em MP, estas variantes do método de Newton apresentam potenciais e requerem cuidados similares ao método original.
Em remoção
Implemente um código MP para computar a solução de
(2.66) | |||
(2.67) |
usando o método de Newton. Use a inversa da jacobiana exata e aproximação inicial .
Considere o seguinte problema de Poisson não-linear
(2.68) | ||||
(2.69) |
Use o método de diferenças finitas para discretizar este problema de forma a aproximá-lo como um sistema algébrico de equações não lineares. Implemente um código MP para computar a solução do sistema resultante aplicando o método de Newton.
No Exercício 2.11.2, faça uma implementação MP do método do acorde e compare com o método de Newton clássico.
No Exercício 2.11.2, faça uma implementação MP da variante do método do acorde com atualização da jacobiana com base na estimativa da taxa de convergência.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!