Rafael Santos Coelho. 15 de abril de 2009

Documentos relacionados
Questões de Computação Científica no contexto da Otimização

Método do Lagrangiano aumentado

Introdução ao Curso de Algoritmos Numéricos II /

Uma breve introdução ao Curso de Computação Científica / Algoritmos Numéricos II

Universidade Federal de Santa Maria Centro de Ciências Naturais e Exatas Departamento de Física Laboratório de Teoria da Matéria Condensada

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Interpolação Polinomial. Ana Paula

II. Funções de uma única variável

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

UMA PROPOSTA DE DECOMPOSIÇÃO DE SISTEMAS LINEARES PARA DMPC

Aula 3 Volumes Finitos

Computação Científica Combinatória

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Thiago Christiano Silva

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Solução Numérica de EDOs

3 SPH. 3.1 Introdução

Como resolver o QFEMUP usando otimização

MAP Segundo exercício programa Resolvendo sistemas esparsos por Gradientes Conjugados

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

1 Álgebra linear matricial

PUC-GOIÁS - Departamento de Computação

MP-208: Filtragem Ótima com Aplicações Aeroespaciais

Resolução de problemas com apenas restrições lineares de igualdade

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Primeiro Exercício programa: Como o Google ordena páginas. MAP-2121 para EPUSP

Projeto e Análise de Algoritmos

Teoria da Computação. Complexidade computacional classes de problemas

Resolução de Sistemas Lineares. Ana Paula

Modelagem Computacional. Parte 8 2

Processamento de Malhas Poligonais

MP-208: Filtragem Ótima com Aplicações Aeroespaciais

Comparação de Desempenho entre o Método dos Elementos de Contorno com Integração Direta e o Método dos Elementos Finitos em problemas de Poisson

étodos uméricos RESOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS (Continuação) Prof. Erivelton Geraldo Nepomuceno

Otimização Combinatória - Parte 4

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

Cálculo Numérico BCC760

Aula 5 O Método dos Volumes Finitos

Cálculo II. Resumo e Exercícios P3

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

2 Definição do Problema

Resolução de sistemas de equações lineares: Método dos Gradientes Conjugados

Método de Newton. Podemos escrever este problema na forma vetorial denindo o vetor x = [x 1, x 2,..., x n ] T e a função vetorial

Algoritmos em redes de fluxo e aplicações

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

6.Elaboração de algoritmos...13

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

Capítulo 5 - Optimização Não-Linear

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Introdução aos Métodos Numéricos

Matrizes e Linearidade

Coloração. Carolina Moraes e Lucas Glir

Uma forma de classificação

Análise e Síntese de Algoritmos

Aula 19: Lifting e matrizes ideais

Problemas Intratáveis ou computação eficiente X computação ineficiente

Álgebra Linear - Prof. a Cecilia Chirenti. Lista 3 - Matrizes

Optimização. Carlos Balsa. Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança

étodos uméricos DERIVAÇÃO NUMÉRICA Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

3.6 Erro de truncamento da interp. polinomial.

Modelagem Computacional. Aula 5 2

Resolução de Sistemas de Equações Lineares

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Autovalores e Autovetores

Matriz Hessiana e Aplicações

BCC465 - TÉCNICAS DE MULTI-OBJETIVO. Gladston Juliano Prates Moreira 22 de novembro de 2017

Método de Diferenças Finitas

Aula 10 Sistemas Não-lineares e o Método de Newton.

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr.

Abordagens para Resolução de Problemas

Aula 14. Aula de hoje. Aula passada

Método de Newton truncado

Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi

O Problema da 3- Coloração de Grafos

Transformação de Coordenadas

SUMÁRIO PARTE 1 MODELAGEM, COMPUTADORES E ANÁLISE DE ERROS 3. PT1.1 Motivação... 3 Pt1.2 Fundamentos Matemáticos... 5 Pt1.3 Orientação...

Introdução à Otimização de Processos. Prof. Marcos L Corazza Departamento de Engenharia Química Universidade Federal do Paraná

Métodos Numéricos em Equações Diferenciais Aula 02 - Método de Euler

Geometria Computacional

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Resolução de Sistemas de

Como saber se um problema está em NP e não está em P?

Geração de aproximações de diferenças finitas em malhas não-uniformes para as EDPs de Laplace e Helmholtz

Métodos Numéricos. Turma CI-202-X. Josiney de Souza.

CCI-22 CCI-22. 4) Equações e Sistemas Não Lineares. Matemática Computacional. Bissecção, Posição Falsa, Ponto Fixo, Newton-Raphson, Secante

Diogo Pinheiro Fernandes Pedrosa

Projeto e Análise de Algoritmos Aula 1: Panorama (0.1,0.2)

Modelagem Computacional. Parte 6 2

Teoria dos Grafos Aula 3

