• Nenhum resultado encontrado

Saída: x˚, solução de (2.11)

1 início

2 r0 “ b ´ Ax0;

3 Obtenha z0 de M z0 “ r0;

4 p0 “ z0;

5 para k = 0,1,2,... até convergir faça

6 λkpz kqTrk ppkqTApk; 7 xk`1“ xk` λkpk; 8 rk`1 “ rk´ λkApk; 9 Obtenha zk`1 de M zk`1 “ rk`1; 10 βk pz k`1 qTrk`1 pzkqTzk ; 11 pk`1 “ zk`1` βkpk; 12 fim 13 fim

No Capítulo 3, trataremos de precondicionadores que podem ser usados para precondicionar as matrizes dos sistemas lineares oriundos dos métodos de pontos interiores.

3 Precondicionamento de Sistemas Lineares

A técnica de precondicionamento permite melhorar o condicionamento de uma matriz e consiste em transformar o sistema linear original em um sistema equivalente, mas com melhores propriedades para ser resolvido por um método iterativo. Isto é, a ideia de precondicionamento tem implícita a redução do número de iterações necessárias para a convergência, transformando o sistema original Ax “ b em um sistema ˜Ax “ ˜b, de tal forma que:

• o número de operações necessárias para resolver ˜Ax “ ˜b não deve ser consideravel- mente maior que o requerido para resolver Ax “ b.

• os sistemas lineares Ax “ b e ˜Ax “ ˜b tenham a mesma solução.

A matriz ˜A e o vetor ˜b são obtidos ao multiplicar ambos A e b por uma matriz M , a qual é chamada de matriz precondicionadora.

Note que o novo sistema ˜Ax “ ˜b deve ter melhores propriedades espectrais, como por exemplo, autovalores próximos da unidade. De fato, a convergência do método dos gradientes conjugados depende da distribuição dos autovalores da matriz. Por esta razão, é importante o precondicionamento de matrizes em muitos casos. Devido a isto, o precondicionamento tornou-se uma das ferramentas mais importantes no desenvolvimento de resolvedores eficientes para problemas difíceis em computação científica (BENZI,2002;

SAAD; VORST, 2000; TREFETHEN; BAU, 1997).

Neste trabalho, utilizamos o método iterativo dos gradientes conjugados pre- condicionado, pois como a matriz diagonal D torna-se muito mal condicionada ao longo das iterações do método de pontos interiores e, consequentemente, ADAT também, se a técnica de precondicionamento não for utilizada, o método dos gradientes conjugados não terá um bom desempenho podendo até mesmo não convergir.

Neste capítulo, serão apresentados os precondicionadores Fatoração Controlada de Cholesky (FCC) e o Precondicionador Separador utilizados na abordagem híbrida. Além disso, descreveremos as mudanças de fase e as propostas para definição do parâmetro η o qual é utilizado na FCC, e sua atualização encontradas na literatura.

3.1

Abordagem híbrida de Precondicionamento

A abordagem híbrida de precondicionamento se mostrou uma ferramenta bastante útil para a resolução de sistemas lineares oriundos do método de pontos interiores,

os quais são resolvidos pelo método iterativo do gradiente conjugado. Isto pode ser visto conforme os resultados apresentados nos trabalhos em (BOCANEGRA, 2005b;GHIDINI;

OLIVEIRA; SORENSEN,2014; SUÑAGUA; OLIVEIRA, 2016; BARTMEYER, 2016),

dentre outros. Esta estratégia consiste em combinar dois ou mais precondicionadores distintos com intuito de melhorar a eficiência do método iterativo. Espera-se que com uma combinação inteligente dos precondicionadores o método se torne mais eficiente.

Este trabalho considera a abordagem híbrida de precondicionamento proposta

em (BOCANEGRA,2005a;BOCANEGRA; CAMPOS; OLIVEIRA,2005), a qual, durante

as iterações de pontos interiores, combina dois precondicionadores especialmente adaptados para os sistemas lineares oriundos dos métodos de pontos interiores. Inicialmente, a matriz precondicionadora M é construída pela Fatoração Controlada de Cholesky (FCC) e depois de um certo número de iterações do método de pontos interiores, numa segunda fase, a matriz precondicionadora M passa a ser construída pelo precondicionador Separador.

Abordagens desse tipo baseiam-se no fato de que, de um modo geral, os precondicionadores oriundos de fatorações incompletas de Cholesky funcionam bem nas iterações iniciais do método de pontos interiores, quando a matriz ADAT ainda não é tão mal condicionada, enquanto o precondicionador separador, funciona melhor nas iterações finais quando a matriz ADAT já está mal condicionada.

Nas duas próximas seções, descrevemos ambos precondicionadores, Fatoração Controlada de Cholesky e Separador.

3.1.1

Fatoração Controlada de Cholesky

A Fatoração Controlada de Cholesky, proposta em (CAMPOS, 1995; CAM-

POS; BIRKETT, 1998.) é uma variação da Fatoração Incompleta de Cholesky (JONES;

PLASSMANN,1995). Sua finalidade consiste em construir uma matriz precondicionadora

que possua os autovalores agrupados e próximos a unidade, de forma a acelerar a conver- gência do método dos gradientes conjugados. Independentemente de esta fatoração ter sido desenvolvida para aplicações gerais, este tipo de fatoração tem algumas propriedades desejáveis, tais como, armazenamento previsível e controle do preenchimento de acordo com a memória disponível.

Considere a matriz ADAT P Rmˆm fatorada da seguinte forma:

ADAT “ LLT “ ˜L ˜LT ` R, (3.1)

