• Nenhum resultado encontrado

Sobre minimização de quadraticas em caixas

N/A
N/A
Protected

Academic year: 2021

Share "Sobre minimização de quadraticas em caixas"

Copied!
77
0
0

Texto

(1)

UNIVERSIDADE ESTADUAL DE CAMPINAS

INSTITUTO DE MATEM ´ATICA, ESTAT´ıSTICA E COMPUTAC¸ ˜AO CIENT´ıFICA

Sobre minimiza¸c˜

ao de quadr´

aticas em caixas

Bruna Lammoglia

Disserta¸c˜

ao de Mestrado orientada pela

Profa. Dra. Maria Aparecida Diniz Ehrhardt

(2)
(3)
(4)
(5)

Resumo

Neste trabalho o objetivo principal foi a minimiza¸c˜ao de quadr´aticas em caixas. Dissertamos sobre os m´etodos de m´axima descida e dos gradientes conjugados, bem como sobre um m´etodo mais recente denominado gradiente espectral. O GENCAN, um algoritmo que minimiza fun¸c˜oes em caixas, foi estudado em detalhe, particular-mente avaliando sua aplica¸c˜ao para quadr´aticas. O objetivo foi analisar o desem-penho do GENCAN, comparado com algoritmos anteriores, como o LANCELOT e o QUACAN. Foram executados experimentos num´ericos a fim de avaliar o desem-penho das vers˜oes de GENCAN sem e com pr´e-condicionamento. Concluiu-se que pr´e-condicionar o m´etodo dos gradientes conjugados neste caso tornou o GENCAN mais robusto. No entanto, o pr´e-condicionador usado neste software mostrou-se computacionalmente caro. Em rela¸c˜ao `a compara¸c˜ao do GENCAN, LANCELOT e QUACAN, podemos afirmar que o GENCAN mostrou-se competitivo.

(6)

Abstract

The focus of this work was the minimization of quadratic functions with box constraints. We were mainly concerned about the steepest descent and conjugated gradient methods, besides a more recent approach called spectral gradient method. The GENCAN, an algorithm that minimizes functions on a box, was studied in details particularly evaluating this algorithm applied to quadratics. The objective was to analyze the efficiency of GENCAN, comparing it to classical algorithms, such as LANCELOT and QUACAN. We executed numerical experiments in order to investigate the efficiency of GENCAN version with and without preconditioning. Evaluating the results we concluded that preconditioning the conjugated gradient method makes the GENCAN work considerably better; despite the fact that the pre-conditioner used here turned the computational process more expensive. Comparing GENCAN, LANCELOT, and QUACAN we can state that GENCAN is competitive.

(7)

Ao meu pai, ´

Alvaro, que, tenho certeza, adoraria

compartilhar essa conquista.

(8)

Agradecimentos

Gostaria de agradecer a todos que me ajudaram durante o tempo em que per-maneci no mestrado. Alguns estiveram ao meu lado por muito tempo, outros por pouco, mas todos foram importantes para que eu chegasse onde cheguei.

Primeiramente gostaria de agradecer `a minha orientadora Cheti por sua paciˆencia, inteligˆencia, bondade, e principalmente por ser a professora maravilhosa que ´e.

Gostaria de agradecer minha fam´ılia por estar sempre do meu lado, ajudando no que fosse preciso e dando-me for¸cas para continuar. Obrigada Marta, Talita, Rafaella, Norma, Maria Clara, Tuca, Lourdes, Carlito, Toninha, J´unior, Nat´alia, B´arbara.

Agrade¸co aos meus amigos que me ajudaram nos estudos e s˜ao amigos que levarei para toda vida. Obrigada Marina, Maristela, Luciana, Jair, Rafael, Lucilene, Ma-teus, Viviana, Rodrigo e especialmente Igor, por estar comigo do come¸co ao fim.

Agrade¸co meus amigos de trabalho Regina, Elias e Adilson.

Agrade¸co `a Patr´ıcia e ao Maranho por me darem bons conselhos, ao Eraldo e ao Lucas pela hospedagem, ao Eduardo por aguentar meu mau humor nos ´ultimos tempos, `a Ester, por sempre “estar l´a”e ao Fernando da inform´atica, por ajudar sempre que precisei.

Agrade¸co aos coordenadores La´ercio e Aur´elio, por serem pessoas acess´ıveis e compreensivas.

Agrade¸co `as professoras Luziane Ferreira de Mendon¸ca, V´era Lucia Rocha Lopes, Valeria Abr˜ao de Podest´a e Mariˆangela Amˆendola pelas corre¸c˜oes e dicas.

Finalmente, agrade¸co `a Secretaria da Educa¸c˜ao do Estado de S˜ao Paulo, por financiar esta pesquisa.

(9)

Conte´

udo

Lista de Tabelas ix

Introdu¸c˜ao 1

1 Minimiza¸c˜ao Irrestrita 3

1.1 Estrat´egias de Globaliza¸c˜ao . . . 6

1.2 M´etodos Cl´assicos para Minimiza¸c˜ao Irrestrita . . . 9

1.2.1 M´etodo de M´axima Descida (MMD) ou do Gradiente . . . 9

1.2.2 M´etodo de Newton . . . 11

1.2.3 M´etodos quase-Newton . . . 12

2 Minimiza¸c˜ao de Quadr´aticas Sem Restri¸c˜oes 15 2.1 M´etodos Iterativos . . . 17

2.1.1 M´etodo de M´axima Descida (MMD) para Fun¸c˜oes Quadr´aticas 17 2.1.2 M´etodo dos Gradientes Conjugados . . . 19

2.1.3 M´etodo do Gradiente Espectral . . . 25

3 Minimiza¸c˜ao de Quadr´aticas em Caixas 29 3.1 Algoritmo Geral para Quadr´aticas em Caixas . . . 32

3.2 GENCAN . . . 35

4 Pr´e-condicionadores 43 4.1 Pr´e-condicionando GENCAN . . . 45

4.1.1 QNCGNA . . . 45

(10)

5 Experimentos Num´ericos 47 5.1 An´alise do Desempenho do GENCAN . . . 47 5.2 LANCELOT, QUACAN e GENCAN . . . 49

Conclus˜ao 54

A Nota¸c˜oes 56

B Defini¸c˜oes 58

C Tabelas 60

(11)

Lista de Tabelas

5.1 Compara¸c˜ao GENCAN com e sem pr´e-condicionador . . . 51

5.2 Gr´aficos comparativos GENCAN com e sem pr´e-condicionador . . . . 51

5.3 LANCELOT sem pr´e-condicionador . . . 52

5.4 LANCELOT com pr´e-condicionador . . . 52

5.5 QUACAN . . . 52

5.6 Compara¸c˜ao entre os algoritmos sem pr´e-condicionamento. . . 53

5.7 Compara¸c˜ao entre os algoritmos com pr´e-condicionamento . . . 53

5.8 Gr´aficos comparativos GENCAN, LANCELOT e QUACAN . . . 53

C.1 GENCAN sem pr´e-condicionadores . . . 61

(12)

Introdu¸

ao

A t´ecnica de otimiza¸c˜ao tem um grande (e crescente) papel tanto em diversas ´

areas de pesquisa cient´ıfica como, por exemplo, nas distintas ´areas das engenharias e economias, bem como em aplica¸c˜oes na ind´ustria sendo, por isso, interessante que entendamos o desenvolvimento dos algoritmos associados a essa t´ecnica, para que saibamos aplic´a-los em situa¸c˜oes-problemas reais.

Decidimos trabalhar com fun¸c˜oes quadr´aticas pelo grande n´umero de problemas que recaem nesse formato, como por exemplo, minimiza¸c˜ao dos quadrados dos erros em uma aproxima¸c˜ao de parˆametros lineares para uma curva da qual conhecemos parcialmente o comportamento, ou ainda subproblemas para auxiliar a resolu¸c˜ao de problemas mais complexos; enfim, a minimiza¸c˜ao de quadr´aticas ´e frequentemente usada em algoritmos de otimiza¸c˜ao, por ter uma estrutura relativamente simples.

Na d´ecada de 90, os algoritmos denominados LANCELOT e QUACAN [11, 16], eram certamente os mais aplicados para minimiza¸c˜ao de quadr´aticas em caixas. Am-bos baseiam-se em estrat´egias de regi˜ao de confian¸ca, com o princ´ıpio de restri¸c˜oes ativas, usando o m´etodo de gradientes conjugados nas faces da caixa e uma dire¸c˜ao baseada no gradiente projetado para deixar a face.

Em 2001, foi proposto o GENCAN [6, 1, 2], um m´etodo de restri¸c˜oes ativas com estrat´egias de busca linear, que ainda usa gradientes conjugados dentro das faces, mas o m´etodo do gradiente espectral para sair da face.

Assim, nossos principais objetivos neste trabalho foram:

• estudar com detalhes os conceitos e os m´etodos envolvidos na minimiza¸c˜ao de quadr´aticas em caixas,

• analisar o desempenho do GENCAN, comparando-o com LANCELOT e QUA-CAN. Nesse sentido, pretendemos contrapor busca linear e regi˜ao de confian¸ca;

(13)

proje¸c˜ao do gradiente espectral e do gradiente. Tudo isso no contexto de mi-nimiza¸c˜ao de quadr´aticas em caixas.

No cap´ıtulo 1, tratamos primeiramente de conceitos fundamentais na minimiza¸c˜ao irrestrita de fun¸c˜oes, para caracterizarmos os tipos de solu¸c˜oes que podemos en-contrar e as condi¸c˜oes para que elas existam, al´em de mostrarmos algumas carac-ter´ısticas que um algoritmo de minimiza¸c˜ao irrestrita pode ter. No mesmo cap´ıtulo descrevemos m´etodos cl´assicos para minimizar fun¸c˜oes, que tamb´em podem ser apli-cados a quadr´aticas: M´etodo do gradiente, Newton e quase-Newton.

No cap´ıtulo 2, iniciamos o estudo sobre minimiza¸c˜ao de quadr´aticas sem res-tri¸c˜oes. Estudamos m´etodos cl´assicos essencialmente no caso de minimiza¸c˜ao de quadr´aticas: os m´etodos do gradiente e dos gradientes conjugados e tamb´em um m´etodo mais recente: o m´etodo do gradiente espectral.

No cap´ıtulo 3, estudamos minimiza¸c˜ao de quadr´aticas em caixas, objetivo prin-cipal de nossa disserta¸c˜ao. Mostramos um algoritmo geral que utiliza o princ´ıpio das restri¸c˜oes ativas para que todas as faces da caixa onde a quadr´atica se encontra possam ser exploradas e encontremos o m´ınimo na caixa ou uma dire¸c˜ao em que a quadr´atica sempre decres¸ca. Em seguida descrevemos os princ´ıpios do algoritmo GENCAN que minimiza fun¸c˜oes em caixas.

No cap´ıtulo 4 tratamos de pr´e-condicionamento de algoritmos, para melhorar o desempenho do m´etodo dos gradientes conjugados e consequentemente do GEN-CAN.