Cálculo Diferencial e Integral 2 Formas Quadráticas

Otimização Aplicada à Engenharia de Processos

6 MÉTODO DE ELEMENTOS FINITOS - MEF

Máquinas de Vetores de Suporte

ESTATÍSTICA COMPUTACIONAL

Algoritmos Combinatórios: Introdução

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

Transcrição:

Otimização, derivadas e coloração Rafael Santos Coelho UFES 15 de abril de 2009 Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 1 / 25

Sumário 1 Introdução e motivação 2 Conceitos básicos Matrizes jacobianas e hessianas 3 Abordagens para o cálculo de matrizes derivativas Hand-coding Diferenciação finita Diferenciação automática 4 Coloração de grafos O que é um grafo e o que significa colorir um? Complexidade algorítimica Detalhes a serem ponderados Relação com a diferenciação finita para o cálculo de jacobianas 5 Considerações finais 6 Referências Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 2 / 25

Introdução e motivação Introdução e motivação Via de regra, as soluções para problemas não-lineares de otimização modelados via equações diferenciais ordinárias ou parciais importantíssimas para o desenvolvimento de várias áreas do conhecimento requerem o cálculo de matrizes derivativas, especialmente jacobianas e hessianas Em aplicações reais, onde existem restrições de tempo de resposta e de consumo de recursos computacionais, propriedades como esparsidade e simetria podem e devem ser exploradas para tornar mais eficiente a determinação dos elementos não-nulos dessas matrizes Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 3 / 25

Introdução e motivação Introdução e motivação Com o tempo, estudos [3] mostraram que o problema de se calcular otimamente matrizes derivativas pode ser reescrito na forma de um problema de particionamento de matrizes Em seguida, provaram que o problema de particionamento de matrizes, na realidade, podia ser convertido em um problema especializado de coloração de grafos Desde então, a coloração de grafos tem se revelado muito útil, enquanto estratégia de abstração, na formulação, análise e projeto de algoritmos para a computação de matrizes derivativas Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 4 / 25

Conceitos básicos Matrizes jacobianas e hessianas Conceitos básicos Matrizes jacobianas e hessianas Sejam F : D R n R n uma função vetorial suave e z D. Define-se J (F, z) a matriz jacobiana associada a F e calculada em z F 1 (z) F 1 (z) F x 1 x 2... 1 (z) x n J (F, z) =...... F n(z) x 2... F n(z) x 1 f (z) x n x 1 F n(z) x n Sejam f : D R n R uma função escalar suave e z D. Define-se H(f, z) a matriz hessiana associada a f e calculada em z f (z) f (z) f (z) x 1 x 1 x 1 x 2... x 1 x n H(f, z) =...... f (z) x n x 2... f (z) x n x n Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 5 / 25

