Busca avançada
Ano de início
Entree


Diferenciação automática de matrizes Hessianas

Texto completo
Autor(es):
Robert Mansel Gower
Número total de Autores: 1
Tipo de documento: Dissertação de Mestrado
Imprenta: Campinas, SP.
Instituição: Universidade Estadual de Campinas (UNICAMP). Instituto de Matemática, Estatística e Computação Científica
Data de defesa:
Membros da banca:
Margarida Pinheiro Mello; Aurelio Ribeiro Leite de Oliveira; Ernesto Julián Goldberg Birgin
Orientador: Margarida Pinheiro Mello
Resumo

Dentro do contexto de programação não linear, vários algoritmos resumem-se à aplicação do método de Netwon aos sistemas constituídos pelas condições de primeira ordem de Lagrange. Nesta classe de métodos é necessário calcular a matriz hessiana. Nosso foco é o cálculo exato, dentro da precisão da máquina, de matrizes hessianas usando diferenciação automática. Para esse fim, exploramos o cálculo da matriz hessiana sob dois pontos de vista. O primeiro é um modelo de grafo que foca nas simetrias que ocorrem no processo do cálculo da hessiana. Este ângulo propicia a intuição de como deve ser calculada a hessiana e leva ao desenvolvimento de um novo método de modo reverso para o cálculo de matrizes hessianas denominado edge pushing. O segundo ponto de vista é uma representação puramente algébrica que reduz o cálculo da hessiana à avaliação de uma expressão. Esta expressão pode ser usada para demonstrar algoritmos já existentes e projetar novos. Para ilustrar, deduzimos dois novos algoritmos, edge pushing e um novo algoritmo de modo direto, e uma série de outros métodos conhecidos [1], [20, p.157] e [9]. Apresentamos estudos teóricos e empíricos sobre o algoritmo edge pushing. Analisamos sua complexidade temporal e de uso de memória. Implementamos o algoritmo como um driver do pacote ADOL-C [19] e efetuamos testes computacionais, comparando sua performance com à de dois outros drivers em dezesseis problemas da coleção CUTE [5]. Os resultados indicam que o novo algoritmo é muito promissor. Pequenas modificações em edge pushing produzem um novo algoritmo, edge pushing sp, para o cálculo da esparsidade de matrizes hessianas, um passo necessário de uma classe de métodos que calculam a matriz hessiana usando colorações de grafos, [14, 19, 30]. Estudos de complexidade e testes numéricos são realizados comparando o novo método contra um outro recentemente desenvolvido [30] e os testes favorecem o novo algoritmo edge pushing sp. No capítulo final, motivado pela disponibilidade crescente de computadores com multiprocesadores, investigamos o processamento em paralelo do cálculo de matrizes hessianas. Examinamos o cálculo em paralelo de matrizes hessianas de funções parcialmente separáveis. Apresentamos uma abordagem desenvolvida para o cômputo em paralelo que pode ser usando em conjunto com qualquer método de cálculo de hessiana e outra estratégia específica para métodos de modo reverso. Testes são executados em um computador com memória compartilhada usando a interface de programação de aplicativo OpenMP (AU)

Processo FAPESP: 09/04785-7 - Differenciação automática de matrizes Hessianas
Beneficiário:Robert Mansel Gower
Modalidade de apoio: Bolsas no Brasil - Mestrado