No cap´ıtulo 5 mostramos os experimentos num´ericos que realizamos com os blemas do CUTE [8] e os comparamos com resultados obtidos com os mesmos pro-blemas, mas com os algoritmos LANCELOT e QUACAN. No cap´ıtulo 6, fazemos algumas considera¸c˜oes e a conclus˜ao.

Ao final, temos o apˆendice A com as nota¸c˜oes utilizadas no texto; o apˆendice B com algumas defini¸c˜oes que n˜ao cabiam no corpo do trabalho, mas que s˜ao necess´arias para sua compreens˜ao e o apˆendice C, com as tabelas completas dos problemas que analisamos.

(14)

Cap´ıtulo 1

Minimiza¸

ao Irrestrita

Este cap´ıtulo tem como objetivo introduzir os conceitos fundamentais que s˜ao usados em qualquer problema de otimiza¸c˜ao sem restri¸c˜oes. Na pr´oxima se¸c˜ao trataremos especificamente de fun¸c˜oes quadr´aticas.

Num problema geral de minimiza¸c˜ao, teoricamente procuramos um minimizador global. Por´em, essa exigˆencia ´e muito forte, al´em de ser dif´ıcil de reconhecer se um ponto ´e um minimizador global. Na pr´atica, analisaremos propriedades mais fracas, mas que s˜ao satisfeitas pelo minimizador global, que s˜ao as condi¸c˜oes necess´arias de otimalidade.

Estamos ent˜ao tratando do problema:

Minimizar f (x), (1.1)

onde f :→ Rn→ R.

Sendo assim, buscamos um vetor x∗ ∈ Rn que soluciona o problema (1.1). Tal vetor ´e denominado minimizador de f (x). Dois tipos de solu¸c˜ao ser˜ao consideradas, o minimizador local e o global, de acordo com as defini¸c˜oes que seguem:

• Um ponto x∗ ∈ Rn ´e um minimizador local de f se existe ε > 0 tal que f (x) ≥ f (x∗) para todo x ∈ Rn que satisfaz kx − x∗k < ε.

• Um ponto x∗

