Sobre Métodos de busca padrão para Minimização de funções com Restrições Lineares Deise Gonçalves Ferreira Orientadora: Profa. Dra. Maria Aparecida Diniz Ehrhardt Mestrado em Matemática Aplicada IMECC - Unicamp 1 de março de 2013 Introdução O Método de Busca Padrão Testes Computacionais 1 Introdução 2 O Método de Busca Padrão 3 Testes Computacionais 4 Considerações Finais 5 Referências Bibliográficas Considerações Finais Referências Bibliográficas Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Introdução: É frequente nas aplicações problemas em que as derivadas não estão disponı́veis; Há inúmeras aplicações cujas restrições são apenas lineares; Subproblema em métodos voltados para problemas gerais; Estudar e propor métodos sem derivadas para resolvê-los; Focamos nosso trabalho no Método de Busca Padrão aplicado ao problema com restrições lineares; Propomos novas estratégias de busca e um novo Padrão buscando melhorar o desempenho do método. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Definindo o problema a ser trabalhado Trabalharemos com um Método de Busca padrão aplicado ao problema de Otimização com restrições lineares definido por: f (x) min s.a. l ≤ Ax ≤ u (PRL) bl ≤ x ≤ bu f : Rn → R, x ∈ Rn , A ∈ Rm×n , l, u, bl, bu ∈ Rm Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Métodos de Busca direta Definição: Dizemos que um método é de busca direta se, além de não computar derivadas, ele não utilizar os valores de função em nenhum cálculo. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Vantagens dessa classe de métodos Algoritmos simples e com forte apelo geométrico; Iteração barata cujo passo mais caro é avaliar o valor da função; Algoritmos fáceis de serem implementados; Aplicação quase que imediata; Sob certas hipóteses possui uma robusta teoria de convergência; Precisamos de muito pouco para poder aplicar o método; É uma alternativa quando métodos mais elaborados falham. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Desvantagens dessa classe de métodos Sem derivadas não podemos verificar se uma determinada direção é de descida; Quando a sequência converge não podemos testar se de fato é um ponto estacionário e muito menos se é um minimizador; Ao abandonar derivadas o desempenho do método é muito inferior; Embora a iteração seja barata em geral o número de iterações é muito alto; Não podemos impor condições de decréscimo suficiente; Decréscimo lento, ou passos muito curtos; Avaliar a função muitas vezes, encarecendo a iteração; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Métodos de Busca Padrão É considerado um método de Busca Direta; Utiliza busca monótona; A partir de um ponto x k , o próximo iterando deve satisfazer f (x k+1 ) < f (x k ); A matriz P k contém o conjunto de direções pelas quais será realizada a busca; A matriz P k é o que chamamos de padrão e pode variar de uma iteração para outra. O novo iterando é então da forma: x k+1 = x k + αk d k ; onde d k é uma coluna de P k e αk é o tamanho do passo, que é atualizado de acordo com o status da iteração. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Generalizando o Padrão Em 1997, Virginia Torczon [1] generalizou o Método de Busca Padrão para minimização irrestrita; Torczon então apresenta uma robusta teoria de convergência. Em 2000, Lewis e Torczon [2] generalizam o método aplicando ao problema com restrições lineares; Os diferentes Métodos de Busca Padrão são definidos pelas diferentes direções de busca (Padrão) que utilizam e pelas estratégias de atualização do tamanho do passo. ——————————————————————————————– [1] V. Torczon. On the convergence of pattern search algorithms. SIAM Journal on Optimization 7, pp. 1-25 (1997). [2] R. M. Lewis, V. Torczon. Pattern search algorithms for linearly constrained minimization. SIAM Journal on Optimization 10, pp. 917-941 (2000). Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Como é construı́do o Padrão? Para o caso irrestrito as direções contidas em P k devem gerar positivamente o Rn ; Com restrições o padrão deve conter um conjunto de geradores(positivos) para o cone de direções viáveis; É necessário preservar a viabillidade em todas as iterações; Devemos seguir a geometria da fronteira da região viável, quando estamos próximos desta; Garantir que o padrão contenham direções de descida viáveis; Considerar as restrições de forma a garantir passos suficientemente longos; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Problema irrestrito Para o caso irrestrito as direções contidas em P k têm a caracterı́stica de gerar positivamente o Rn ; Seja a matriz B ∈ Rn×n , não singular, (base para Rn ), e considere M ⊂ Zn×n um conjunto finito de matrizes não singulares e p ∈ N tq p > 2n, onde p é o número de direções em P k . P k = BM k − BM k BLk = BΓk BLk Introdução O Método de Busca Padrão Testes Computacionais Geometria da Fronteira Considerações Finais Referências Bibliográficas Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Padrão para o problema com restrições linerares k P k ∈ Zn×p (teoricamente) da forma: P k = Γk Lk k Γk ∈ Zn×r (r k ≥ n + 1) - possui as restrições geométricas que deverão ser satisfeitas; Por simplicidade tomamos B = I ; Lk ∈ Zn×p zeros; k −r k - deve conter pelo menos uma coluna, a coluna de Chamaremos de cik a i-ésima coluna de P k Dado o passo αk então: sik = αk cik Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas 6K(x, ε) * ¾ ε x K ◦ (x, ε) U Ω Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Algoritmo de busca padrão - Restrições Lineares Ω = {x ∈ Rn | l ≤ Ax ≤ u} Algoritmo Dado x 0 ∈ Ω e α0 > 0 Para k = 0, 1, ..., 1 Calcule f (x k ) 2 Determine o passo sik = αk cik 3 Verifique a viabilidade: (x k + sik ) ∈ Ω 4 5 Se f (x k + sik ) < f (x k ), então x k+1 = (x k + sik ) e declare sucesso, caso contrário faça x k+1 = x k ; Atualize P k e αk O Método de Busca Padrão Testes Computacionais Considerações Finais Ω Introdução Referências Bibliográficas O Método de Busca Padrão Testes Computacionais Considerações Finais Ω Introdução Referências Bibliográficas O Método de Busca Padrão Testes Computacionais Considerações Finais Ω Introdução Referências Bibliográficas O Método de Busca Padrão Testes Computacionais Considerações Finais Ω Introdução Referências Bibliográficas Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Atualização do tamanho do Passo Atualização do tamanho do Passo Em caso de sucesso fazemos αk+1 = λk αk , onde λk ∈ [1, +∞) Em caso de fracasso fazemos αk+1 = θk αk , onde θk ∈ (0, 1) Os parâmetros λk e θk devem ser da forma: Seja τ ∈ Q, τ > 1, e {w0 , ..., wL } ⊂ Z, w0 < 0, wL ≥ 0, ordenados, então: θk = τ wi para algum wi ∈ {w0 , ..., wL } tal que wi < 0; λk = τ wj para algum wj ∈ {w0 , ..., wL } tal que wj ≥ 0; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas O que propomos... Propomos uma estratégia para atualizar o tamanho do passo que leva em consideração as iterações bem-sucedidas consecutivas. Criamos a variável suc que é incrementada sempre que a iteração é bem-sucedida; Quando a iteração fracassa atribuı́mos zero à esta variável que volta a ser incrementada somente quando o método obter sucesso novamente. Então a atualização do tamanho do passo é feita da seguinte forma: Atualização do tamanho do passo Em caso de sucesso fazemos αk+1 = τ suc αk , onde τ ≥ 1 e kτ suc k < +∞. Em caso de fracasso fazemos αk+1 = 0.5αk . Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Condições sobre os movimentos exploratórios Hipóteses sobre os movimentos exploratórios 1 2 3 s k ∈ αk P k (x k + s k ) ∈ Ω. Se min f (x k + y ) y ∈ αk P k e (x k + y ) ∈ Ω < f (x k ), então: f (x k + s k ) < f (x k ) Hipóteses fortes sobre os movimentos exploratórios 1 2 3 s k ∈ αk P k (x k + s k ) ∈ Ω. Se min f (x k + y ) y ∈ αk P k e (x k + y ) ∈ Ω < f (x k ), então: f (x k + s k ) ≤ min f (x k + y ) y ∈ αk P k e (x k + y ) ∈ Ω Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Resultados de convergência Assumindo que a função objetivo f (x) é continuamente diferenciável; O conjunto de nı́vel de f (x) é compacto; Adicionando algumas hipóteses sobre as restrições, Padrão de busca e atualizações; Obtemos resultados de convergência global para o método; Com busca simples garantimos que existe uma subseqência gerada pelo Método que converge à um ponto KKT do problema; Com busca completa garantimos que toda subsequência convergente convege para a solução. Testes computacionais mostraram um bom desempenho do método mesmo sem satisfazer todas as condições que garantem a convergência. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Gerando o conjunto de Direções de busca As direções de busca são determinantes para o sucesso do método; Construir um padrão adequado para o tipo de problema que estamos trabalhando é essencial; Escolhas erradas podem fazer o método convergir para pontos que estão longe da solução; Dependendo da escolha o método pode não sair do lugar; Podemos dividir os problemas em alguns casos o que nos ajuda a determinar o padrão adequado; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Considerações ao gerar o Padrão Minimização em Caixas Caso Fácil Construir direções do Padrão Restrições de Igualdade Conjunto de Trabalho vazio Caso Simples Conjunto de trabalho não degenerado Caso Difícil Conjunto de trabalho degenerado Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Minimização em caixas O Problema de Minimização em caixas é dado por: min f (x) s.a. l ≤ x ≤ u Minimizar em caixas seria o caso mais fácil de restrições lineares onde A=I; Neste caso sabemos de antemão os possı́veis geradores para os cones K (x, ) e K o (x, ) que serão sempre subconjuntos dos vetores coordenados ±ei , e este conjunto será sempre LI; Neste caso podemos tomar Γ = [I − I ] e usá-lo como padrão em todas as iterações; No pior caso teremos 2n avaliações de função por iteração; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Restrições de Igualdade Temos que manter a viabilidade a cada iteração; Para restrições de Igualdade pequenos passos podem fazer com que a viabilidade seja perdida; A cada iteração devemos ter: A(x k + s k ) = u Ax k + As k = u, mas Ax k = u As k = 0 Só conseguimos sair do ponto por direções no N (A); Logo meu padrão deve conter uma base positiva para N (A); Podemos e devemos utilizar o mesmo padrão em todas as iterações; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Restrições lineares gerais No caso geral o problema pode ter restrições de igualdade, desigualdade e de caixas; Sendo assim é importante saber as caracterı́sticas das restrições que são -ativas no ponto corrente; Chamaremos de conjunto de trabalho as restrições que são - ativas na iteração corrente; Conjunto de trabalho degenerado Seja V a matriz cujas colunas geram o cone K (x k , ). Se as colunas de V formam um conjunto linearmente independente, diremos que o conjunto de trabalho em x k , ou seja, na iteração corrente, é não-degenerado, caso contrário, diremos que o conjunto de trabalho na iteração corrente é degenerado. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Construindo o conjunto de trabalho Teremos uma restrição de igualdade quando li = ui ; I = {i : li = ui } e D = {i : li < ui } . As restrições de desigualdade ativas serão identificadas pelos seguintes conjuntos de ı́ndices: Dl (x, ) = {i : x ∈ ∂Ωli ()} , e Du (x, ) = {i : x ∈ ∂Ωui ()} , Podemos ter restrições momentaneamente de igualdade identificadas pelo conjunto: De (x, ) = {i : i ∈ Dl (x, ) ∩ Du (x, )} . O conjunto de trabalho é dado por: [ Ve = {ai : i ∈ I} {ai : i ∈ De } , n o[n o Vd = aiT : i ∈ Dl \De −aiT : i ∈ Du \De . Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas xk εk Figura: Restrições momentaneamente de igualdade Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Padrão 1: Proposto por Lewis, Torczon e Shepherd Encontre uma base ortonormal Z para o espaço nulo de Ve ; Calcule a matriz B = Z T Vd ; Verifique se as colunas de B formam um conjunto linearmente independe de vetores; Caso B não possua posto completo, o conjunto de trabalho é degenerado e outra estratégia deve ser utilizada; Se B tem posto completo então calcule a pseudoinversa R da matriz BT ; Calcule uma base ortonormal positiva N para o núcleo de B T ; Então o Padrão P k é dado por: P k = [−ZR ZN]. ——————————————————————————————– [1] R. M. Lewis, A. Shepherd, V. Torczon. Implementing generating set search methods for linearly constrained minimization. SIAM Journal on Scientific Computing 29, 6, pp. 2507-2530 (2007). Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Proposição: Suponha que para algum δ, K (x, δ) tem um conjunto linearmente independente de geradores racionais V . Seja N uma base racional positiva para o espaço nulo de V T . Então para qualquer , 0 ≤ ≤ δ, um conjunto racional de geradores para K ◦ (x, ) pode ser obtido entre as colunas de N, V (V T V )−1 , e −V (V T V )−1 . Considere também o seguinte conjunto de ı́ndices que indicam se o ponto atingiu alguma das faces: o n I2 (x k , 2 ) = i : |aiT x k − li | ≤ 2 ou |aiT x k − ui | ≤ 2 , n o Ve2 = ai : i ∈ I2 (x k , 2 ) . Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Padrão 2: Proposto neste trabalho Determine uma base racional T para o núcleo da matriz Ve ; Determine uma base racional N para o núcleo da matriz Vd ; Determine uma base racional T2 para o núcleo da matriz Ve2 ; Determine a matriz F = Vd (VdT Vd )−1 , a qual é obtida pela resolução de vários sistemas lineares utilizando a mesma matriz de coeficientes, sendo assim, utilizamos a fatoração de Cholesky da matriz (VdT Vd ); O Padrão P k fica da seguinte forma: [P k ] = [−T T − N N F − F T2 − T2 ] Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Padrão 1: Problemas degenerados Os autores não utilizam a Pseudo-inversa neste caso; Citam que trata-se se de um cone com vértice degenerado na origem; Encontrar o Padrão é um caso especial de encontrar os vértices e raios extremos de um poliedro; Esse é um problema que já foi bastante estudado; Vários algoritmos vem sendo desenvolvidos para resolver esse problema; Os autores utilizam o pacote cddlib desenvolvido por K. Fukuda; Segundo os autores mostrou-se eficiente na prática em boa parte dos problemas; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Padrão 2: Problemas degenerados Quando o conjunto de trabalho é degenerado não é possı́vel obter a fatoração de Cholesky da matriz (VdT Vd ); Propomos substituir a solução dos sistemas lineares pela solução de Quadrados Mı́nimos; Utilizamos a fatoração QR da matriz (VdT Vd ); É mais cara que a fatoração de Cholesky mas é mais barata que calcular a SVD; Se as direções funcionarem não precisamos acionar uma rotina externa para calcular o Padrão. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Viabilidade dos pontos visitados pelo algoritmo Fornecemos um ponto inicial viável; A cada iteração devemos manter a viabilidade; Lewis, Shepherd e Torczon, utilizam direções de busca normalizadas e constroem o conjunto de restrições - ativas levando em consideração o tamanho do passo na iteração corrente; Usando esta estratégia teoricamente a viabilidade seria preservada; Observamos convergência para pontos não viáveis; Devemos tomar cuidado ao adicionar novas direções de busca que possam retornar pontos não viáveis. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas O que propomos... Testar a viabilidade de todos os passos antes de aceitar de calcular o valor da função objetivo; Garantimos que todos os passos estarão no conjunto viável com a precisão que estipularmos; Só calculamos o valor da função objetivo se o passo puder ser aproveitado; Podemos adicionar direções de busca que não temos garantias de pertencer ao cone K ◦ ; Consideramos as restrições de caixa neste passo, não adicionando às restrições de desigualdade do problema; Diminuı́mos as chances de trabalhar com conjuntos de trabalho degenerados; Aumentamos o custo da iteração, um produto matriz vetor por ponto testado; Não precisamos normalizar as direções de busca; Podemos tentar passos mais ambiciosos. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Estratégias de busca 1 Busca simples I 2 Busca Completa I 3 Finalizamos a busca ao encontrar um ponto com valor da função objetivo melhor; Testamos todas as direções do Padrão antes de finalizar a busca; Busca Simples Ordenando o Padrão I I I I Com busca simples a ordem com que testamos as direções pode interferir no número de avaliações da função objetivo; ordenamos as direções considerando resultado de iterações anteriores na qual obtemos sucesso; O custo de ordenar o Padrão deve ser baixo; Testamos primeiramente a direção que ofereceu decréscimo na iteração anterior. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Testes Computacionais Todas as implementações e os testes foram realizados em Matlab versão 7.10; Realizamos testes com 62 problemas; Os problemas foram divididos em 2 conjuntos: I I Problemas suaves: 42 problemas extraı́dos de [1, 3] Problemas minimax (não suaves) : 15 problemas extraı́dos de [2] ————————————————————————————— [1] D. Orban, N.I.M. Gould, P.L. Toint. CUTEr: Constrained and Unconstrained Testing Environment, revisited,http://www.cuter.rl.ac.uk (2011). [2] L. Luksan, J. Vlcek. Test Problems for Nonsmooth Unconstrained and Linearly Constrained Optimization. Technical report No. 798, (2000). [3] W. Hock, K. Schittkowski. “Test examples for nonlinear programming code”. Springer, Berlin, (1981). Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Testamos todas as estratégias propostas procurando comparar o desempenho de cada Padrão variando a estratégia de busca e atualização do tamanho do passo; Testamos a viabilidade para ambos os Padrões; Em todos os testes o critério de parada foi αk < 10−8 ou ao atingir o número máximo de avaliações da função; Variamos de 10 à 105 o número máximo de avaliações da função objetivo permitidos; Consideramos que o problema foi resolvido se: f (x̄) − f (x ? ) ≤ 10−7 ou kx̄ − x ? k ≤ 10−7 Introdução 0 168 167 O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas ! "#$% & '( '( )* '(+ 164 162 1&0 01 012 013 9 014 Figura: Problemas suaves: Padrão 1 - Busca Simples 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas ! "#$% 0 168 167 & '() '()*+ '( 164 162 1&0 01 012 013 9 014 Figura: Atualização do tamanho do passo: Padrão 2 - Busca Simples 015 Introdução O Método de Busca Padrão 167 Considerações Finais Referências Bibliográficas !" #$%"& 0 168 Testes Computacionais ' " 164 162 1'0 01 012 013 9 014 Figura: Padrão 1 × Padrão 2 - Busca Simples (τ = 2) 015 Introdução O Método de Busca Padrão 167 Considerações Finais Referências Bibliográficas ! "##$% 0 168 Testes Computacionais & %' %' () %'* 164 162 1&0 01 012 013 9 014 Figura: Atualização do tamanho do passo: Padrão 1 - Busca Completa 015 Introdução 0 168 167 O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas ! "#$%& ' &() &()*+ &( 164 162 1'0 01 012 013 9 014 Figura: Atualização do tamanho do passo: Padrão 2 - Busca Completa 015 Introdução 0 168 167 O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas !" #$$%&'(&)"* + " 164 162 1+0 01 012 013 9 014 Figura: Padrão 1 × Padrão 2 - Busca Completa (τ = 2) 015 Introdução 0 168 167 O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas !"#$ %&'"( ) " 164 162 1)0 01 012 013 9 014 015 Figura: Padrão 1 × Padrão 2 - Busca Simples Ordenando o Padrão (τ = 2) Introdução 0 168 167 O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas !"#$!%#&$' ()*&+,!# ' !!#& . 164 162 1.0 01 012 013 9 014 Figura: Padrão 1 - Estratégias de Busca (τ = 2) 015 Introdução ! 0 16 169 168 167 165 164 163 162 160/0 01 O Método de Busca Padrão Testes Computacionais Considerações Finais "#$%&"#'%(&) *+ ,(-*. "#% ) "##%( 012 013 014 Figura: Padrão 2 - Estratégias de Busca (τ = 2) Referências Bibliográficas / 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Problemas não suaves Trabalhamos com problemas minimax definidos por: f (x) min s.a. l ≤ Ax ≤ u (P) bl ≤ x ≤ bu onde f (x) = max {f1 (x), f2 (x), . . . , fp (x)} tal que fi : Rn → R, x ∈ Rn , e A ∈ Rm×n , l, u ∈ Rm . O custo de avaliar a função objetivo equivale à avaliar p funções; Podemos abordar o problema diretamente ou usando um modelo suave para a função objetivo; Não temos teoria de convergência para esse tipo de problema; Esperamos um desempenho inferior ao observado para os problemas suaves. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas !"# $ 167 165 164 163 162 160 1%0 01 &' &'() &'* 012 013 014 89 Figura: Problemas não suaves: Padrão 1 - Busca Simples % 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas !"# $ 167 165 164 163 162 160 1%0 01 &'( &'()* &' 012 013 014 89 Figura: Problemas não suaves: Padrão 2 - Busca Simples % 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais ! "#$ %&'(!) 167 165 164 163 162 160 1*0 01 Referências Bibliográficas * ! 012 013 014 89 015 Figura: Padrão 1 × Padrão 2: Problemas não suaves - Busca Simples (τ = 2) Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas !"# $% 167 165 164 163 162 160 1&0 01 %' %'() %'* 012 013 014 89 Figura: Problemas não suaves: Padrão 1 - Busca Completa & 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas !"# $% 167 165 164 163 162 160 1&0 01 %'( %'()* %' 012 013 014 89 Figura: Problemas não suaves: Padrão 2 - Busca Completa & 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas ! "#$ %&'&()*+ 167 165 164 163 162 160 1,0 01 , ! 012 013 014 89 Figura: Padrão 1 × Padrão 2 - Busca Completa (τ = 1.5) 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas ! "# $ "%#& '(%)'*+ 167 165 164 163 162 160 1,0 01 , " & "% 012 013 014 89 015 Figura: Problemas não suaves: Padrão 1 - Estratégias de Busca (τ = 1.5) Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas ! "# $ "%#& '(%)*+, 167 165 164 163 162 160 1-0 01 - " & "% 012 013 014 89 015 Figura: Problemas não suaves: Padrão 2 - Estratégias de Busca (τ = 1.5) Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Modelo suave para problemas Minimax O modelo que utilizamos foi proposto em [1] e é dado por: f (x, µ) = f (x) + µln q X i=1 exp fi (x) − f (x) µ . Com o uso do modelo esperávamos melhorar a robustez do método; No entanto a representação da função através de um modelo já possui um erro; Com a precisão considerada nos demais testes os resultados obtidos foram muito ruins. —————————————————————————————— [1] G. Liuzzi, S. Lucide, M. Sciandrone. A derivative-free algorithm for linearly constrained finite minimax problems. SIAM Journal on Optimization 16, pp. 1054-1075, (2006). 9 Introdução O Método de Busca Padrão 162 1605 Testes Computacionais Considerações Finais Referências Bibliográficas 9 !"#$9% & &() &()*+ &( ' 160 1615 1'0 01 012 013 014 789 Figura: Busca completa utilizando o modelo exponencial - precisão 10−7 015 Introdução 9 164 163 O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas 9 !"#$9% & &() &()*+ &( ' 162 160 1'0 01 012 013 014 789 Figura: Busca completa utilizando o modelo exponencial - precisão 10−2 015 Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Desempenho Geral do Método Número total de avalições de Função τ =1 τ = 1.5 τ =2 Padrão 1 Padrão 2 Padrão 1 Padrão 2 Padrão 1 Padrão 2 Busca Simples 1157569 922526 954809 716911 1079561 681250 Ordenando o Padrão 1159984 919083 889906 652220 1104810 705836 Busca Completa 976152 798572 599952 524204 778933 545604 Estratégia de busca Tabela: Número total de Avaliações de Função Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Problemas com restrições degeneradas Em [1] os autores reportam como problemas degenerados problemas contendo apenas restrições de igualdade e de caixas; Em nossa abordagem apenas problemas contendo restrições de desigualdade podem apresentar conjunto de trabalho degenerado; Os autores acrescentam as restrições de caixas à matriz de restrições; Em nossa abordagem não consideramos as restrições de caixa juntamente com as restrições do problema; Apenas fiscalizamos para que estas sejam sempre satisfeitas; Considerando restrições de caixa como restrições de desigualdade do problema muitos problemas não degenerados passam a ser degenerados; O desempenho do método cai drásticamente como podemos observar pela figura. ——————————————————————————————– [1] R. M. Lewis, A. Shepherd, V. Torczon. Implementing generating set search methods for linearly constrained minimization. SIAM Journal on Scientific Computing 29, 6, pp. 2507-2530 (2007). Introdução O Método de Busca Padrão 164 Considerações Finais !"!# 168 167 Testes Computacionais Referências Bibliográficas $ " # 162 1$0 01 012 013 014 9 Figura: Teste de viabilidade 015 Introdução O Método de Busca Padrão Problema #118 [3] Pentagon [2] Hatfldh [1] Testes Computacionais Considerações Finais Problemas Degenerados # variáveis # Desigualdades 15 29 6 15 4 7 Lower 15 0 4 Referências Bibliográficas Uper 15 0 4 Tabela: Problemas Degenerados ——————————————————————————————— [1] D. Orban, N.I.M. Gould, P.L. Toint. CUTEr: Constrained and Unconstrained Testing Environment, revisited,http://www.cuter.rl.ac.uk (2011). [2] L. Luksan, J. Vlcek. Test Problems for Nonsmooth Unconstrained and Linearly Constrained Optimization. Technical report No. 798, (2000). [3] W. Hock, K. Schittkowski. “Test examples for nonlinear programming code”. Springer, Berlin, (1981). Introdução O Método de Busca Padrão Problema #118 [7] Pentagon [3] Hatfldh [1] Testes Computacionais Considerações Finais Referências Bibliográficas Busca Simples - τ = 2 f (x̄) − f (x ? ) # avaliações da Função Padrão 1 Padrão 2 Padrão 1 Padrão 2 2.1224e+0 -2.0540e-8 100003 4596 4.0689e-4 2.0224e-9 2996 2096 0.0000e+0 0.0000e+0 128 131 Tabela: Problemas Degenerados - Busca Simples Problema #118 [7] Pentagon [3] Hatfldh [1] Busca Completa - τ = 2 f (x̄) − f (x ? ) # avaliações da Função Padrão 1 Padrão 2 Padrão 1 Padrão 2 1.4473e+0 -4.8278e-8 42155 15149 3.6431e-3 3.4565e-2 1539 1717 0.0000e+0 0.0000e+0 132 137 Tabela: Problemas Degenerados - Busca Completa Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Considerações Finais O método estudado é simples e exigindo muito pouco do problema para ser aplicado possui teoria de convergência global; Obtemos uma excelente precisão na solução; As estratégias que propomos obtiveram bons resultados; O Padrão 2 que propomos se mostrou muito superior em praticamente todos os testes; Com busca simples vale a pena ordenar o Padrão de direções; Ainda que a convergência seja lenta o método se mostrou bastante robusto Não foi possı́vel observar uma estratégia ótima para todos os problemas; Nada podemos concluir a respeito do Padrão proposto para problemas degenerados; Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Referências Bibliográficas D. Orban, N.I.M. Gould, P.L. Toint. CUTEr: Constrained and Unconstrained Testing Environment, revisited,http://www.cuter.rl.ac.uk (2011). G. Liuzzi, S. Lucide, M. Sciandrone. A derivative-free algorithm for linearly constrained finite minimax problems. SIAM Journal on Optimization 16, pp. 1054-1075, (2006). L. Luksan, J. Vlcek. Test Problems for Nonsmooth Unconstrained and Linearly Constrained Optimization. Technical report No. 798, (2000). V. Torczon. On the convergence of pattern search algorithms. SIAM Journal on Optimization 7, pp. 1-25 (1997). R. M. Lewis, V. Torczon. Pattern search algorithms for linearly constrained minimization. SIAM Journal on Optimization 10, pp. 917-941 (2000). R. M. Lewis, A. Shepherd, V. Torczon. Implementing generating set search methods for linearly constrained minimization. SIAM Journal on Scientific Computing 29, 6, pp. 2507-2530 (2007). W. Hock, K. Schittkowski. “Test examples for nonlinear programming code”. Springer, Berlin, (1981). Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais OBRIGADA! Referências Bibliográficas Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Critérios de Parada É intuitivo tomar como critério de parada |αk | < tol; Deixar o tamanho do passo suficientemente pequeno garante que estamos próximos de um ponto estacionário? Proposição 1: Seja x ∈ Ω. Defina q(x) = PΩ (x − ∇f (x)) − x. Então kq(x)k ≤ k∇f (x)k e x é um ponto estacionário para o problema com restrições lineares (PRL) se e somente se q(x) = 0. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Critérios de Parada Proposição 2: Suponha que ∇f (x) é Lipschitz contı́nua em LΩ (x 0 ), com constante de Lipschitz C. Se x k é o ponto obtido numa iteraçãoo onde houve fracasso, então existe uma constante ĉ > 0 que satisfaz: q(x k )2 ≤ ĉαk Logo o critério de parada mais intuitivo que pode ser tomado é um bom critério de parada, pois temos garantias que de fato estamos próximos da solução. Adicionalmente paramos o algoritmo ao atingir um número máximo de avaliações da função objetivo. Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Hipóteses - “Fracas” 1 2 k O Padrão P k = Γk Lk ∈ Zn×p , p k > n + 1, Então todas as direções de busca sâo inteiras, multiplicadas por αk ∈ Rn ; k Γk ∈ Zn×r , r k ≥ n + 1, pertence à Γ, que é um conjunto finito de matrizes inteiras cujas colunas incluem geradores para todos os cones K o (x k , ); k −r k ) 3 A matriz Lk ∈ Zn×(p 4 A atualização de αk segue as regras especificadas; 5 São satisfeitas as hipóteses sobre os movimentos exploratórios; 6 A matriz de restrições A é racional; O conjunto de nı́vel LΩ (x 0 ) = x ∈ Ω f (x) ≤ f (x 0 ) é compacto; 7 8 contém pelo menos uma coluna (nula); A função objetivo f (x) é continuamente diferenciável em uma vizinhança aberta D de LΩ (x 0 ). Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Resultado de Convergência Teorema Assuma que as hipóteses 1-8 são satisfeitas. Seja x k uma sequência gerada pelo Método de busca Padrão Genaralizado para minimização com restrições lineares, então: lim inf q(x k ) = 0 k→∞ Corolário Existe um ponto limite de x k que é um ponto KKT para o problema (PRL). Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Hipóteses - “Fortes” 1 2 3 4 5 6 7 8 9 10 k O Padrão P k = Γk Lk ∈ Zn×p , p k > n + 1, Então todas as direções de busca sâo inteiras, multiplicadas por αk ∈ Rn ; k Γk ∈ Zn×r , r k ≥ n + 1, pertence à Γ, que é um conjunto finito de matrizes inteiras cujas colunas incluem geradores para todos os cones K o (x k , ); k k A matriz Lk ∈ Zn×(p −r ) contém pelo menos uma coluna (nula); A atualização de αk segue as regras especificadas; São satisfeitas as hipóteses fortes sobre os movimentos exploratórios; A matriz de restrições A é racional; O conjunto de nı́vel LΩ (x 0 ) = x ∈ Ω f (x) ≤ f (x 0 ) é compacto; A função objetivo f (x) é continuamente diferenciável em uma vizinhança aberta D de LΩ (x 0 ). As colunas do padrão P k permanecem limitadas em norma; temos que: lim αk = 0 k→∞ Introdução O Método de Busca Padrão Testes Computacionais Considerações Finais Referências Bibliográficas Resultado de Convergência - “ Forte” Teorema Assuma que as hipóteses fortes 1-10 são satisfeitas. Seja x k uma sequência gerada pelo Método de busca Padrão Genaralizado para minimização com restrições lineares, então: lim q(x k ) = 0 k→∞ Corolário Todo ponto limite de x k é um ponto KKT para o problema (PRL).