Abordagens para o cálculo de matrizes derivativas Hand-coding Hand-coding Visão geral Definição: consiste em programar separadamente a(s) rotina(s) usada(s) para o cômputo da matriz Vantagens: eficiência e alta precisão Desvantagens: elevado risco de erros e grande esforço de implementação dependendo do tamanho e da complexidade do problema Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 6 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Visão geral Definição: consiste em utilizar aproximações de diferenças finitas para o cômputo da matriz, dispensando a necessidade de se ter uma rotina estática para fazer isso Vantagens: praticidade e economia de memória Desvantagens: baixa precisão e dificuldade de predição de um valor adequado para o parâmetro de diferenciação Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 7 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Formulação Sejam F : D R n R n uma função vetorial n vezes continuamente diferenciável, ε R +, v R n e J (F, x + εv) a matriz jacobiana associada a F e calculada em x + εv, manipulando-se a versão multivariada do teorema de Taylor, pode-se concluir que J (F, x + εv)v F(x + εv) F(x) ε + O(ε) (1) ε é chamado de parâmetro de diferenciação e v é chamado de vetor direcional A relação (1) é uma fórmula de diferença finita adiantada de passo real que implica em erros de truncamento e erros de cancelamento Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 8 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Erros de truncamento Erros de truncamento surgem a partir do truncamento da série de Taylor e geralmente são proporcionais à ordem de grandeza do parâmetro de diferenciação. Tais erros podem ser atenuados diminuindo-se o valor do parâmetro de diferenciação ou aumentando-se a ordem de aproximação da fórmula de diferença finita. Entretanto, a última opção provoca um aumento do número de avaliações da função F(x), o que consequentemente implica em um maior custo computacional Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 9 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Erros de cancelamento Erros de cancelamento surgem quando dois números muito próximos são substraídos, restando apenas os dígitos mais à direita. Isso acontece quando se escolhe um valor muito diminuto para o parâmetro de diferenciação. Tais erros possuem uma natureza acumulativa, o que significa que quanto maior for o número de operações propagadoras, maiores serão as chances de eles contaminarem os dígitos à esquerda mais significativos, comprometendo, portanto, a precisão dos resultados Uma forma de se livrar por completo do erro de cancelamento é a estratégia da derivada de passo complexo (complex step derivative) [4], que incorpora variáveis complexas na fórmula de diferenças finitas Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 10 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Parâmetro de diferenciação Se o parâmetro de diferenciação ε for muito grande, a derivada é pobremente aproximada, porém se ele for muito pequeno o resultado da aproximação pode ser gravemente afetado por erros de cancelamento A melhor escolha para o parâmetro de diferenciação deve ser feita de maneira a balancear esses fatores contrários Estimar devidamente o valor para o parâmetro de diferenciação é tanto uma ciência quanto é uma arte. Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 11 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Calculando a matriz jacobiana Sejam F : D R n R n uma função vetorial suave, z D, J (F, z) a matriz jacobiana associada a F e calculada em z e j ij o elemento da i-ésima linha e j-ésima coluna de J (F, z). Analisando-se a relação (1), sabe-se que n j 1i v i. = J (F, z)v n j ni v i i=1 i=1 F(x + εv) F(x) ε Sejam j i a i-ésima coluna de J (F, z) e e = {e 1,..., e n } a base canônica de R n. Então, é natural esperar que j i = J (F, z)e i i = 1,..., n Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 12 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Calculando a matriz jacobiana Sejam F : D R 4 R 4 uma função vetorial suave, z D e J (F, z) a matriz jacobiana associada a F e calculada em z cujo padrão de esparsidade é conhecido a priori por j 11 0 0 j 14 J (F, z) = 0 j 22 j 23 j 24 j 31 j 32 0 0 0 j 42 j 43 0 Para e = {e 1, e 2, e 3, e 4 }, com e 2 = (0, 1, 0, 0), fica claro que 0 j 2 = j 22 j 32 = J (F, z)e 2 F(x + εe 2) F(x) ε j 42 Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 13 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação finita Diferenciação finita Calculando a matriz jacobiana Por indução, pode-se concluir que o cálculo de uma matriz jacobiana de ordem n requer, no máximo, n produtos matriz-vetor. Porém, como cada produto matriz-vetor é aproximado por diferenças finitas, isso corresponde fundamentalmente a, no máximo, n avaliações da função F(x) Para problemas complexos e de grande escala, repetidas avaliações da função F(x) podem ser computacionalmente custosas. Logo, o ideal seria que o número de avaliações pudesse ser, de alguma forma, reduzido: é justamente esse o insight da coloração de grafos! Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 14 / 25

Abordagens para o cálculo de matrizes derivativas Diferenciação automática Diferenciação automática - Visão geral Definição: consiste em decompor a função a ser derivada em uma sequência de funções elementares e então utilizar a regra da cadeia para realizar a derivação de fato, dispensando a necessidade de se ter uma rotina estática para fazer isso Vantagens: praticidade, alta precisão e eficiência Desvantagem: elevado gasto de memória Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 15 / 25

Coloração de grafos O que é um grafo e o que significa colorir um? O que é um grafo e o que significa colorir um? Um grafo G = (V, E) pode ser definido como um par ordenado (V, E), onde V é um conjunto de vértices e E é um conjunto de arestas do tipo {v 1, v 2 }, com v 1, v 2 V Dado um grafo G = (V, E), em geral, o problema da coloração otimal de grafos se resume em encontrar uma coloração de vértices própria C : V K, tal que para todo par de vértices (v 1, v 2 ), com v 1, v 2 V, se {v 1, v 2 } E, então C(v 1 ) C(v 2 ) e a cardinalidade K = X (G), onde X (G) é o número cromático de G Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 16 / 25

Coloração de grafos Complexidade algorítimica Complexidade algorítimica Foi provado que o problema da coloração de grafos é NP-Completo e, portanto, é improvável que exista um algoritmo que resolva otimamente qualquer instância do problema em um tempo de execução expresso como uma função polinomial do tamanho do grafo No entanto, em 1984, Goldfarb e Toint [2] mostraram que para determinadas classes de grafos, a saber grafos que modelam malhas estruturadas oriundas de discretizações de diferenças finitas, é possível, sim, desenvolver um algoritmo polinomial ótimo Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 17 / 25

Coloração de grafos Detalhes importantes a serem ponderados Detalhes importantes a serem ponderados Ao se projetar um algoritmo heurístico de coloração de grafos para otimizar o cálculo aproximado de matrizes derivativas é preciso levar em consideração vários fatores: A abordagem a ser usada para a execução do cálculo, isto é, diferenciação finita ou diferenciação automática A natureza da matriz derivativa em si, ou seja, se se trata de uma matriz jacobiana (não-simétrica) ou hessiana (simétrica), quão esparsa é a matriz, qual é a estrutura da esparsidade da matriz e qual é o tamanho da parte não-constante da matriz A natureza do cálculo, a saber, se se trata do cálculo integral ou parcial da matriz derivativa Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 18 / 25