∈ Rn´e um minimizador global de f se f (x) ≥ f (x

(15)

Temos como consequˆencia direta das defini¸c˜oes acima que um minimizador global ´

e tamb´em um minimizador local.

Vamos agora expor as condi¸c˜oes de otimalidade necess´arias de primeira e segunda ordem, e as condi¸c˜oes suficientes de segunda ordem, para que x∗seja um minimizador local de f [18].

Proposi¸c˜ao 1. Condi¸c˜oes necess´arias de primeira ordem Seja f : Rn → R, f ∈ C1. Se x´

e um minimizador local de f em Rn, ent˜ao ∇f (x∗) = 0.

Demonstra¸c˜ao. Considere d ∈ Rnarbitr´ario e seja a fun¸c˜ao ϕ : R → R definida por: ϕ(λ) = f (x∗ + λd).

Se x∗ ´e um minimizador local de f , ent˜ao λ = 0 ´e um minimizador local de ϕ (ϕ(0) = f (x∗)). Assim, supondo conhecido o resultado para uma vari´avel de que se x∗ ´e um minimizador local de uma fun¸c˜ao g : R → R, g ∈ C1, ent˜ao g0(x) = 0, temos que ϕ0(0) = 0.

Usando a regra da cadeia obtemos ϕ0(λ) = ∇Tf (x+ λd)d. Substituindo para λ = 0, resulta que ϕ0(0) = 0 = ∇Tf (x∗)d.

Como tomamos d ∈ Rn arbitr´ario, a igualdade acima significa que ∇f (x) ´e ortogonal a todos os vetores do espa¸co, portanto ∇f (x∗) = 0.

Dizemos que um ponto onde o gradiente da fun¸c˜ao se anula ´e estacion´ario de uma fun¸c˜ao.

Proposi¸c˜ao 2. Condi¸c˜oes necess´arias de segunda ordem

Seja f : Rn→ R, f ∈ C2. Se x´

e um minimizador local de f em Rn, ent˜ao: • ∇f (x∗) = 0;

(16)

Demonstra¸c˜ao. A primeira parte da proposi¸c˜ao j´a est´a demonstrada.

Para demonstrar a segunda parte, vamos supor conhecido o resultado para uma vari´avel:

Seja g : R → R, g ∈ C2. Se x´

e um minimizador local de g em R, ent˜ao g0(x∗) = 0 e g00(x∗) ≥ 0.

Considerando ϕ(λ) como na proposi¸c˜ao 1, esse resultado nos diz que ϕ00(0) ≥ 0. Usando a regra da cadeia temos ϕ00(λ) = dT∇2f (x+ λd)d, logo ϕ00(0) = dT∇2f (x)d ≥ 0.

Como d ∈ R ´e arbitr´ario temos que ∇2f (x) ´e semidefinida positiva. Proposi¸c˜ao 3. Condi¸c˜oes suficientes de segunda ordem

Seja f : Rn → R, f ∈ C2. Se x

∈ Rn, ∇f (x) = 0 e ∇2f (x) > 0, ent˜ao x´e um minimizador local estrito de f em Rn.

Demonstra¸c˜ao. Seja B = {h ∈ Rn/||h|| = 1}. Consideremos a fun¸c˜ao Γ : B → R dada por

Γ(h) = hT∇2f (x∗ )h.

Γ ´e uma fun¸c˜ao cont´ınua e B ´e um conjunto fechado e limitado, portanto Γ atinge um valor m´aximo e um valor m´ınimo em B. Chamemos a o valor m´ınimo, ent˜ao

Γ(h) ≥ a > 0 para todo h ∈ B.

Agora, consideremos d ∈ Rn arbitr´ario, n˜ao nulo. Como d/||d|| ∈ B, temos que dT∇2f (x∗)d ≥ a||d||2.

Desenvolvendo f em s´erie de Taylor em torno de x∗, temos f (x∗+ d) − f (x∗) = ∇Tf (x∗)d + 1

2d

T2f (x

)d + o(||d||2). (1.2) Desde que, por hip´otese, ∇f (x∗) = 0, (1.2) implica que

f (x∗+ d) − f (x∗) ≥ a 2||d||

2

(17)

Ent˜ao, para todo d tal que ||d|| ´e suficientemente pequena, o primeiro termo do membro direito da desigualdade define o sinal desse lado. Mas

a 2||d||

2 > 0

Portanto, para ||d|| suficientemente pequena e n˜ao nula (0 < ||d|| < ), f (x∗+ d) − f (x∗) > 0 ⇒ f (x∗+ d) > f (x∗).

Assim, para todo x ∈ B(x∗, ), x 6= x∗, temos que f (x) > f (x∗). Logo, x∗ ´e um minimizador local estrito de f .

Apesar das Proposi¸c˜oes 1-3 terem fundamental importˆancia na classifica¸c˜ao de poss´ıveis solu¸c˜oes de (1.1), a maioria das demonstra¸c˜oes de convergˆencia de algorit-mos busca apenas provar que os pontos limites das sequˆencias geradas s˜ao pontos estacion´arios da fun¸c˜ao objetivo f . Usaremos ent˜ao as palavras “convergir global-mente”para algoritmos que convergem para um ponto estacion´ario da fun¸c˜ao ob-jetivo ou para alguma solu¸c˜ao de um sistema linear. Diremos, neste caso, que o algoritmo ´e globalmente convergente.

1.1

Estrat´

egias de Globaliza¸

ao

Atualmente existe um grande n´umero de algoritmos eficientes para minimiza¸c˜ao irrestrita de fun¸c˜oes, nos quais buscamos um ponto estacion´ario do problema (gosta-r´ıamos de um minimizador, mas nem sempre ´e poss´ıvel). Todos esses algorit-mos requerem que forne¸caalgorit-mos uma estimativa inicial, que ser´a denotada por x0. Come¸cando em x0, algoritmos de otimiza¸c˜ao geram uma sequˆencia de iterandos {xk}k=0

, at´e quando nenhum progresso pode ser feito, ou quando parece que a solu¸c˜ao foi aproximada com eficiˆencia. Para decidir como passar de um iterando xk para outro, xk+1, os algoritmos usam informa¸c˜oes sobre a fun¸c˜ao em xk, e possivel-mente algumas informa¸c˜oes sobre os iterandos anteriores x0, x1, ..., xk−1.

Quando conhecemos bem o problema, somos capazes de fornecer um valor razo´avel para x0, pr´oximo da solu¸c˜ao. Nesta situa¸c˜ao, podemos aplicar m´etodos dotados

(18)

de resultados de convergˆencia local, ou seja, que geram a sequˆencia {xk} tal que limk→∞xk= x∗, como os m´etodos cl´assicos que descreveremos na pr´oxima se¸c˜ao.

Em outros casos, a estimativa inicial tem que ser escolhida de maneira arbitr´aria. Ent˜ao, para obtermos resultados de convergˆencia devemos encontrar um iterando xk+1 com um valor menor para a fun¸c˜ao que em xk.

Existem algoritmos que s˜ao n˜ao-mon´otonos, ou seja, n˜ao insistem para que o valor da fun¸c˜ao decres¸ca a cada itera¸c˜ao, mas exigem que a fun¸c˜ao decres¸ca ap´os um n´umero fixo m de itera¸c˜oes: f (xk) < f (xk−m).

Existem duas estrat´egias de globaliza¸c˜ao fundamentais para passar de um iterando para o outro, que garantem um decr´escimo na fun¸c˜ao objetivo, que s˜ao: busca linear e regi˜ao de confian¸ca.

Descreveremos brevemente estas estrat´egias, a seguir. Mais detalhes podem ser encontradas em [13, 26].

Busca Linear

Na estrat´egia de busca linear, escolhemos, a partir de xk uma dire¸c˜ao de busca dk e determinamos, ao longo dessa dire¸c˜ao, o pr´oximo iterando xk+1, que tenha um valor menor de fun¸c˜ao. Encontramos a distˆancia que andaremos na dire¸c˜ao dk resolvendo aproximadamente o seguinte problema de uma dimens˜ao

min

α>0 f (xk+ αdk), (1.3) determinando o que chamamos de tamanho do passo α.

Quando resolvemos (1.3) exatamente, encontramos o m´aximo de benef´ıcio na dire¸c˜ao dk, por´em uma minimiza¸c˜ao exata ´e computacionalmente cara e al´em disso desnecess´aria. Ao inv´es disto, um algoritmo de busca linear gera um n´umero limi-tado de pontos, at´e que encontramos um que aproximadamente minimiza (1.3), ou seja, fazemos uma busca linear inexata, com algumas condi¸c˜oes dentre as quais destacamos duas: condi¸c˜oes de Wolfe e backtracking.

No novo iterando, uma nova dire¸c˜ao de busca e um novo tamanho de passo s˜ao calculados, e o processo se repete at´e encontrarmos um ponto estacion´ario da fun¸c˜ao objetivo, ou detectarmos que o problema n˜ao tem solu¸c˜ao.

(19)

Condi¸c˜oes de Wolfe

Uma busca linear inexata bastante popular estipula que αk deve primeiramente satisfazer um decr´escimo suficiente na fun¸c˜ao objetivo f , como mostramos a seguir:

f (xk+ αdk) ≤ f (xk) + c1α∇f (xk) T

dk, (1.4)

para alguma constante c1 ∈ (0, 1). Em outras palavras, a redu¸c˜ao de f deve ser proporcional tanto ao tamanho do passo quanto `a derivada direcional (ver apˆendice B) ∇f (xk)Tdk.

A desigualdade (1.4) muitas vezes ´e chamada de condi¸c˜ao de Armijo. Esta condi¸c˜ao sozinha, por´em, n˜ao ´e suficiente para garantir que o algoritmo fa¸ca pro-gressos suficientes, pois ´e aceito para valores bem pequenos de α. Para contornar esse problema, introduzimos uma segunda condi¸c˜ao, chamada de condi¸c˜ao de curvatura, que requer que αk satisfa¸ca

∇f (xk+ αkdk)Tdk ≥ c2∇f (xk) T

dk, (1.5)

para alguma constante c2 ∈ (c1, 1).

As desigualdades (1.4) e (1.5) s˜ao conhecidas como condi¸c˜oes de Wolfe. Um tamanho de passo pode satisfazer as condi¸c˜oes de Wolfe sem estar necessariamente pr´oximo de um minimizador de (1.3).

Backtracking

Em um algoritmo de busca linear podemos usar backtracking para escolher um bom candidato para o tamanho do passo. Usando backtracking tamb´em podemos dispensar a condi¸c˜ao (1.5) e usar somente a condi¸c˜ao de descr´escimo suficiente para terminar o procedimento de busca linear.

Basicamente o procedimento de backtracking ´e o seguinte:

1 Escolher ¯α > 0, ρ tal que 0 < ρmin < ρ < ρmax < 1., c ∈ (0, 1); fazer α ← ¯α; 2 At´e que f (xk+ αdk) ≤ f (xk) + cα∇f (xk)Tdk, fazer α ← ρα

(20)

Neste procedimento, um tamanho de passo aceit´avel ser´a encontrado em um n´umero finito de itera¸c˜oes, pois αk se tornar´a, eventualmente, pequeno o suficiente para que a condi¸c˜ao de decr´escimo suficiente seja aceita.

Regi˜ao de Confian¸ca

Nesta estrat´egia, as informa¸c˜oes da fun¸c˜ao s˜ao usadas para construir um modelo quadr´atico qk cujo comportamento pr´oximo ao ponto xk ´e similar ao da fun¸c˜ao objetivo f . Como o modelo qk pode n˜ao ser uma boa aproxima¸c˜ao para f quando x est´a longe de xk, n´os restringimos a busca por um minimizador de qk em alguma vizinhan¸ca ao redor de xk. Em outras palavras, n´os encontramos o candidato a “passo”d resolvendo aproximadamente o subproblema:

min

d qk(xk+ d), (1.6)

onde xk+ d est´a na regi˜ao de confian¸ca.

Se o candidato n˜ao produz um decr´escimo suficiente na fun¸c˜ao objetivo, con-cluimos que a regi˜ao de confian¸ca est´a muito grande, ent˜ao a reduzimos e resolve-mos novamente (1.6). Normalmente, dado ∆ > 0, a regi˜ao de confian¸ca ´e uma bola definida por kdk2 ≤ ∆, ou uma caixa dada por kdk∞≤ ∆. ∆ ´e chamado de raio da regi˜ao de confian¸ca.

1.2

etodos Cl´

assicos para Minimiza¸

ao Irrestrita

Consideramos o problema 1.1.

1.2.1

etodo de M´

axima Descida (MMD) ou do Gradiente

Suponha f ∈ C1, [18].

Antes de iniciarmos a explana¸c˜ao sobre o m´etodo, vamos destacar a dire¸c˜ao d = −||∇f (x)||∇f (x) . Essa dire¸c˜ao ´e a de m´axima descida a partir do ponto x. De fato, dada uma dire¸c˜ao unit´aria qualquer d (kdk = 1), a derivada direcional (ver apˆendice

(21)

B) Ddf (x) = ∇f (x)Td ´e tal que: |∇f (x)Td| ≤ k∇f (x)k kdk , ent˜ao − k∇f (x)k kdk ≤ ∇f (x)Td ≤ k∇f (x)k kdk . Como −∇f (x)T∇f (x) k∇f (x)k = − k∇f (x)k , e ∇f (x)Td ≥ − k∇f (x)k ,

ent˜ao, dentre todas as dire¸c˜oes unit´arias, a determinada por −∇f (x) ´e a que fornece a menor derivada direcional. Portanto, o valor da fun¸c˜ao objetivo diminuir´a se avan¸carmos nessa dire¸c˜ao, e a m´axima redu¸c˜ao ser´a obtida minimizando, ao longo dela, a fun¸c˜ao f .

Tendo em mente esse resultado, o MMD ´e um m´etodo iterativo que calcula novas aproxima¸c˜oes para a solu¸c˜ao ao longo da dire¸c˜ao oposta `a do gradiente de f :

xk+1 = xk+ λkdk,

onde λk ´e o passo que vamos tomar na dire¸c˜ao de dk = −∇f (xk). O escalar λk ´e o passo que fornece o menor valor para a fun¸c˜ao

ϕ(λ) = f (xk+ λdk). (1.7)

Algoritmo 1. MMD

Se xk ∈ Rn ´e tal que ∇f (xk) 6= 0, os passos para determinar xk+1 s˜ao: Passo 1. Calcular dk = −∇f (xk).

Passo 2. Determinar λk, minimizador de f (xk+ λdk) sujeita a λ ≥ 0. Passo 3. Fazer xk+1 = xk+ λkdk.

Teorema 1. Seja f : Rn → R, f ∈ C2. Seja x

(22)

f , tal que a matriz ∇2f (x) ´e definida positiva. Se o algoritmo do MMD est´a bem definido para todo k ∈ N e a sequˆencia {xk} gerada por ele converge a x∗, ent˜ao a sequˆencia {f (xk)} converge a f (x∗) e:

(K − κ)

(K + κ)2(f (xk) − f (x

)), (convergˆencia linear)

onde K e κ s˜ao o maior e menor autovalor de ∇2f (x), respectivamente. Demonstra¸c˜ao. Ver [23]

1.2.2

etodo de Newton

Suponha f ∈ C2, [26].

O m´etodo de Newton ajusta f em uma aproxima¸c˜ao xk por uma quadr´atica: q(xk+ d) = f (xk) + ∇f (xk)Td +

1 2d

T2

f (xk)d (1.8) e obt´em o ponto x+ = xk+ dN, onde ∇q(x+) = 0, condi¸c˜ao necess´aria para que x+ seja minimizador de q. Assim, dN = −(∇2f (xk))−1∇f (xk), se ∇2f (xk) for n˜ao singular.

Algoritmo 2. M´etodo de Newton Dados f : Rn→ R, f ∈ C2 e x

0 ∈ Rn, seguir os seguintes passos, a cada itera¸c˜ao k: Passo 1. Resolver ∇2f (x k)dkN = −∇f (xk), Passo 2. Fazer xk+1 = xk+ dkN. Se ∇2f (x

k) ´e definida positiva, podemos garantir que dkN ´e dire¸c˜ao de descida, k ∈ N, e, sob outras hip´oteses, temos o teorema a seguir.

Teorema 2. Convergˆencia do M´etodo de Newton. Seja f : Rn → R, f ∈ C3. Seja x

um minimizador local de f em Rn tal que ∇2f (x) > 0. Ent˜ao existe  > 0 tal que, se x

0 ∈ B(x∗, ), a sequˆencia {xk} gerada pelo algoritmo anterior verifica:

(23)

(i) ∇2f (x

k) > 0, ∀k = 0, 1, 2, ... (ii) limk→∞xk= x∗

(iii) Existe c > 0 tal que kxk+1− x∗k ≤ ckxk− x∗k2 (convergˆencia quadr´atica). Demonstra¸c˜ao. Ver [23].

Lembramos que a ordem de convergˆencia quadr´atica ´e obtida devido ao uso de derivadas segundas. Temos ent˜ao que avaliar ∇2f (xk) e resolver ∇2f (xk)dkN = −∇f (xk). Portanto, o processo ´e caro computacionalmente e se o n´umero de vari´aveis for muito grande, a mem´oria para armazenar esta informa¸c˜ao pode ser insuficiente.

1.2.3

etodos quase-Newton

Suponha f ∈ C1, [26].

M´etodos quase-Newton, assim como o m´etodo da m´axima descida, requerem apenas que o gradiente da fun¸c˜ao objetivo seja calculado a cada itera¸c˜ao. Os m´etodos quase-Newton s˜ao mais eficientes que o MMD em rela¸c˜ao `a taxa de convergˆencia (como veremos no teorema 3), e como n˜ao exigem o c´alculo de derivadas de segunda ordem, podem se tornar uma boa alternativa ao m´etodo de Newton.

Definimos a dire¸c˜ao:

dk = −Hk∇f (xk),

onde Hk ∈ Rnxn ´e uma matriz sim´etrica e uma aproxima¸c˜ao para a Hessiana ver-dadeira da fun¸c˜ao. Se Hk for definida positiva, dk ´e uma dire¸c˜ao de descida.

´

E interessante determinarmos matrizes Hk de maneira que, em cada itera¸c˜ao k, o trabalho computacional do m´etodo resultante seja menor que o do m´etodo de Newton.

Em cada itera¸c˜ao de um m´etodo quase-Newton, atualizamos Hk, levando em conta informa¸c˜oes adicionais obtidas durante a itera¸c˜ao. As atualiza¸c˜oes usam o fato de que mudan¸cas no gradiente nos d˜ao informa¸c˜oes sobre a segunda derivada da fun¸c˜ao ao longo da dire¸c˜ao de busca.

(24)

Usando no teorema de Taylor (ver apˆendice B) a f´ormula (B.3) temos, ∇f (x + d) = ∇f (x) + ∇2f (x)d + Z 0 1 [∇2f (x + td) − ∇2f (x)]d dt.

Como ∇f (.) ´e cont´ınuo, o tamanho do termo da integral ´e o(kdk). Fazendo x = xk e d = xk+1− xk, temos

∇f (xk+1) = ∇f (xk) + ∇2f (xk+1)(xk+1− xk) + o(kxk+1− xkk).

Quando xk+1 e xk est˜ao numa vizinhan¸ca pr´oxima `a solu¸c˜ao x∗, na qual ∇f ´e definida positiva, o termo final nesta expans˜ao ´e dominado por ∇2f (x

k+1)(xk+1−xk), e podemos escrever:

∇2f (xk+1)(xk+1− xk) ≈ ∇f (xk+1) − ∇f (xk) (1.9) N´os escolhemos a aproxima¸c˜ao da Hessiana Hk+1 de maneira que satisfa¸ca a propriedade (1.9) da Hessiana verdadeira, ou seja, queremos que satisfa¸ca a seguinte condi¸c˜ao, conhecida como equa¸c˜ao secante

Hk+1sk = yk, (1.10)

onde sk = xk+1− xk e yk = ∇f (xk+1) − ∇f (xk).

Atualiza¸c˜ao BFGS

A equa¸c˜ao secante (1.10) pode ser satisfeita por um n´umero sem fim de matrizes. Assim, na escolha da matriz Hk, geralmente impomos algumas outras condi¸c˜oes, tais como simetria (motivada pela simetria da Hessiana verdadeira), e uma restri¸c˜ao de que a diferen¸ca entre duas aproxima¸c˜oes sucessivas Hk e Hk+1 tenha posto pequeno. Uma f´ormula muito usada que contempla esses requisitos ´e a formula BFGS, proposta por Broyden, Fletcher, Goldfarb e Shanno. ´E definida por:

Hk+1 = Hk− HkskskTHk skTHksk +ykyk T ykTsk . (1.11)

(25)

Note que a diferen¸ca entre as matrizes Hk e Hk+1 ´e uma matriz de posto 2. Podemos mostrar tamb´em que a f´ormula BFGS gera aproxima¸c˜oes definidas positi-vas, quando a aproxima¸c˜ao inicial H0 ´e definida positiva e skTyk > 0. Para maiores detalhes ver [26].

Teorema 3. Teorema de Convergˆencia. Seja f : Rn → R, f ∈ C3 tal que existe x

um minimizador local de f em Rn com ∇2f (x) > 0. Existem δ > 0,  > 0 tais que, se x

0 ∈ B(x∗, δ) e kH0− ∇2f (x∗)k < , as sequˆencias {xk} e {Hk} geradas pelo m´etodo BFGS, verificam:

(i) Hk ´e definida positiva para todo k ∈ N; (ii) limk→∞xk= x∗;

(iii) limk→∞

kxk+1−x∗k

kxk−x∗k = 0 convergˆencia superlinear.

(26)

Cap´ıtulo 2

Minimiza¸

ao de Quadr´

aticas Sem

Restri¸

oes

Muitas vezes obtemos a solu¸c˜ao de um problema mais complexo atrav´es da re-solu¸c˜ao de uma seq¨uˆencia de problemas de minimiza¸c˜ao de fun¸c˜oes quadr´aticas, pois tratar esse tipo de fun¸c˜ao ´e relativamente simples. Al´em disso, por exemplo, para aproximarmos um conjunto de dados discretos por uma fun¸c˜ao, com parˆametros lineares, minimizamos a soma dos quadrados dos erros, que nesse caso ´e uma fun¸c˜ao quadr´atica.

Sendo assim, este trabalho est´a voltado `a minimiza¸c˜ao de quadr´aticas, que s˜ao definidas no que segue.

Seja f : Rn→ R. f ´e uma fun¸c˜ao quadr´atica quando pode ser expressa como: f (x) = 1

2x

TAx − bTx + c, (2.1)

onde A ∈ Rnxn ´e uma matriz sim´etrica, b ∈ Rn e c ∈ R.

Lema 1. Se f (x) = 12xTAx − bTx + c, ent˜ao ∇f (x) = Ax − b e ∇2f (x) = A para todo x ∈ Rn.

Neste caso, os pontos estacion´arios de f s˜ao as solu¸c˜oes do sistema linear Ax − b = 0

(27)

Vamos destacar dois resultados sobre a existˆencia de pontos estacion´arios de f : Lema 2. 1. A fun¸c˜ao f admite algum ponto estacion´ario se, e somente se, b

estiver no espa¸co coluna de A.

2. A fun¸c˜ao f admite um ´unico ponto estacion´ario se, e somente se, A ´e n˜ao singular.

Proposi¸c˜ao 4. Se A ≥ 0 e x∗´e um ponto estacion´ario de f , ent˜ao x∗ ´e minimizador global de f .

Demonstra¸c˜ao. Seja x∗ ponto estacion´ario de f , assim b = Ax∗. Considere d ∈ Rn arbitr´ario, logo:

f (x∗+ d) = 12(x∗+ d)TA(x+ d) − bT(x+ d) + c = 12x∗TAx∗+12dTAd + dTAx− bTx− bTd + c = 12x∗TAx∗− bTx+ c + 1 2d TAd ≥ f (x∗).

Portanto, f (x∗+ d) ≥ f (x∗), para todo d ∈ Rn.

Podemos concluir, observando os resultados acima, que se a matriz A ´e sim´etrica e definida positiva, o ponto onde o gradiente se anula ´e o ´unico m´ınimo da fun¸c˜ao f .

Sob as mesmas hip´oteses da proposi¸c˜ao 4:

Corol´ario 1. Todo minimizador local de f ´e global.

Corol´ario 2. Se a matriz A ´e indefinida, ent˜ao a quadr´atica f n˜ao tem extremos locais.

Quando n˜ao existem minimizadores da fun¸c˜ao f , dado um x arbitr´ario perten-cente a Rn, ´e ´util determinar uma dire¸c˜ao d ∈ Rn tal que

lim

(28)

Se soubermos achar uma dire¸c˜ao que satisfa¸ca (2.2) podemos dizer que sempre somos capazes de resolver

minimizar f (x) = 1 2x

T

Ax − bTx + c (2.3)

at´e quando o “m´ınimo ´e −∞”(e o “minimizador ´e x − ∞d”).

2.1

etodos Iterativos

Podemos minimizar uma fun¸c˜ao quadr´atica usando m´etodos diretos, como a decomposi¸c˜ao espectral da matriz A ou utilizando fatora¸c˜oes, como a fatora¸c˜ao de Cholesky. Os m´etodos diretos (ver [20, 12]) calculam a solu¸c˜ao de (2.3) em um ´unico passo, mas atrav´es de um processo relativamente trabalhoso.

Os m´etodos iterativos computam uma sequˆencia de pontos xk∈ Rn, e a passagem de um iterando a outro se faz atrav´es de um conjunto de opera¸c˜oes geralmente computacionalmente baratas, e a solu¸c˜ao ´e obtida depois de um n´umero finito de passos ou no limite.

O m´etodo dos gradientes conjugados [25] ´e o usado mais frequentemente para resolver (2.3), se A ´e definida positiva. Este m´etodo, quando a matriz A ´e definida positiva, converge em no m´aximo n itera¸c˜oes - onde n ´e o n´umero de vari´aveis do problema. Assim, muitas vezes acaba sendo considerado um m´etodo direto. N´os optamos por trat´a-lo como um m´etodo iterativo, principalmente por n˜ao exigirmos a positividade de A. Para motiv´a-lo, abordaremos o m´etodo de m´axima descida [18].

2.1.1

etodo de M´

axima Descida (MMD) para Fun¸

oes

Quadr´

aticas

Vamos tratar aqui do MMD especialmente para quadr´aticas.

(29)

fun¸c˜ao de uma vari´avel (1.7), o que nos leva a determinar o zero de ϕ0(λ): ϕ0(λ) = 0 ∇f (xk+ λdk)Tdk = 0 (A(xk+ λdk) − b)Tdk = 0 (xkTA + λdkTA + bT)dk = 0 xT kAdk+ λdkTAdk+ bTdk = 0 (Axk+ b)Tdk+ λdkTAdk = 0 ∇f (xk)Tdk+ λdkTAdk = 0 λk = − ∇f (xk)Tdk dkTAdk Assim temos que:

λk = ((dk)Tdk)/((dk)TAdk). Algoritmo 3. MMD para quadr´aticas

Considerar x0 ∈ Rn e  > 0 dados; Seja r0 = b − Ax0, δ0 = r0Tr0, k = 0;

Seguir os seguintes passos enquanto δk> : Passo 1. dk= −∇f (xk); Passo 2. λk= δk dT kAdk ; Passo 3. xk+1 = xk+ λkdk; Passo 4. rk+1 = −∇f (xk+1); Passo 5. δk+1 = rTk+1rk+1; k = k + 1

Teorema 4. Teorema de Convergˆencia.

(30)

Seja x∗ o minimizador global de f .

Dado x0 ∈ Rn, arbitr´ario, o algoritmo do MMD gera uma sequˆencia {xk} tal que:

1. limk→∞xk= x∗,

2. limk→∞f (xk) = f (x∗) e f (xk+1) − f (x∗) ≤ ((K − κ)/(K + κ))2(f (xk) − f (x∗)), onde K e κ s˜ao o maior e menor autovalor de A, respectivamente.

Demonstra¸c˜ao. Ver [23].

Esse resultado nos garante que dado x0 ∈ Rn arbitr´ario, se A for sim´etrica e definida positiva, o MMD converge ao ´unico ponto de m´ınimo de f .

No entanto, o MMD pode se tornar muito lento, pois as dire¸c˜oes geradas con-secutivamente s˜ao ortogonais:

ϕ0(λk) = 0 ⇐⇒ ∇f (xk+ λkdk)Tdk= 0 ⇐⇒ −∇f (xk+1)T∇f (xk) = 0,

podendo levar a um movimento de zig-zag mesmo perto da solu¸c˜ao. Este compor-tamento se torna desfavor´avel `a medida que as superf´ıcies de n´ıvel de f se tornam mais alongadas, o que corresponde a um n´umero de condi¸c˜ao grande da matriz A. Outros m´etodos, trabalhando com diferentes dire¸c˜oes, podem acelerar o processo de convergˆencia. Dessa maneira, vamos introduzir o m´etodo dos gradientes conjugados, como uma esp´ecie de “MMD com mem´oria”.

2.1.2

etodo dos Gradientes Conjugados

Estamos resolvendo (2.3). A solu¸c˜ao desse problema ´e o vetor que resolve Ax = b. Sabemos que ∇f (x) = Ax − b e esse vetor equivale ao oposto do res´ıduo do sistema

(31)

linear: r(x) = b − Ax.

Um dos incovenientes do m´etodo de m´axima descida ´e tomar as dire¸c˜oes orto-gonais. O M´etodo dos Gradientes Conjugados resolve essa quest˜ao usando dire¸c˜oes A-conjugadas (definidas no pr´oximo teorema). Esse m´etodo foi originalmente pro-posto por Hestenes e Stiefel, em 1952, ver [21].

O pr´oximo teorema estabelece a propriedade da A-conjuga¸c˜ao, ou A-ortogonalidade, satisfeita pelos incrementos sk.

Teorema 5. Se {xk} ´e uma sequˆencia gerada pelo Algoritmo 2, os incrementos sk= xk+1− xk ,k = 0, 1, ... s˜ao A-conjugados, isto ´e, para todo k ≥ 1 vale

sjTAsk= 0, j = 0, 1, ..., k − 1. (2.4) E, se ∇f (x0), ∇f (x1), ..., ∇f (xk−1) s˜ao n˜ao nulos e xk est´a bem definido, ent˜ao

sjTAsj > 0 para todo j = 0, 1, ..., k − 1. (2.5) Demonstra¸c˜ao. J´a vimos que ∇f (xk+1)⊥Sk, onde

Sk = span {∇f (x0), ..., ∇f (xk)} = span {s0, ..., sk} . Ent˜ao,

∇f (xk+1)⊥sj, j = 0, 1, ..., k. (2.6) Pela defini¸c˜ao de sk, e por c´alculos elementares,

∇f (xk+1) = ∇f (xk) + Ask. (2.7) Pr´e-multiplicando (2.7) por sjT, para j = 0, 1, ..., k − 1, por (2.6) segue (2.4).

(32)

Se ∇f (xj) 6= 0, temos que xj+1 est´a bem definido, portanto sj 6= 0 e, por con-sequˆencia, ∇f (xj)Tsj < 0. Mas, pela defini¸c˜ao de xj+1, t = 1 deve ser minimizador de f (xj + tsj). Como essa fun¸c˜ao de t ´e uma par´abola, para que exista um mi-nimizador h´a duas possibilidades: ou a par´abola ´e constante, ou o coeficiente de segunda ordem ´e maior que zero. Sabemos que dtdf (xj + tsj) = ∇f (xj)Tsj < 0 em t = 0, portanto a par´abola n˜ao ´e constante. Como o coeficiente de segunda ordem ´

e sj TAs

j

2 , segue (2.5).

No M´etodo dos Gradientes Conjugados, a primeira itera¸c˜ao ser´a dada pelo MMD, ou seja,

x1 = x0+ α0d0 = x0− α0∇f (x0),

onde α0 ´e escolhido de modo a minimizar (2.1) na dire¸c˜ao d0 = −∇f (x0).

Geraremos ent˜ao uma sequˆencia xk para o algoritmo:

Algoritmo 4. Come¸camos o algoritmo com x0 ∈ Rn arbitr´ario. Dado xk ∈ Rn, definimos: Sk = span {−∇f (x0), ..., −∇f (xk)} e Vk = x0+ Sk= {v ∈ Rn/v = x0+ w, com w ∈ Sk} . Consideramos o problema min f (x) sujeita a x ∈ Vk. (2.8) Se (2.8) n˜ao tem solu¸c˜ao, o algoritmo p´ara por inexistˆencia de m´ınimo. Caso contr´ario, definimos xk+1 como uma das solu¸c˜oes de (2.8). (De fato,(2.8) n˜ao pode ter mais de uma solu¸c˜ao).

A cada itera¸c˜ao k, calculamos

xk+1 = xk+ sk, onde sk ´e o passo na itera¸c˜ao k.

(33)

Por constru¸c˜ao, sk ∈ Sk. Al´em disso, sk+1 ∈ S/ k. Podemos concluir que Sk = span {s0, s1, ..., sk}. Para maiores detalhes ver [25].

Agora veremos que um algoritmo para resolu¸c˜ao de (2.8) possui duas possibi-lidades: que em algum momento ele pare por inexistˆencia do minimizador de f (x) em Vkou que, em um n´umero finito de passos (menor ou igual a n), encontre uma solu¸c˜ao do sistema linear Ax − b = 0. Quando A ´e definida positiva ou semidefinida positiva, e b ∈ R(A), os minimizadores do problema (2.8) sempre existem. Portanto, nesses casos, o algoritmo termina com uma solu¸c˜ao de Ax − b = 0, que necessariamente ´e minimizador global de (2.3). Se b /∈ R(A), n˜ao existem solu¸c˜oes de Ax−b = 0. Logo, nesse caso, o algoritmo p´ara por inexistˆencia de m´ınimo de (2.8) em alguma itera¸c˜ao k. Agora, se b ∈ R(A), mas A tem algum autovalor negativo, as duas possibilidades permanecem: que seja encontrada uma itera¸c˜ao que resolva Ax − b = 0 (ponto cr´ıtico de (2.3)) ou que o algoritmo pare por inexistˆencia de m´ınimo. Observemos o seguinte teorema:

Teorema 6. Se o algoritmo 2 n˜ao p´ara por inexistˆencia de m´ınimo, ent˜ao existe k ≤ n tal que xk ´e uma solu¸c˜ao do sistema Ax − b = 0 (ponto estacion´ario de (2.3)). Demonstra¸c˜ao. Suponhamos que o algoritmo 2 n˜ao pare por inexistˆencia de m´ınimo. Ent˜ao, para cada itera¸c˜ao k em que ∇f (xk+1) ´e n˜ao nulo, temos que

dim(Vk+1) = dim(Vk) + 1.

Assim, se chegarmos a completar n itera¸c˜oes com gradientes n˜ao nulos, teremos dim(Vn−1) = n. Isso implica que Vn−1 = Rn e, portanto, xn ´e solu¸c˜ao de (2.3).

Mostraremos agora como calcular as dire¸c˜oes de busca, de uma maneira eficiente, para que elas sejam mutuamente A-conjugadas.

Sabemos que Sk = span {s0, s1, ..., sk−1, −∇f (xk)}, de modo que: sk = λ0s0+ λ1s1 + ... + λk−1sk−1− λk∇f (xk).

(34)

Defina

sk = αkdk, onde dk ´e o vetor dire¸c˜ao (w0, ..., wk−1 s˜ao escalares)

dk = w0s0+ w1s1+ ... + wk−1sk−1− ∇f (xk).

Pr´e-multiplicando os membros por sjTA, j = 0, 1, ..., k − 1, e usando a A-conjuga¸c˜ao dos sj, obtemos:

0 = sjTAdk= −sjTA∇f (xk) + wjsjTAsj. Agora, usando que sjTAsj > 0,

wj = ∇f (xk) T Asj sjTAsj , para j = 0, 1, ..., k − 1.

Como Asj = ∇f (xj+1) − ∇f (xj), temos que ∇f (xk)TAsj = 0 para j = 0, 1, ..., k − 2. Logo, wj = 0 para j = 0, 1, ..., k − 2 e, consequentemente:

dk = −∇f (xk) + wk−1sk−1= −∇f (xk) +

∇f (xk)TAsk−1 sk−1TAsk−1

sk−1. (2.9)

Lembrando que Ask−1 = ∇f (xk) − ∇f (xk−1), e ∇f (xk)⊥∇f (xk−1), da express˜ao (2.9) se deduz que: dk = −∇f (xk) − ∇f (xk)T∇f (xk) sk−1T∇f (xk−1) sk−1 = −∇f (xk) − ∇f (xk)T∇f (xk) dk−1T∇f (xk−1) dk−1.

Al´em disso, como dk−1 ´e a soma de −∇f (xk−1) mais uma combina¸c˜ao linear dos gradientes anteriores, e esses gradientes s˜ao ortogonais a ∇f (xk−1), a express˜ao anterior toma a forma:

dk = −∇f (xk) + βk−1dk−1, onde βk−1 =

∇f (xk)T∇f (xk) ∇f (xk−1)T∇f (xk−1)

(35)

Finalmente, sabemos que xk+1 deve ser o minimizador de f ao longo da reta que passa por xk, com dire¸c˜ao dk, obtemos ent˜ao:

xk+1 = xk+ αkdk onde αk = ∇f (xk) T ∇f (xk) dkTAdk . (2.11) e, xk+1− xk= sk = αkdk = dkT∇f (xk) dkTAdk dk.

As express˜oes (2.10) e (2.11) descrevem o algoritmo de gradientes conjugados de maneira mais operativa. Observando as express˜oes a partir de (2.9), o fato mais relevante mostrado ´e que o c´alculo de xk+1, quando esse ponto est´a bem definido, depende apenas do incremento anterior sk−1 e do gradiente atual ∇f (xk). Ou seja, a minimiza¸c˜ao de f na variedade Vk pode ser efetuada com trabalho e mem´oria m´ınimos.

Algoritmo 5. MGC

Considerar x0 ∈ Rn e  > 0 dados;

Seja d0 = r0 = b − Ax0 e δ0 = rT0r0, k = 0; Seguir os seguintes passos, enquanto δ0 >  Passo 1. hk= Adk; Passo 2. αk= δ0 dTkhk ; Passo 3. xk+1 = xk+ αkdk; Passo 4. rk+1 = rk+ αkhk; Passo 5. δ1 = rTk+1rk+1;

Passo 6. se δ1 < , sa´ıda com x∗ ∼= xk+1; Passo 7. βk = δ1 δ0 ; Passo 8. δ0 = δ1; Passo 9. dk+1 = rk+1+ βkdk, k = k + 1.

Em cada itera¸c˜ao do algoritmo acima, o ponto xk encontrado ´e o m´ınimo da quadr´atica restrita `a variedade linear x0+ Kk, onde Kk ´e o conjunto dado por

(36)

conhecido como o k-´esimo subespa¸co de Krylov da matriz A. ´

E importante observar que a dimens˜ao de tal subespa¸co ´e dada pelo n´umero de autovalores distintos da matriz A, o que indica que o m´etodo dos gradientes con-jugados encontra a solu¸c˜ao exata para o problema de minimiza¸c˜ao ou calcula uma dire¸c˜ao ao longo da qual a quadr´atica tende a −∞ em, no m´aximo, p itera¸c˜oes, onde p ´e o n´umero de autovalores distintos de A [25].

Apesar desse resultado, o m´etodo dos gradientes conjugados pode se tornar ex-tremamente lento para problemas de grande porte em duas situa¸c˜oes: quando os autovalores distintos de A s˜ao muitos e quando o n´umero de condi¸c˜ao da matriz A ´

e grande.

Voltando `a mem´oria ocupada: s˜ao necess´arios vetores de dimens˜ao n para ar-mazenar h, x, r e d, e uma matriz de dimens˜ao n × n para armazenar A (numa im-plementa¸c˜ao para sistemas esparsos, o armazenamento de A depende do seu n´umero de elementos n˜ao nulos e da estrutura de dados usada).

Quanto ao esfor¸co computacional gasto: temos, por itera¸c˜ao, um produto de matriz por vetor (Adk) e dois produtos internos, al´em das multiplica¸c˜oes por escalar e adi¸c˜oes envolvidas nas f´ormulas recursivas. Logo, o n´umero de opera¸c˜oes, por itera¸c˜ao, ´e O(n2).

2.1.3

etodo do Gradiente Espectral

Barzilai e Borwein [4] propuseram, em 1988, um m´etodo do tipo gradiente que requer pouco esfor¸co computacional, e que parece ser menos sens´ıvel ao mau-condicionamento. Este m´etodo n˜ao requer armazenamento de matrizes ou buscas lineares. A dire¸c˜ao de busca ´e sempre o oposto ao gradiente, mas a escolha do tamanho do passo n˜ao ´e a mesma do MMD. Na realidade, Barzilai e Borwein obser-varam que a nova escolha do tamanho do passo acelerava a convegˆencia do MMD para quadr´aticas.

(37)

Adotaremos a nota¸c˜ao simplificada g(xk) = ∇f (xk), em alguns pontos do texto. Estamos tratando da itera¸c˜ao xk+1 = xk − Bk∇f (xk), onde Bk = σ1

kI, e σk

minimiza ||sk−1− σyk−1||2, onde sk−1 = xk− xk−1 e yk−1 = ∇f (xk) − ∇f (xk−1). A motiva¸c˜ao para essa escolha ´e que ela traz uma aproxima¸c˜ao para a equa¸c˜ao secante Bksk−1= yk−1. Temos ent˜ao a itera¸c˜ao:

xk+1 = xk− 1 σk

g(xk) onde σk , o passo espectral, ´e dado por:

σk =

hyk−1, yk−1i hsk−1, yk−1i

. (2.12)

Por simetria, podemos minimizar ||σsk−1− yk−1||2, com respeito a σ e teremos ent˜ao:

σk =

hsk−1, yk−1i hsk−1, sk−1i

(2.13) Como estamos trabalhando com fun¸c˜oes quadr´aticas, as equa¸c˜oes (2.12) e (2.13) se tornam, respectivamente [29]: σk = sk−1TA2sk−1 sk−1TAsk−1 (2.14) e σk = sk−1TAsk−1 sk−1Tsk−1 (2.15) Nesse caso, σk ´e o quociente de Rayleigh de A, em consequˆecia:

0 < λmin ≤ σk ≤ λmax,

onde λmin e λmax s˜ao respectivamente o menor e o maior autovalores de A.

Barzilai e Borwein [4] apresentaram a convergˆencia do m´etodo para quadr´aticas em duas dimens˜oes. Raydan [29] estendeu a aplica¸c˜ao do m´etodo para fun¸c˜oes quadr´aticas estritamente convexas (ver apˆendice B) em Rn com resultados de con-vergˆencia global. Este resultado foi estendido para quadr´aticas convexas em Rn(n˜ao

(38)

necessariamente estritamente), com restri¸c˜oes de caixas, em [19].

O algoritmo que apresentaremos aqui, proposto em [30], insere o m´etodo de Barzilai e Borwein em uma estrat´egia de globaliza¸c˜ao, que aceita o passo espectral sempre que poss´ıvel, para que possa ser aplicado para qualquer tipo de fun¸c˜ao. Essa estrat´egia ´e baseada em uma busca linear n˜ao mon´otona.

Aplicaremos a (2.3) o M´etodo do Gradiente Espectral (MGE), que ir´a gerar uma sequˆencia de pontos fact´ıveis xk, k = 0, 1, 2, ..., onde x0 ´e dado e σ0 = 1. Daremos a seguir os passos do algoritmo do MGE, no qual usaremos os parˆametros:

• M ≥ 0, δ ≥ 0;

• γ ∈ (0, 1) , o parˆametro da busca linear n˜ao mon´otona, e • 0 < α1 < α2 < 1, 0 <  < 1 parˆametros de salvaguarda. Algoritmo 6. MGE Seja k = 0. Passo 1. Se kg(xk)k = 0, parar; Passo 2. Se σk≤  ou σk ≥ 1, fa¸ca σk = δ; Passo 3. Fa¸ca λ = σ1 k;

Passo 4. Busca linear n˜ao mon´otona Considere 0 ≤ j ≤ min(k, M ). Se f (xk− λg(xk)) ≤ max j {(fk−j) − γλg(xk) Tg(x k)}. Ent˜ao fa¸ca λk = λ, xk+1 = xk− λkg(xk); Caso contr´ario, v´a para o passo 5.

Passo 5. Escolha σ ∈ [α1, α2], fa¸ca λ = σλ e v´a para o passo 4; Passo 6. Fa¸ca σk+1 = − g(xk)

Ty k

λkg(xk)Tg(xk), k = k + 1 e v´a para o passo 1.

(39)

• Desde que sk= −λkg(xk), ent˜ao a defini¸c˜ao de σk+1 ´e equivalente a (2.15). • Para k = 0 a condi¸c˜ao do passo 4 se reduz `a condi¸c˜ao de Armijo. Para

k > 0 a fun¸c˜ao objetivo poder´a aumentar de valor em algumas itera¸c˜oes, com respeito `as itera¸c˜oes anteriores. Por´em, f (xk) ≤ f (x0), ∀k, ent˜ao o conjunto {x|f (x) ≤ f (x0)} cont´em a sequˆencia toda de iterandos {xk}.

As propriedades de convergˆencia do MGE s˜ao enunciadas no seguinte teorema: Teorema 7. Assuma que Ω0 = {x|f (x) ≤ f (x0)} ´e um conjunto limitado. Seja f : Rn→ R continuamente diferenci´avel em alguma vizinhan¸ca N de Ω

0. Seja {xk} a sequˆencia gerada pelo algoritmo MGE. Ent˜ao g(xj) = 0 para algum j finito, ou as seguintes propriedades acontecem:

(i) limk→∞kg(xk)k = 0;

(ii) nenhum ponto de {xk} ´e um m´aximo local de f ;

(iii) se o n´umero de pontos estacion´arios de f em Ω0 ´e finito, ent˜ao a sequˆencia {xk} converge.

Demonstra¸c˜ao. Ver [30].

(40)

Cap´ıtulo 3

Minimiza¸

ao de Quadr´

aticas em

Caixas

Quando tratamos de problemas em que os dados s´o nos interessam em uma determinada regi˜ao do espa¸co, podemos falar de um problema de minimiza¸c˜ao com restri¸c˜oes. O caso mais comum ´e quando cada parˆametro n˜ao pode ser inferior a uma determinada cota e nem superior a outra. Assim, o conjunto de restri¸c˜oes toma a forma:

li ≤ xi ≤ ui ou, considerando os vetores l, x e u:

l ≤ x ≤ u.

O conjunto Ω ⊂ Rn formado pelos pontos que satisfazem essas restri¸c˜oes ´e chamado de caixa de Rn.

Nosso problema ser´a agora:

minf (x) = 1 2x T Ax − bTx + c (3.1) sujeita a x ∈ Ω, onde Ω = {x ∈ Rn|l ≤ x ≤ u, l < u}.

(41)

´

E conveniente admitir os valores −∞ para li e +∞ para ui, j´a que, `as vezes, apenas algumas vari´aveis est˜ao naturalmente limitadas, e para outras, a limita¸c˜ao ´e apenas superior, ou inferior.

Dado um vetor x ∈ Ω, dizemos que a restri¸c˜ao i est´a ativa se xi = li ou xi = ui. Assim, montamos o subconjunto I(x) de {1, 2, ...2n}, de maneira que:

i ∈ I(x) ⇐⇒ xi = li, n + i ∈ I(x) ⇐⇒ xi = ui. Podemos ent˜ao definir uma face aberta FI como:

FI = {x ∈ Ω | xi = li, se i ∈ I, xi = ui, se n + i ∈ I, li < xi < ui nos outros casos} Chamaremos ¯FI o fecho de cada face aberta e V (FI) a menor variedade afim que cont´em FI.

Para cada x ∈ Ω definimos o gradiente projetado negativo, ou “vetor de Cauchy”gp(x) ∈ Rn como gp(x)i =      0 se xi = li e [∇f (x)]i > 0 0 se xi = ui e [∇f (x)]i < 0 −[∇f (x)]i nos outros casos

Podemos verificar que se x ´e minimizador local ou global de (3.1), teremos gp(x) = 0. Se A ≥ 0, a quadr´atica ´e convexa e esse resultado passa a ser uma condi¸c˜ao suficiente para minimizador global.

Quando restringimos a fun¸c˜ao quadr´atica a uma face aberta FI, as vari´aveis livres s˜ao apenas as que se encontram estritamente entre os limites definidos pelo conjunto I. O vetor definido a seguir ´e o inverso aditivo em rela¸c˜ao a essas vari´aveis livres. Assim, para cada x ∈ FI definimos gI(x) ∈ Rn (gradiente interno negativo), como:

gI(x)i = (

0 se i ∈ I ou n + i ∈ I −[∇f (x)]i nos outros casos

(42)

gIC(x) =          0 se i 6∈ I e n + i 6∈ I 0 se i ∈ I e [∇f (x)]i > 0 0 se n + i ∈ I e [∇f (x)]i < 0 −[∇f (x)]i nos outros casos

Podemos verificar que, para todo x ∈ FI, o gradiente interno ´e ortogonal ao gradiente chopado, e:

gp(x) = gI(x) + gIC(x).

A figura 1 nos mostra um exemplo onde o gradiente chopado ´e menor que o gradiente projetado. -2 -1 0 1 2 -2 -1 0 1 2 gc gp = -g gI Figura 1

Por outro lado, na figura 2 a seguir, a norma do gradiente chopado ´e somente um pouco menor que a do gradiente projetado.

(43)

-1.5 -1 -0.5 0 0.5 1 1.5 -1.5 -1 -0.5 0 0.5 1 1.5 gc gI gp Figura 2

3.1

Algoritmo Geral para Quadr´

aticas em Caixas

Apresentaremos um algoritmo para minimizar quadr´aticas em caixas que produz uma sequˆencia {xk} de aproxima¸c˜oes da solu¸c˜ao de (3.1) baseado na minimiza¸c˜ao parcial da quadr´atica nas diferentes faces visitadas [25]. Quando xk pertence a uma face FI, um “algoritmo interno”para minimiza¸c˜ao de quadr´aticas sem restri¸c˜oes ser´a acionado, trabalhando apenas com as vari´aveis livres da face. Esse “algoritmo in-terno”encontra um ponto estacion´ario restrito a FI ou viola as restri¸c˜oes inativas dessa face.

Em cada passo do “algoritmo interno”, verificamos se ele j´a est´a bastante perto de um ponto estacion´ario em FI, comparando o tamanho do gradiente chopado com o tamanho do gradiente projetado. Se o quociente entre ambos for grande (o valor m´aximo ´e 1), significa que o gradiente interno ´e pequeno em rela¸c˜ao ao gradiente chopado e, portanto, continuar explorando a face FI ´e pouco econˆomico, ou seja, abandonar a face em que estamos parece razo´avel. Para isso utilizaremos a dire¸c˜ao do gradiente chopado.

(44)

Diremos que um algoritmo para minimizar f (x) em V (FI), problema essencial-mente irrestrito, tem as “propriedades boas para a minimiza¸c˜ao em caixas”quando produz uma sequˆencia (talvez finita) {z0, z1, z2, ...} ⊂ V (FI), z0 ∈ FI que cumpre:

1. Se zk e zk+1 est˜ao definidos, ent˜ao f (zk+1) < f (zk).

2. Se zk+1 n˜ao est´a definido (a sequˆencia termina em zk), pode ser por dois motivos: zk ´e um ponto estacion´ario da minimiza¸c˜ao de f (x) em V (FI) ou foi encontrada uma dire¸c˜ao dK tal que limt−→∞f (zk+ tdk) = −∞.

Neste caso, se zk+ tdk ∈ Ω para todo t, h´a inexistˆencia de solu¸c˜ao de (3.1). Se zk + tdk ∈ Ω para t suficientemente grande, escolhe-se o ´/ ultimo zk+1 = zk+ tdk ∈ Ω tal que f (zk+1) < f (zk) e d´a-se por terminada a sequˆencia gerada pelo algoritmo interno em zk+1.

3. Se a sequˆencia {zk} ´e infinita, ent˜ao todo ponto limite desta ´e um ponto esta-cion´ario de f sujeita a V (FI). Se n˜ao existem pontos limite deve-se satisfazer limk−→∞f (zk) = −∞

Vimos que o MGC termina em um ponto estacion´ario em um n´umero finito de passos ou gera uma dire¸c˜ao ao longo da qual a quadr´atica tende a −∞, satisfazendo, portanto, as condi¸c˜oes 1, 2 e 3. Em [5] s˜ao estudados outros m´etodos iterativos que satisfazem essas condi¸c˜oes em determinadas circunstˆancias.

Algoritmo 7. Minimiza¸c˜ao de Quadr´aticas em Caixas

Seja η ∈ (0, 1) dado indepententemente de k, e x0 ∈ Ω um ponto inicial ar-bitr´ario. O algoritmo define uma sequˆencia {xk} em Ω e p´ara se ||gp(xk)|| = 0. Suponhamos que xk ∈ FI ´e tal que ||gp(xk)|| 6= 0. Seja I = I(xk) tal que xk ∈ FI. Chamemos Ψ(x) ∈ Ω ao minimizador de f ao longo do segmento (talvez semi-reta) {x ∈ Ω|x = xk+ tgIC(xk), t ≥ 0}.

(45)

Passo 1.

Come¸camos com z0 = xk e usamos um m´etodo com as propriedades 1, 2, 3 vistas acima para minimizar quadr´aticas, aplicado essencialmente ao problema irrestrito de minimizar f (x) em V (FI), obtendo assim z0 = xk, z1 = xk+1, e assim por diante.

Interromper esse m´etodo quando xk satisfaz uma das seguintes condi¸c˜oes: (i)

xk∈ Ω e ||gp(xk)|| = 0. (3.2) (ii) O m´etodo interno detectou que (3.1) ´e ilimitado inferiormente.

(iii)

||gIC(xk)|| > η||gp(xk)||. (3.3) (iv)

zr+1 ∈ Ω, onde r = 0, 1, 2, .../ (3.4) Passo 2.

Se o algoritmo interno foi interrompido por (3.2), parar, pois xk ´e um ponto estacion´ario de (3.1).

Se o algoritmo interno detecta que (3.1) n˜ao tem solu¸c˜ao, o algoritmo principal ´

e interrompido com este diagn´ostico. Passo 3.

Se o teste (3.3) foi satisfeito em xk, e f n˜ao ´e limitada inferiormente no seg-mento (nesse caso necessariamente semi-reta) {xk + tgIC(xk), t ≥ 0} o problema (3.1) n˜ao tem solu¸c˜ao. Nesse caso, parar.

(46)

Passo 4.

Se xk = zr e zr+1 viola os limites de ¯FI (condi¸c˜ao (3.4)), encontrar xk+1 na fronteira de FI ( ¯FI− FI) tal que f (xk+1) < f (xk) ou detectar que o problema (3.1) n˜ao tem solu¸c˜ao.

Observando a figura 1 na se¸c˜ao anterior e a desigualdade (3.3) vemos que devemos continuar na mesma face, onde est´a localizada a solu¸c˜ao do problema. E na figura 2 temos um caso em que saimos da face corrente, na dire¸c˜ao do gradiente chopado, que neste caso aponta para a solu¸c˜ao.

O algoritmo de minimiza¸c˜ao de quadr´aticas em caixas p´ara, isto ´e, gera uma sequˆencia finita quando encontra um ponto estacion´ario xk de (3.1) ou quando de-tecta que o poblema ´e ilimitado inferiormente, e, portanto, sem solu¸c˜ao. Por´em, se o algoritmo gera uma sequˆencia infinita, haver´a, essencialmente, as mesmas duas possibilidades: encontraremos um gradiente projetado arbitrariamente pequeno, ou a sequˆencia dos valores da fun¸c˜ao em xk tender´a a −∞.

Para demonstra¸c˜oes de convergˆencia e maiores detalhes sobre o algoritmo, vide [25].

3.2

GENCAN

GENCAN ´e um m´etodo de otimiza¸c˜ao proposto em 2001 por Ernesto G. Birgin e Jos´e Mario Martinez, em [6], que significa Generaliza¸c˜ao do QUACAN, ou seja, ´

e um m´etodo para fun¸c˜oes gerais canalizadas. O m´etodo resolve problemas do tipo:

minf (x) sujeita a x ∈ Ω, onde Ω = {x ∈ Rn|l ≤ x ≤ u, l < u}.

Nosso interesse ´e aplicar o GENCAN nos casos onde f ´e uma fun¸c˜ao quadr´atica. O esquema b´asico do GENCAN consiste em usar uma estrat´egia de restri¸c˜oes

(47)

ativas, conforme explicado na se¸c˜ao anterior. Para a minimiza¸c˜ao interna nas faces ´

e introduzido um novo algoritmo com uma busca linear que combina backtracking e extrapola¸c˜ao. Para abandonar a face, usamos o gradiente espectral projetado.

Para o algoritmo interno, GENCAN utiliza um procedimento do tipo Newton-Truncado. Isso significa que a dire¸c˜ao de busca ser´a, para uma fun¸c˜ao objetivo qualquer, uma aproxima¸c˜ao do minimizador da fun¸c˜ao quadr´atica na face corrente. GENCAN usa o M´etodo dos Gradientes Conjugados para encontrar tal dire¸c˜ao, de modo que a primeira itera¸c˜ao ´e obviamente uma dire¸c˜ao de descida e esta pro-priedade ´e monitorada nas itera¸c˜oes seguintes por sucessivos passos de gradientes conjugados.

Utilizamos aqui a nota¸c˜ao sk = xk−xk−1, g(xk) = ∇f (xk) e yk = g(xk)−g(xk−1). Temos o seguinte esquema:

1. Verificamos se o iterando xk deve abandonar a face FI ou se deve permanecer no fecho dessa face ( ¯FI), descrito pelo algoritmo 8 a seguir.

2. Caso deva abandonar a face, fazemos uma itera¸c˜ao do M´etodo do Gradiente Espectral Projetado.

3. Caso contr´ario fazemos uma itera¸c˜ao do Algoritmo de Busca Linear. Algoritmo 8. GENCAN

Seja x0 ∈ Ω um ponto inicial arbitr´ario, η ∈ (0, 1), 0 < σmin ≤ σmax ≤ ∞,σk = max

n

1, ||xk||

||gp(xk)||

o

. Considere FI a face que cont´em o atual iterando xk. Assumimos que gp(xk) 6= 0, pois caso contr´ario o algoritmo p´ara.

Passo 1. Teste para abandonar ou n˜ao a face:

||gI(xk)|| ≥ η||gp(xk)||. (3.5) Se (3.5) ocorre, o novo iterando vai permanecer no fecho da face corrente; ent˜ao calculamos xk+1 realizando uma itera¸c˜ao do Algoritmo de Busca Linear, relativo `as vari´aveis livres na face.

(48)

Se (3.5) n˜ao ocorre, julgamos que alguma restri¸c˜ao deve ser abandonada, e ent˜ao o novo iterando xk+1 ´e calculado a partir de uma itera¸c˜ao do M´etodo do Gradiente Espectral. Nesse caso, antes de calcularmos xk+1, obtemos o coeficiente espectral da seguinte maneira: Passo 2. Se skTyk ≤ 0, ent˜ao σk= max  1, ||xk|| ||gp(xk)||  .

Caso contr´ario, definimos:

¯ σk=

skTyk skTsk e

σk= min {σmax, max {σmin, ¯σk}} .

A seguir descrevemos o algoritmo do gradiente espectral projetado. Neste m´etodo, o iterando xk+1 ´e obtido usando o passo espectral σk e um crit´erio mon´otono de decr´escimo suficiente.

Algoritmo 9. M´etodo do Gradiente Espectral Projetado

Dados σk obtido pelo algoritmo 8 e γ ∈ (0, 1). Passo 1. C´alculo da dire¸c˜ao de busca.

dk = PΩ(xk− σkg(xk)) − xk Passo 2. Teste de decr´escimo suficiente.

Calculamos xk+1 = xk+ αkdk e testamos:

f (xk+1) ≤ f (xk) + γαkg(xk)Tdk (3.6) Passo 2.1. α = 1.

Passo 2.2. Se (3.6) foi aceito, fazer αk = α. Sen˜ao reduzir α por um procedimento de interpola¸c˜ao quadr´atica e repetir o teste (3.6).

(49)

Observe que se xk+1 foi calculado com este algoritmo e xk ∈ FI, ent˜ao xk+1 ∈ ¯/ FI. -15 -10 -5 0 5 10 15 -15 -10 -5 0 5 10 15 x1 -g0 g1 x0 Figura 3

(50)

Para termos uma id´eia melhor da dire¸c˜ao do gradiente espectral projetado, ob-serve a figura 3. Podemos ver que quando partimos de x0, fazemos uma itera¸c˜ao da t´ecnica do gradiente projetado, ou seja, andamos na dire¸c˜ao oposta ao gradiente em x0 (−g0), ent˜ao projetamos −g0 na caixa, minimizando a fun¸c˜ao objetivo no segmento que une x0 e a proje¸c˜ao de −g0, encontrando x1.

No pr´oximo passo, partimos de x1 e encontramos a dire¸c˜ao oposta ao gradiente, g1; ent˜ao ao inv´es de projetarmos esta dire¸c˜ao diretamente na caixa, calculamos o passo espectral ao longo de g1, para ent˜ao projetarmos na caixa e encontrarmos o pr´oximo iterando minimizando no segmento que liga x1 a esta proje¸c˜ao.

O algoritmo a seguir ser´a usado independentemente das faces, como se fosse um algoritmo para uma minimiza¸c˜ao sem restri¸c˜oes. ´E baseado em buscas lineares com condi¸c˜oes de decr´escimo suficiente e extrapola¸c˜ao. Se o crit´erio de decr´escimo suficiente n˜ao se cumpre, fazemos backtracking. Caso contr´ario, fazemos a extra-pola¸c˜ao. As itera¸c˜oes se repetem at´e que ||g(xk)|| = 0.

Aqui M ´e equivalente a ¯FI, P (xk) = PΩ(xk) e N > 1.

(51)

Passo 1. C´alculo da dire¸c˜ao de busca 1.1 Obter dk∈ Rn tal que

g(xk) T

dk ≤ −θ||g(xk)||||dk||. (3.7) Passo 2. Decis˜oes de Busca Linear;

2.1 Computar αmax ← max {α ≥ 0|[xk, xk+ αdk] ⊂ M } e assumir α ← min {αmax, 1} ;

se (αmax > 1) ent˜ao

xk+ dk ∈ Int(M ), ent˜ao v´a para 2.2.; sen˜ao

v´a para 2.3; fim se

2.2 Aqui temos xk+ dk∈ Int(M ) se f (xk+ dk) ≤ f (xk) + γg(xk) T dk, (3.8) ent˜ao se dkTg(xk+ dk) ≥ βg(xk)Tdk, (3.9) ent˜ao

Tomar αk= 1, xk+1= xk+ dk e v´a para o passo 5. sen˜ao

v´a para o passo 3 (extrapola¸c˜ao). fim se

sen˜ao

v´a para o passo 4 (backtracking). fim se

2.3 Aqui temos xk+ dk∈ Int(M );/ se f (xk+ αmaxdk) < f (xk) ent˜ao

Tome αk ≥ αmax e xk+1= P (xk+ αkdk) ∈ M − Int(M ) (ou seja, pertence `

a fronteira de M) tal que f (xk+1 ≤ f (xk+ αmaxdk) e v´a para o passo 5. sen˜ao

v´a para o passo 4 (Backtracking), para que a condi¸c˜ao de Armijo seja satisfeita.

(52)

Passo 3. Extrapola¸c˜ao

3.1 se [α < αmax e N α > αmax] ent˜ao assuma αteste ← αmax

sen˜ao

assuma αteste ← N α. fim se

3.2 se [α ≥ αmax e ||P (xk+ αdk)||∞ < max {(abs, rel||P (xk+ αdk)||∞)}] ent˜ao

Tome αk= α, xk+1 = P (xk+ αdk) e termine a execu¸c˜ao deste algoritmo. sen˜ao

3.3 fim se

se f [P (xk+ αtestedk)] ≥ f [P (xk+ αdk)] ent˜ao

Tome αk= α, xk+1 = P (xk+ αdk) e v´a para o passo 5. sen˜ao

assuma α ← αteste e v´a para 3.1. fim se

Passo 4. Backtracking

4.1 Calcule αnovo∈ [ασ1, ασ2] e assuma α ← αnovo. 4.2 se f (xk+ αdk) ≤ f (xk) + γg(xk)Tdk ent˜ao

Tome αk= α, xk+1 = xk+ αdk e v´a para o passo 5. sen˜ao

v´a para 4.1. fim se

Passo 5. Atualiza¸c˜oes se αk ≥ αmax ent˜ao

pare o algoritmo. sen˜ao

Caso contr´ario assuma k ← k + 1 e v´a para o passo 1. fim se

No passo 2.2 testamos a condi¸c˜ao de decr´escimo suficiente e a condi¸c˜ao do tamanho da derivada direcional. Este algoritmo realiza buscas lineares ao longo de dire¸c˜oes que satifazem a condi¸c˜ao do ˆangulo (3.7). Em geral, essa dire¸c˜ao vai possuir alguma informa¸c˜ao de segunda ordem, ent˜ao o passo com α = 1 dever´a

(53)

ser inicialmente testado e aceito se as condi¸c˜oes de decr´escimo suficiente (3.8) e da derivada direcional (3.9) s˜ao satisfeitas. Se a condi¸c˜ao de decr´escimo suficiente for aceita, mas a de derivada direcional n˜ao, devemos tentar passos maiores ao longo da dire¸c˜ao dk (extrapola¸c˜ao). Estes passos provavelmente produzir˜ao um maior decr´escimo no valor da fun¸c˜ao objetivo. Se a condi¸c˜ao de decr´escimo suficiente n˜ao for aceita, ent˜ao o backtracking p´ara quando a condi¸c˜ao de Armijo no passo (4.2) for satisfeita.

No passo 2.3, como f (xk + αmaxdk) < f (xk), tentamos obter um menor valor para a fun¸c˜ao objetivo multiplicando o passo por um fator fixo e o projetamos na caixa. Na pr´atica, esse ponto ´e obtido pela extrapola¸c˜ao (passo 3).

Na extrapola¸c˜ao, tentamos sucessivas proje¸c˜oes de xk+ αdk na caixa, com va-lores crescentes de α. Se o ponto de entrada xk+ αdk ´e interior, mas xk+ N αdk n˜ao ´

e, temos a certeza de que o ponto xk+ αmaxdk ser´a testado em primeiro lugar. A extrapola¸c˜ao termina quando o decr´escimo do valor da fun¸c˜ao objetivo n˜ao ´e mais alcan¸cado, ou quando a distˆancia entre a proje¸c˜ao de dois pontos de teste ´e insigni-ficante.

A itera¸c˜ao termina no passo 5. Se o iterando correspondente xk+1 est´a na fron-teira de M , o algoritmo p´ara, tendo encontrado um valor na fronteira, onde o valor da fun¸c˜ao objetivo decresceu com respeito a todos os anteriores. Se xk+1 est´a no interior de M , a execu¸c˜ao do algoritmo continua, aumentando o n´umero de itera¸c˜oes.

(54)

Cap´ıtulo 4

Pr´

e-condicionadores

Sabemos que o m´etodo dos gradientes conjugados possui muitas vantagens, uma sendo sua f´acil implementa¸c˜ao: nenhum parˆametro precisa ser estimado e o m´etodo consiste basicamente de multiplica¸c˜oes de matrizes e vetores e de opera¸c˜oes com vetores. Entretanto, o m´etodo pode se tornar muito lento, dependendo do res´ıduo inicial e da distribui¸c˜ao dos autovalores da matriz. Neste cap´ıtulo, mostraremos uma vers˜ao de pr´e-condicionamento para o m´etodo dos gradientes conjugados usado em GENCAN, com o objetivo de tentar contornar esse ´ultimo problema, acelerando a convergˆecia do m´etodo.

Estamos resolvendo o problema (3.1).

Para reduzir o n´umero de condi¸c˜ao da matriz Hessiana, e assim melhorar o rendimento da itera¸c˜ao, iremos utilizar um produto interno definido pela matriz de pr´e-condicionamento (C).

Se C ´e sim´etrica definida positiva (na pr´atica uma aproxima¸c˜ao para A), usare-mos o produto interno definido naturalmente por C, ou seja,

hx, yi = xTCy,

(55)

definida positiva com respeito a esse produto interno. Observamos que se C ≈ A ⇒ cond(C−1A) ≈ 1 ent˜ao o novo sistema linear tende a ser melhor condicionado que o original. Substituindo, ent˜ao, A no algoritmo anteriormente proposto para o MGC, ficamos com: αk = hkTChk/dkTAdk, xk+1 = xk+ αkdk, hk+1 = hk+ αkC−1Adk, (4.1) βk = hk+1Chk+1/hkTChk, dk+1 = −hk+1+ βkdk, Teremos ent˜ao o algoritmo a seguir:

Algoritmo 11. MGC Pr´e-condicionado

Considerar x = x0, r0 = b − Ax0, h0 = C−1r0, d0 = −h0, δ0 = r0Th0, k = 0. Se δ0 ≤  parar. Caso contr´ario fazer:

Passo 1. hk= Adk; Passo 2. αk= δ0/dkThk; Passo 3. xk+1 = xk+ αkdk; Passo 4. rk+1 = rk+ αkhk; Passo 5. hk+1 = C−1rk+1; Passo 6. δ1 = rk+1Thk+1; Passo 7. Se δ1 ≤  parar; Passo 8. βk = δ1/δ0; Passo 9. δ0 = δ1; Passo 10. dk+1 = −hk+1+ βkdk; Passo 11. k = k + 1.

Sabemos que o M´etodo dos Gradientes Conjugados resolve o sistema linear Ax = b, que ´e o equivalente a encontrar um minimizador de uma fun¸c˜ao quadr´atica. Podemos, no entanto, observar que ´e o equivalente a minimizar o funcional f (x) =

1 2hr, A

(56)

f (x) = 1 2h, (C −1 A)−1h = 1 2(C −1 r)TC(C−1A)−1C−1r = 1 2r TA−1 r

o que nos mostra que estamos minimizando o mesmo funcional, por´em no subespa¸co de Krylov {r0, AC−1r0, ..., (AC−1)kr0}. Com o pr´e-condicionador apropriado, este subespa¸co de Krylov pode gerar vetores para minimizar f (x) muito mais r´apido que o subespa¸co n˜ao pr´e-condicionado.

Note tamb´em que:

dkTAdj = dkT(C−1A)dj = 0, 0 ≤ j < k.

4.1

Pr´

e-condicionando GENCAN

4.1.1

QNCGNA

O pr´e-condicionamento proposto em [24] para o algoritmo interno do GENCAN trata de criar uma f´ormula Quase-Newton adequada `a forma da Hessiana de f ; lem-brando que GENCAN se aplica, originalmente, `a minimiza¸c˜ao de uma fun¸c˜ao f qual-quer, restrita a uma caixa. Este pr´e-condicionamento recebe o nome de QNCGNA que significa Quasi-Newton Corretion of a Gauss-Newton Aproximation of the Hes-sian matrix.

No nosso caso, onde f ´e uma fun¸c˜ao quadr´atica, o pr´e-condicionamento proposto em [24] se limita a aplicar uma corre¸c˜ao do tipo BFGS ([26, 13]) `a matriz A, com o objetivo de melhorar seu condicionamento e, assim, acelerar a convergˆencia do m´etodo dos gradientes conjugados.

Descrevemos, a seguir, o pr´e-condicionamento proposto para GENCAN, adap-tado ao caso quadr´atico, chamando de Cp a matriz condicionadora.

Definindo s = xk− xk−1 e y = ∇f (xk) − ∇f (xk−1), podemos obter uma apro-xima¸c˜ao barata e razo´avel da Hessiana da seguinte maneira:

(57)

Passo 1 Definimos:

A+ = σI.

σ ´e obtido seguindo a filosofia do M´etodo do Gradiente Espectral, ou seja: σspc= argmin||σs − y||2,

o que implica:

σspc= yTs sTs e, por seguran¸ca, corrigimos:

σ = max {σmin, min {σmax, σspc}} .

Passo 2 Se sTy ≤ 10−8||s||||y||, definimos Cp = A+. Caso contr´ario, corrigimos A+ de maneira a satisfazer a equa¸c˜ao secante Cps = y mantendo a caracter´ıstica de Cp ser definida positiva. Como A+´e definida positiva, ´e natural usarmos BFGS. Assim: Cp = A++ yyT sTy − A+ssTA+ sTA +s o que se torna: Cp = σI + yyT sTy − σssT sTs . (4.2)

4.1.2

Outro Pr´

e-condicionador para GENCAN

Um pr´e-condicionador simples e que exige pouco esfor¸co computacional por i-tera¸c˜ao ´e o pr´e-condicionador diagonal. Nesta an´alise se poderia pensar em sub-stituir a matriz Cp da se¸c˜ao anterior pela diagonal extra´ıda de (4.2). Dessa forma temos: C = diag  σI + yy T sTy − σssT sTs  . (4.3)

Observamos que C ´e definida positiva e pode se constituir num pr´e-condicionador computacionalmente barato.

Referências

Documentos relacionados

2.1 Trabalhar mais uma vertente da internacionalização, proporcionando aos discentes da UFPE a oportunidade de participar de grupos de trabalho com os discentes parceiros de

A pesquisa em tela visa analisar as relações entre Leitura, Literatura e Cidade, para isso parte da criação poética de Elmo Elton, poeta capixaba que escreveu sobre Vitória, capital

Neste barramento circulam tanto as instruções, sempre no sentido da memória para o processador, quanto os dados, estes em ambos os sentidos. Isto é, as informações que

Para a perfeita conservação de suas características alguns cuidados deverão ser seguidos, para tal, a Polipiso do Brasil desenvolveu este Manual de Manutenção,

O objetivo central deste trabalho ´ e utilizar uma varia¸c˜ ao do m´ etodo do subgradiente para resolver problemas de minimiza¸c˜ ao, onde a fun¸c˜ ao custo ´ e quase-convexa

No contexto do ensino e aprendizagem de programação, a ferramenta proposta foca no gerenciamento de turmas, questões (de diversos tipos) e exercícios, e na vinculação dessas

Em caso de vencimento extraordinário (em conformidade com o previsto nos “Final Terms” disponíveis para consulta em www.citifirst.com/PT ) o valor pecuniário

Partindo-se deste pensamento busca-se analisar em um primeiro momento, os conteúdos do PNE, o Estatuto da Pessoa com Deficiência, a LDB 9394/96 e as