sendo

L : fator obtido pela fatoração completa de Cholesky; ˜

R : matriz resto.

Usando ˜L como uma matriz precondicionadora para ADAT, temos: ˜ L´1 pADATq ˜L´T “ p ˜L´1LqpLTL˜´T q “ “ p ˜L´1Lqp ˜L´1LqT. (3.2)

Definindo E “ L ´ ˜L e substituindo L “ ˜L ` E na última igualdade obtemos: ˜

L´1

pADATq ˜L´T

“ pI ` ˜L´1EqpI ` ˜L´1EqT.

Observe que, quando ˜L ÝÑ L então E ÝÑ 0 e ˜L´1

pADATq ˜L´T

ÝÑ I.

Em (DUFF; MEURANT, 1989) foi mostrado que o número de iterações ne-

cessárias para convergência do método dos gradientes conjugados está relacionado com a norma da matriz R. Por outro lado, da equação (3.1), temos:

R “ LLT ´ ˜L ˜LT

LpE ` ˜LqT ´ pL ´ Eq ˜LT “ “ LET ` L ˜LT ´ L ˜LT ` E ˜L “LET ` E ˜L.

(3.3)

Conforme (BOCANEGRA, 2005a), a Fatoração Controlada de Cholesky é construída baseada na minimização da norma de Frobenius de E, visto que, quando }E} ÝÑ 0 ñ }R} ÝÑ 0. Para tal, considere o seguinte problema:

min }E}2F “ min

m ÿ j“1 cj, sendo cjm ÿ i“1 |lij ´ ˜lij|2.

Separando os dois somatórios em:

cjmj`η ÿ s“1 |lisj´ ˜lisj| 2 ` m ÿ s“mj`η`1 |lisj| 2 ,

sendo mj o número de elementos não nulos abaixo da diagonal principal na j-ésima coluna

da matriz ADAT, η o número de elementos não nulos extra permitidos por coluna e m a ordem da matriz. Para minimizar a norma de E, considera-se a seguinte heurística:

• Aumentar o fator η, permitindo maior preenchimento. Desta forma, cj decresce, pois

o primeiro somatório contém mais elementos, o mesmo que ocorre quando níveis de preenchimento são usados nas fatorações incompletas.

• Escolher os maiores mj ` η elementos de ˜L, em valor absoluto, para η fixo. Desta

forma os maiores elementos estão no primeiro somatório e os menores no segundo, produzindo um fator ˜L ótimo para uma determinada quantidade de armazenamento. Este é um esquema de minimização seletiva, semelhante ao de eliminação por tolerância.

O cálculo deste precondicionador é feito de uma coluna por vez e são armaze- nados os maiores elementos em valor absoluto. Assim, uma melhor aproximação para o fator completo é obtida de acordo com a quantidade de memória disponível.

3.1.2

Detalhamento da Fatoração Controlada de Cholesky

A matriz precondicionadora obtida pela Fatoração Controlada de Cholesky (FCC) contém, em cada j-ésima coluna, mj ` η elementos não nulos. Lembrando que mj

é o número de elementos não nulos da j-ésima coluna da matriz original. Para isso, são selecionados os maiores (em modulo) mj ` η elementos da L.

Portanto, cada vez que uma coluna da matriz precondicionadora é calculada e armazenada, os maiores elementos são guardados e os menores elementos são descartados. Dessa forma, uma aproximação ótima para a decomposição completa, no espaço de arma- zenamento permitido, é obtida. O Algoritmo 6 resume os passos da fatoração controlada de Cholesky.

Este algoritmo determina bons precondicionadores quando pouco armazena- mento é necessário em comparação com precondicionadores que conservam o padrão de esparsidade da matriz original. O nome Fatoração Controlada de Cholesky se deve ao fato de que neste algoritmo um bom controle no preenchimento da matriz pode ser feito.

Dado que um limite é pré-escolhido para o armazenamento total por coluna, esse método pode ser facilmente implementado de modo que a memória disponível não seja excedida.

O fato do número de elementos não nulos poder ser calculado e armazenado antecipadamente garante um tempo pequeno necessário para construir o precondicionador e também um bom controle. Isto se deve à estrutura de dados adotada, que permite acesso eficiente aos elementos necessários.

Note que as posições dos elementos não nulos guardados pode não coincidir com todas aquelas da matriz original uma vez que a seleção foi feita por valor e não por posição.

Algoritmo 6: Fatoração Controlada de Cholesky

Documentos relacionados