Coloração de grafos Detalhes importantes a serem ponderados Detalhes importantes a serem ponderados Que tipo de partição será realizada, isto é, unidirecional ou bidirecional O modelo de programação do algoritmo heurístico, isto é, sequencial ou paralelo Se é possível relaxar as exigências da coloração para tornar o algoritmo menos custoso Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 19 / 25

Coloração de grafos Relação com a diferenciação finita para o cálculo de jacobianas Relação com a diferenciação finita para o cálculo de jacobianas Sejam D = [d ij ] l c uma matriz qualquer e o conjunto de suas colunas C = {k 1, k 2,..., k c } Define-se σ(k i ) = {j {1, 2,..., l} : d ji 0} a estrutura de k i Duas colunas k i e k j são ditas estruturalmente ortogonais se σ(k i ) σ(k j ) = Define-se que P(D) = {C 1, C 2,..., C α } é uma partição de D em colunas estruturalmente ortogonais, se α 1 C i = C i=1 2 Para todo par (C i, C w ), com i w e i, w {1, 2,..., α}, tem-se C i C w = 3 Para todo i {1, 2,..., α}, os elementos de C i são colunas estruturalmente ortogonais entre si Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 20 / 25

Coloração de grafos Relação com a diferenciação finita para o cálculo de jacobianas Relação com a diferenciação finita para o cálculo de jacobianas Sejam D = [d ij ] l c uma matriz derivativa qualquer e o conjunto de suas colunas C = {k 1, k 2,..., k c } Define-se G c (D) = (V, E) o grafo de intersecção de colunas de D, com V = C e E = {(k i, k j ) : σ(k i ) σ(k j ) } Em 1984, Curtis, Powell e Reid [1] demonstraram que o problema de se otimizar a compução de D via diferenciação finita é equivalente a obter otimamente uma coloração própria de vértices para o grafo G c (D), isso significa encontrar uma partição de colunas P(C) estruturalmente ortogonais para D, com P(C) = X (G c (D)) A idéia é que uma vez encontrada uma partição P(C) = {C 1, C 2,..., C k } de colunas estruturalmente ortogonais para D, com k < c, então para i {1, 2,..., k}, tem-se que as colunas de C i podem ser computadas concomitantemente em uma única avaliação da função F(x) Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 21 / 25

Coloração de grafos Relação com a diferenciação finita para o cálculo de jacobianas Relação com a diferenciação finita para o cálculo de jacobianas Figura: (a) Matriz jacobiana J (F, z) associada a F : D R 5 R 5, com z D (b) Partições coloridas de J (F, z) em colunas estruturalmente ortogonais (c) Versão comprimida da matriz jacobiana J (F, z) (d) Grafo de intersecção de colunas G c (J (F, z)) da matriz jacobiana Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 22 / 25

Considerações finais Considerações finais Diversos problemas em Computação Científica possuem, direta ou indiretamente, implicações de cunho combinatorial, e, na maioria dos casos, são passíveis de serem modelados em termos da Teoria de Grafos Nesse contexto, um nicho de problemas que possuem exigências de particionamento de objetos segundo regras pré-estipuladas acabam naturalmente sendo tratados como variações de problemas de colorações de grafos Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 23 / 25

Considerações finais Considerações finais Em particular, a coloração de grafos tem se mostrado imprescindível no estudo de estratégias algorítimicas para o cálculo aproximado de matrizes derivativas, recorrentemente presentes em problemas de otimização baseados em equações diferenciais Todavia, dado que o problema de coloração de grafos, em sua formulação mais abrangente, se enquadra na categoria NP-Completo, atualmente a única saída de propósito geral se resume em algoritmos heurísticos, o que configura tal problema ainda como um grande desafio para a comunidade científica, dada a sua grande relevância nos meios acadêmico, comercial e industrial Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 24 / 25

Referências Referências A. R. Curtis, M. J. D. Powell, and J. K. Reid. On the estimation of sparse Jacobian matrices. J. Inst. Math. Appl., 13:117 119, 1974. D. Goldfarb and P. L. Toint. Optimal estimation of Jacobian and Hessian matrices that arise in finite difference calculations. Math. Comp., 43:69 88, 1984. B. Hendrickson and A. Pothen. Combinatorial Scientific Computing: The Enabling Power of Discrete Algorithms in Computational Science. Lecture Notes in Computer Science, 4395:260 280, 2007. J. R. R. A. Martins, P. Sturdza, and J. J. Alonso. The complex-step derivative approximation. ACM Trans. Math. Softw., 29:245 262, 2003. Rafael Santos Coelho (UFES) Otimização, derivadas e coloração 15 de abril de 2009 25 / 25