362Kb - DComp
Transcrição
362Kb - DComp
c PAVF 1 Otimizac~ao Numerica Irrestrita Algoritmos - aspectos gerais Busca unidimensional Metodos do Gradiente e Newton Metodos de direc~oes conjugadas Metodos quasi-Newton c PAVF 2 Algoritmos - aspectos gerais Algoritmo Grande parte dos algoritmos de otimizac~ao (minimizac~ao) se enquadra na seguinte denic~ao: Processo iterativo de descida que gera uma sequ^encia de pontos de acordo com um conjunto de instruc~oes pre-denidas Iterativo: Cada novo ponto da sequ^encia e gerado a partir dos pontos anteriores Descida: O valor de alguma func~ao de descida no novo ponto decresce em relac~ao ao ponto anterior Notas Idealmente, a sequ^encia gerada pelo algoritmo converge num numero nito ou innito de iterac~oes para um ponto do conjunto soluc~ao do problema Um algoritmo e globalmente convergente se converge para um ponto do conjunto soluc~ao a partir de qualquer ponto inicial especicado c PAVF 3 Algoritmos - aspectos gerais Algoritmo como mapeamento Um algoritmo denido num espaco X pode ser visto como um mapeamento A : X ! X , que a partir de x0 gera a sequ^encia x k+1 = A(xk ) k =0 1 2 ::: Conjunto soluc~ao O conjunto soluc~ao pode ser denido de varias maneiras. Exemplo: ; := fx 2 Rn : x e um mnimo local de f em g ou se f 2 C 1 e convexa em = Rn, ; := fx 2 Rn : rf (x) = 0g Func~ao de descida Normalmente e a propria func~ao objetivo do problema, mas existem excec~oes. Se z e uma func~ao de descida e xk 62 ;, ent~ao z (xk+1) < z (xk ) Exemplo: no caso convexo e irrestrito acima, seria possvel denir z (x) := krf (x)k c PAVF 4 Algoritmos - aspectos gerais Converg^encia global Existem condic~oes gerais para converg^encia global de algoritmos iterativos de descida (Luenberger, 1984) Se (xk ) converge para x e z : X ! R e contnua, ent~ao (zk ) := (z (xk )) converge para z := z (x ) Se z e uma func~ao de descida, ent~ao a converg^encia do algoritmo esta associada a converg^encia de (zk ) Ordem de converg^encia Seja (zk ) uma sequ^encia em R convergente para z . A ordem de converg^encia de (zk ) e o supremo dos numeros n~aonegativos p satisfazendo j zk+1 ; z j < 1 0 klim !1 j z ; z jp k Notas Ordem de converg^encia esta relacionada ao comportamento assintotico (isto e, quando k ! 1) de (zk ) c PAVF 5 Algoritmos - aspectos gerais Notas (cont) Assintoticamente, a dist^ancia ao limite z e reduzida pela p- esima pot^encia num unico passo quanto maior p, mais rapida a converg^encia. Se o limite existe, ent~ao, assintoticamente, j z k+1 ; z j = j k ; jp z z Exemplos a) ( k ) := ( k ) 0 k+1 k = z z =z a k ! 0 com ordem 1, pois k ! 0 com ordem 2, pois 1 z 1 z a b) ( k ) := ( 2k ) 0 2 k+1 k = 1 z z < a < a < a < =z Converg^encia linear Se a sequ^encia (zk ) converge para z e j zk+1 ; z j = < 1 lim k!1 j zk ; z j diz-se que (zk ) converge linearmente com taxa de con- verg^encia c PAVF 6 Algoritmos - aspectos gerais Converg^encia superlinear Entre duas sequ^encias que convergem linearmente, converge mais rapido a de menor . Quando = 0, diz-se que a converg^encia e superlinear Exemplo (zk ) := ((1=k)k) e de ordem 1, pois zk+1=zkp ! 1 se p > 1. Como zk+1=zk ! 0, (zk ) converge superlinearmente Converg^encia quadratica Se (zk ) converge para z com p > 1 e < 1, ent~ao a converg^encia de (zk ) e superlinear Se p = 2 e < 1, diz-se que (zk ) possui taxa de con- verg^encia quadratica Algoritmos - outros aspectos Generalidade, robustez e precis~ao Sensibilidade a par^ametros e dados Esforco de preparac~ao e computac~ao c PAVF 7 Busca unidimensional Busca linear Considere o problema irrestrito minimizar ( ) f x x 2 Rn Muitos algoritmos de otimizac~ao irrestrita assumem a seguinte estrutura geral: Escolha > 0, x0 e faca k = 0 while kr ( k)k f x end = x 1: Encontre 2 Rn tal que rf (xk )T dk < 0 2: Determine k := arg min >0 f (xk + dk ) 3: Faca xk+1 := xk + k dk e k := k + 1 x k d k Notas No passo 1 determina-se uma direc~ao de descida. A condic~ao rf (xk )T dk < 0 garante que f decresce na direc~ao k k d a partir de x para > 0 No passo 2 e realizada uma busca linear para encontrar o tamanho de passo k que minimiza f na direc~ao dk a partir de xk No passo 3 um novo ponto e calculado. O criterio de parada e krf (xk)k < (idealmente, krf (xk)k = 0) c PAVF 8 Busca unidimensional Exemplo No metodo do gradiente, se krf (xk )k , ent~ao dk := ;rf (xk) e tal que rf (xk)T dk < 0 e a busca linear assume a forma k k k := arg min f (x ; rf (x )) > 0 k Notas Dena () := f (xk +dk ). Ent~ao () = (0)+0(0)+ 0 k T k o(), onde (0) = rf (x ) d < 0 Portanto, () < (0) se > 0 for sucientemente pequeno. Na busca linear, minimiza-se para > 0 MATLAB Func~ao de Rosenbrock. Em x0 = (0 0), rf (x0) = (;2 0) alfa=0:0.01:0.2] m,n]=size(alfa) x0=0 0]' g0=-2 0]' d0=-g0 fi=] for i=1:n, x1=x0+alfa(i)*d0 fi(i)=100*(x1(2)-x1(1)^2)^2+(1-x1(1))^2 end plot(alfa,fi) grid on c PAVF 9 Busca unidimensional 3 2.5 ( ) 2 1.5 1 0.5 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Note que 0(0) < 0. O mnimo de ocorre em 0 = 0:08 e (0) = 0:77 = f (x1) < f (x0) = (0) = 1 Notas Buscas lineares exatas s~ao computacionalmente onerosas e de certa forma desnecessarias E necessario apenas garantir uma reduc~ao suciente da func~ao objetivo a cada iterac~ao A simples reduc~ao no valor da func~ao (f (xk+1) < f (xk )) n~ao garante converg^encia Exemplo: f (x) = x2 x0 = 2. A sequ^encia ((;1)k(1 + 2;k ) e tal que f (xk+1) < f (xk ), mas limk!1 f (xk ) = 1, enquanto que o mnimo de f e 0 c PAVF 10 Busca unidimensional x 1 3 x 4 x 2 x 0 x Condic~oes de Wolfe Uma primeira condic~ao imposta ao passo e este satisfazer a desigualdade ( k + dk ) f (xk ) + c1rf (xk )T dk =: l() para algum c1 2 (0 1) f x ( ) l 0 Aceitavel c PAVF 11 Busca unidimensional Notas A condic~ao estabelece que a reduc~ao f (xk+1) ; f (xk) deve ser proporcional a e a rf (xk )T dk A inclinac~ao de l() = c1rf (xk )T dk + f (xk ) e negativa (rf (xk)T dk < 0) e superior a rf (xk )T dk (c1 2 (0 1)) A desigualdade, conhecida como condic~ao de Armijo, sempre sera satisfeita para valores de > 0 pequenos Para evitar a escolha de passos muitos pequenos, a seguinte condic~ao de curvatura deve tambem ser satisfeita: r ( k + k )T k 2r ( k)T para algum 2 2 ( 1 1) f x c d d c f x d k c ( ) Inclinac~ao desejada l 0 Aceitavel c PAVF 12 Busca unidimensional Teorema Seja f : Rn ! R, f 2 C 1, e dk uma direc~ao de descida em xk . Se f e limitada inferiormente ao longo do raio fxk + k : > 0g e 0 < c < c < 1, ent~ao existem intervalos d 1 2 para satisfazendo as condic~oes de Wolfe ( k + dk ) f (xk ) + c1rf (xk )T dk f x r ( k+ f x k )T dk d 2r ( k)T c f x k d Backtracking O uso da condic~ao de curvatura, que exige novos calculos de gradiente, pode ser evitado atraves do procedimento conhecido como backtracking 2 (0 1). Faca := while ( k + k ) ( k ) + r ( k)T k Escolha > 0 e f x end k= d := c > f x c f x d O passo maximo e reduzido a taxa constante () apenas o suciente para satisfazer a condic~ao de Armijo O passo k n~ao sera muito pequeno, pois a dist^ancia ao passo anterior (que n~ao satisfaz a condic~ao) e k = c PAVF 13 Busca unidimensional MATLAB O uso de backtracking e ilustrado abaixo com a func~ao de Rosenbrock. Um valor tpico para c = c1 e 0.0001 alfab=1 ro=0.5 c=0.0001 x0=0 0]' fdx0=1 g0=-2 0]' d0=-g0 dd=g0'*d0 alfa=alfab x1=x0+alfa*d0 fdx1=100*(x1(2)-x1(1)^2)^2+(1-x1(1))^2 while fdx1>fdx0+c*alfa*dd alfa=ro*alfa x1=x0+alfa*d0 fdx1=100*(x1(2)-x1(1)^2)^2+(1-x1(1))^2 end alfa0=alfa alfa0 = 0.1250 O valor 0 = 0:1250 fornece f (x1) = 0:9531 < 1:000 = 0 f (x ). O resultado e sensvel a escolha de . Se = 0:6 ent~ao 0 = 0:0778, mais pr oximo do valor ideal Interpolac~ao E possvel desenvolver um procedimento de busca atraves de interpolac~ao de valores e derivadas de . A condic~ao de Armijo e escrita como ( ) (0) + c10 (0) c PAVF 14 Busca unidimensional Procedimento 1. Se o passo inicial 0 n~ao satisfaz a condic~ao, ent~ao o intervalo 0 0] contem um passo aceitavel 2. Constroi-se uma aproximac~ao quadratica para a partir de (0), (0) e 0(0): 0 1 0 (0 ) ; (0) ; (0)0 A 2 + 0(0) + (0) q () := @ 2 0 Note que q (0) = (0) q (0) = (0) e 0q (0) = 0(0). O mnimo de q ocorre em 2 (0) 0 1 = ; 2(0) ; (0) ; 0(0)0] 0 Se 1 satisfaz a condic~ao, ent~ao encerra-se a busca. Caso contrario aumenta-se a ordem da interpolac~ao 3. Constroi-se uma aproximac~ao cubica para a partir de 0 (0), (0 ), (1 ) e (0): c () := a 3 2 2 3 a 66 66 77 1 64 64 75 = 2 2 0 1 (1 ; 0 ) b + b2 + 0(0) + (0) ; 2 0 ; 2 1 3 0 3 1 32 3 0 (1 ) ; (0) ; (0)1 77 66 77 75 64 75 0 ( ) ; (0) ; (0)0 0 c PAVF 15 Busca unidimensional Procedimento (cont) 4. O mnimo da cubica ocorre em 2 = ;b + q 2 b ; 3 0(0) 3a a A interpolac~ao cubica e repetida usando-se (0) 0(0) e os valores mais recentes de ate que a condic~ao seja satisfeita 5. Se i esta muito proximo ou distante de i;1, faz-se i = i;1 =2. Assegura-se progresso razo avel a cada iterac~ao e evita-se que o valor nal de seja muito pequeno Exemplo - Func~ao de Rosenbrock x0=0 0]' fdx0=1 g0=-2 0]' d0=-g0 dd=g0'*d0 fi0=fdx0 dfi0=dd alfa0=0.2 x1=x0+alfa0*d0 fia0=100*(x1(2)-x1(1)^2)^2+(1-x1(1))^2 % Interpolacao quadratica % alfa1=-(dfi0*alfa0^2)/(2*(fia0-fi0-dfi0*alfa0)) alfa1 = 0.0294 % => Condicao satisfeita ! Note que 1 e bem menor do que 0 e que 1 = 0=2 = 0:1 tambem satisfaz a condic~ao de Armijo c PAVF 16 Busca unidimensional 3 2.5 2 1.5 q 1 0.5 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Se 0 = 1:0, ent~ao 1 = 0:0012 (verique !) satisfaz a condic~ao, mas 1 << 0 . O novo ponto 1 = 0 =2 = 0:5 n~ao satisfaz a condic~ao % Interpolacao cubica % alfa1=0.5 x1=x0+alfa1*d0 fia1=100*(x1(2)-x1(1)^2)^2+(1-x1(1))^2 A=1/(alfa0^2*alfa1^2*(alfa1-alfa0)) B=alfa0^2 -alfa1^2 -alfa0^3 alfa1^3] C=fia1-fi0-dfi0*alfa1 fia0-fi0-dfi0*alfa0] V=A*B*C a=V(1) b=V(2) alfa2=(-b+sqrt(b^2-3*a*dfi0))/(3*a) alfa2 = 0.2236 Como 2 = 0:2236 n~ao satisfaz a condic~ao, deve-se repetir a interpolac~ao com 0 := 1 e 1 := 2 ate converg^encia c PAVF 17 Busca unidimensional Busca sem derivadas Os metodos de busca que n~ao usam informac~oes baseadas em derivadas pressup~oem que Conhece-se um intervalo de incerteza I := a b] contendo um mnimo de A func~ao e unimodal no intervalo I Func~ao unimodal : R ! R e unimodal num intervalo I se existe um mnimo de em I , e n~ao-decrescente em f : g e e n~ao-crescente em f : g Teorema Se : R ! R atinge um mnimo num intervalo I , ent~ao e unimodal se e somente se e quasi-convexa em I a b x c PAVF 18 Busca unidimensional Unimodalidade Os metodos de busca sem derivadas produzem sucessivas reduc~oes do intervalo de incerteza a partir de I0 := I A reduc~ao e feita supondo-se que e estritamente quasiconvexa em I : para todos 1 2 2 I tais que (1) 6= ( ) 2 ( 1 + (1 ; )2) < maxf(1) (2)g para todo 2 (0 1) A exig^encia de estrita quasi-convexidade exclui a possibilidade de que possua plat^os, exceto nos pontos de mnimo Teorema : R ! R estritamente quasi-convexa no intervalo a b] e 2 a b] tais que < . Seja 1. Se () > ( ), ent~ao (z ) ( ) p/ todo z 2 a ) 2. Se () ( ) ent~ao (z ) ( ) p/ todo z 2 ( b] O intervalo de incerteza e reduzido eliminando-se o subintervalo a ) (ou ( b]) c PAVF 19 Busca unidimensional Raz~ao A urea E a soluc~ao do seguinte problema geometrico: := cb=ac = ac=ab ac a c b cb Logo, ac2 = cb ab, onde ac e obtido resolvendo-se ac ac 2 + ab ac ; ab2 = 0 =; ab q p 0 1 + 4ab2 = @ ;1 5 A ab 2 2 2 ab e a soluc~ao do problema e = ac=ab p ; 1 + = 2 5 ' 0 618 : A raz~ao aurea ' 0:618 era considerada na Antiguidade como a mais estetica para os lados de um ret^angulo O metodo da sec~ao aurea utiliza um esquema de reduc~ao do intervalo de incerteza baseado na raz~ao aurea c PAVF 20 Busca unidimensional Algoritmo Sec~ao Aurea p Escolha > 0, faca r := ( 5 ; 1)=2 = a + (1 ; r )d, = a + rd = f () y2 = f ( ) while (b ; a) > y1 if y1 > y2 then = = 2 = else = = 1 = a y b y end = y1 = y2 a + r (b ; a) f ( ) = y2 = y1 a + (1 ; r )(b ; a) f () end =( + ) 2 b a = Notas Se d1 := b ; a, d2 = b ; ou d2 = ; a, ent~ao d2=d1 = , d3 =d2 = , : : : . Em geral, dk +1 =dk = . O algoritmo converge linearmente com taxa ' 0:618 Observe que dN =d1 = N ;1. Para um intervalo nal dN dado, pode-se determinar o menor inteiro N tal que N d d1 N ;1 Exemplo: se d1 = 1 e dN = 0:01, ent~ao 0:01 (0:618)N ;1 implica N = 11 c PAVF 21 Busca unidimensional MATLAB function fi,alfa]=aurea(fun,I,tol) a=I(1) b=I(2) r=(sqrt(5)-1)/2 alfa=a+(1-r)*(b-a) beta=a+r*(b-a) y1=feval(fun,alfa) y2=feval(fun,beta) while (b-a)>tol if y1>y2 a=alfa alfa=beta y1=y2 beta=a+r*(b-a) y2=feval(fun,beta) else b=beta beta=alfa y2=y1 alfa=a+(1-r)*(b-a) y1=feval(fun,alfa) end end alfa=(b+a)/2 fi=feval(fun,alfa) function fi=f002(alfa) fi=exp(-alfa)+alfa^2 fi,alfa]=aurea('f002',-1 1],0.01) fi=0.8272 alfa=0.3506 4 3.5 ; e 3 + 2 2.5 2 1.5 1 0.5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 c PAVF 22 Metodos do Gradiente e Newton Metodo do Gradiente Assume-se que f 2 C 1. Por conveni^encia, num ponto qualquer xk 2 Rn g k := rf (xk ) Algoritmo Gradiente Otimo Escolha > 0 e x0. Calcule g0 = rf (x0) e faca k = 0 while k k k ( k; k = arg min >0 k+1 = k ; k k k+1 = r ( k+1) := + 1 end = k g f x x x g k x g k) g f x k x Notas O criterio de converg^encia kgk k < e muitas v^ezes inadequado. Na pratica, utilizam-se criterios mais realistas Algoritmo de maior descida: a cada iterac~ao minimizase f ao longo da direc~ao de maior descida, ;rf O algoritmo e globalmente convergente: converge para um mnimo local de f a partir de qualquer ponto inicial x0 c PAVF 23 Metodos do Gradiente e Newton Func~oes quadraticas Suponha que f (x) = (1=2)xT Qx ; bT x, onde Q = QT Neste caso, ( k ; gk ) = 12 (xk ; gk )T Q(xk ; gk ) ; > 0. f x ;( k; x g k )T b Derivando-se em relac~ao a , obtem-se o passo otimo k T k ( g ) g k = (gk )T Qgk e o algoritmo assume a forma explcita 2 kT k 3 k+1 = xk ; 4 (g ) g 5 g k x (gk )T Qgk g k = Qxk ; b Notas As superfcies de nvel de f s~ap o elipsoides, cujos eixos s~ao inversamente proporcionais a i i = 1 2 : : : n, onde i i = 1 2 : : : n s~ ao os autovalores (positivos) de Q Os autovetores de Q determinam as direc~oes dos eixos dos elipsoides e b produz uma translac~ao em relac~ao a origem c PAVF 24 Metodos do Gradiente e Newton Interpretac~ao do algoritmo 1 x x x 0 A taxa de converg^encia do algoritmo do gradiente depende da excentricidade dos elipsoides Teorema Seja f : Rn ! R, f 2 C 2. Suponha que a sequ^encia (xk ) gerada pelo algoritmo do gradiente otimo converge para x e que F (x ) > 0. Ent~ao k+1) ; f (x f (x ) M M ; m + m !2 f (xk ) ; f (x )] onde m M s~ao os autovalores mnimo e maximo de F (x ). O algoritmo do gradiente otimo converge linearmente com taxa n~ao superior a = M M ; m + m !2 c PAVF 25 Metodos do Gradiente e Newton Nota A taxa piora com o aumento da difer^enca entre M e m . Denindo r := M = m, = r ; 1 !2 r +1 e dependera de r, o numero de condic~ao de F (x ) Exemplo (Luenberger, pg. 219) 2 66 0:78 6 ;0:02 Q = 6 66 ;0:12 4 ;0 02 ;0 12 0 86 ;0 04 ;0 04 0 72 ;0 14 0 06 ;0 08 : : : : : : : : : 3 0:06 777 ;0:08 775 ;0 14 7 : 0:74 Sequ^encia gerada: k 0 1 2 3 4 5 6 ( k) 0:0000000 ;2:1563625 ;2:1744062 ;2:1746440 ;2:1746585 ;2:1746595 ;2:1746595 f x 2 3 0 :76 66 7 66 0:08 777 b = 6 64 1:12 775 0:68 c PAVF 26 Metodos do Gradiente e Newton Exemplo (cont) x 0 =0 x = (1:534965 0:1220097 1:975156 1:412954) Numero de condic~ao: r = M = m = 0:94=0:52 = 1:8 a taxa de converg^encia e (r ; 1)=(r + 1)]2 = 0:081 Cada iterac~ao reduz o erro por um fator maior do que 10 adiciona cerca de um dgito de precis~ao ao valor anterior Escalamento O desempenho do algoritmo e dependente da escolha das variaveis. Suponha T y = x, onde T e n~ao-singular Pode-se mostrar que a Hessiana de h(y) := f (T y) no ponto y = Tx e ( ) = T T F (x )T H y pode ser escolhida tal que H (y ) possua autovalores aproximadamente iguais, melhorando o desempenho do algoritmo T O escalamento proposto e difcil de implementar, pois pressup~oe algum conhecimento de x c PAVF 27 Metodos do Gradiente e Newton Metodo de Newton Uma func~ao f pode ser aproximada em torno de xk pela serie de Taylor truncada: ( ) ' f (xk ) + rf (xk )T (x ; xk ) + + 12 (x ; xk )T F (xk )(x ; xk ) f x O lado direito e minimizado em x k+1 = xk ; hF (xk )i;1 rf (xk ) Notas Generalizac~ao do metodo unidimensional n~ao envolve determinac~ao de passos otimos Sup~oe-se F (x ) > 0 num mnimo local x . Por continuidade, F (x) > 0 em torno de x e o algoritmo esta denido proximo de x Teorema Seja f 2 C 3 e assuma que F (x ) > 0 num mnimo local x de f . Ent~ao, se inicializada sucientemente proxima de x , a sequ^encia gerada pelo metodo de Newton converge para x com ordem de no mnimo 2 c PAVF 28 Metodos do Gradiente e Newton Introduc~ao do passo Minimizac~oes unidimensionais evitam que aos termos n~ao-quadraticos: k+1 = xk ; k x h f cresca devidos i ( k ) ;1 rf (xk ) F x onde k minimiza f na direc~ao num mnimo local) h i ( k ) ;1 rf (xk ) (k 1 F x Generalizac~ao x k+1 := xk ; M g k k g k = rf (xk ) Metodo do gradiente: Mk := I Metodo de Newton: Mk := F (xk )];1 Como f e diferenciavel em xk , ( k+1) f x = f (xk ) + rf (xk )T (xk+1 ; xk ) + o(kxk+1 ; xk k) = f (xk ) ; (gk )T Mk gk + o() Quando ! 0, a func~ao decresce se (gk )T Mk gk > 0 Condic~ao suciente: M k > 0 c PAVF 29 Metodos do Gradiente e Newton Notas := I Metodo do gradiente, converg^encia linear h k i;1 Mk := F (x ) Metodo de Newton, converg^encia quak M dratica proxima ao mnimo local h i Problema: num ponto qualquer, ( k ) ;1 pode n~ao ser denida positiva ou mesmo existir k M := h i ( k ) + k I ;1 F x k F x 0, estabelece um compro- misso entre os metodos do gradiente (k muito grande) e de Newton (k = 0) Algoritmo Newton Modicado Escolha > 0 e faca k = 0 while k k k g > 0 e x0. Determine g0, F0 = F (x0) k minimo t.q. m (Fk + k I ) > k ;1 k d = ;(Fk + k I ) g k k k = arg min f (x + d ) >0 k+1 = xk + dk , g k+1 = rf (xk+1), F k+1 x k k+1 = F (x ) end = x k x k := k + 1 c PAVF 30 Metodos do Gradiente e Newton Notas Com a modicac~ao, o metodo de Newton torna-se globalmente convergente, com converg^encia quadratica na vizinhanca de x Se for muito pequeno, (Fk + k I ) tornar-se proxima de singular. Se for muito grande, compromete-se a ordem de converg^encia 2 Determinac~ao de k e dk Dado k > 0, se (Fk + k I ) > 0, ent~ao existe uma matriz L triangular inferior com lii > 0 i = 1 2 : : : n tal que k + k I F = LLT Fatorac~ao de Choleski Caso contrario, aumenta-se k . Como LLT dk = direc~ao dk pode ser obtida da seguinte forma: ; k, a g 1. Resolva Ly = ;gk 2. Resolva LT dk = y Como os sistemas lineares s~ao triangulares, y e dk s~ao facilmente obtidos c PAVF 31 Metodos do Gradiente e Newton Relac~ao Newton-Gradiente Suponha F (xk ) > 0. Ent~ao Fatorac~ao de Choleski ( k );1 = LLT F x Denindo x := Ly, obtem-se h(y) := f (Ly). Se ent~ao yk = L;1xk e r ( k ) = T r ( k) = T r ( k) = h y L f Ly L f x x = xk , T k L g O metodo do gradiente aplicado a h com k = 1 leva a y k+1 = yk ; LT gk ou pre-multiplicando por L, x k+1 = xk ; F (xk );1g k Conclus~ao O metodo de Newton equivale ao metodo do gradiente com escalamento am de variaveis (x = Ly) c PAVF 32 Metodos de direc~oes conjugadas Direc~oes conjugadas Seja Q = Q T 2 Rnn. Dois vetores x y 2 Rn s~ao - ortogonais ou conjugados em relac~ao a , se Q T x Qy Q =0 Notas Se Q = I , ent~ao Q-ortogonalidade implica ortogonalidade fd0 d1 : : : dk g e Q-ortogonal se (di)T Qdj = 0 para i 6= j Teorema Se Q = QT > 0 e d0 d1 : : : dk s~ao vetores n~ao-nulos Qortogonais, ent~ao d0 d1 : : : dk s~ao linearmente independentes Aplicac~ao A soluc~ao (unica) x do problema minimizar 21 T x Qx ; T b x Q = QT > 0 satisfaz Qx = b. A soluc~ao x pode ser expressa atraves de b e de n vetores Q-ortogonais c PAVF 33 Metodos de direc~oes conjugadas Obtenc~ao de x Se d0 1 d 0 1 : : : ::: d n;1 x n;1 s~ao Q-ortogonais, ent~ao existem escalares tais que = 0d0 + 1d1 + + n;1dn;1 Pre-multiplicando a express~ao por obtem-se i T i T ( d ) Qx ( d ) b i = (di)T Qdi = (di)T Qdi i Q e depois por (di)T , =0 1 ::: n ;1 Portanto, x = nX ;1 i=0 2 iT 3 4 (d ) b 5 di (di)T Qdi Notas Usando apenas ortogonalidade (Q = I ), os i's cariam dependentes de x (desconhecido) Usando Q-ortogonalidade, os i's dependem de b (conhecido) e de quaisquer n ; 1 vetores Q-ortogonais Problema: na pratica n~ao e t~ao simples obter e trabalhar com um conjunto de vetores Q-ortogonais c PAVF 34 Metodos de direc~oes conjugadas Algoritmos Considere o problema de minimizar ( ) = 21 xT Qx ; bT x f x Q = QT > 0 a partir de x0 atraves de gradiente otimo. A taxa de converg^encia e func~ao de r = M = m Transformac~ao Dena D := d 0 ... d 1 ... ... n;1 d D 2 Rnn onde d0 d1 : : : dn;1 s~ao Q-ortogonais. Ent~ao D e n~ao-singular e a mudanca x := Dy leva a ( ) := f (Dy) = 12 yT (DT QD)y ; (DT b)T y h y Lema D T QD h = diag (d0)T Qd0 (d1)T Qd1 ::: (dn;1)T Qdn;1 i c PAVF 35 Metodos de direc~oes conjugadas Problema transformado minimizar n X ( ) = 21 q~iiyi2 ; ~biyi h y i=1 f := DT QD e ~b := a partir de y0 = D;1x0, onde Q problema e separavel em n problemas do tipo minimizar 12 ~ii i2 ; ~i q y b y D T b. O i Interpretac~ao A mudanca y = Dx elimina os termos cruzados de f , isto e, a rotac~ao dos elipsoides, colocando-os na posic~ao padr~ao x2 0 y2 y2 0 x2 y2 x2 x1 0 x1 x1 y1 0 y1 y1 As minimizaco~es individuais podem ser vistas como minimizac~oes nas direc~oes unitarias e0 e1 : : : en;1 c PAVF 36 Metodos de direc~oes conjugadas Procedimento Comecando em y0 = D;1x0, obtem-se o mnimo de h na direc~ao e0, isto e, ao longo de y0 + e0 2 R Determina-se y1 = y0 + 0e0. Minimiza-se h na direc~ao e1 a partir de y1 e assim sucessivamente ate se obter yn O procedimento converge para y em no maximo n passos. Como x = Dy, pre-multiplicando yk+1 = yk + k ek k = 0 1 : : : n ; 1 por D, obtem-se x k+1 = xk + dk k pois Dek = dk Minimizar h nas direco~es unitarias e equivalente a minimizar f nas dire co~es conjugadas Teorema (Algoritmo de direc~oes conjugadas) Sejam d0 d1 : : : dn;1 vetores n~ao-nulos Q-ortogonais. Para qualquer x0, a sequ^encia (xk ) gerada pelo algoritmo g k = Qxk ; b ! (gk )T dk ! = ; k (dk )T Qdk k+1 = xk + dk k x converge para a soluc~ao x de Qx = b em no maximo n passos c PAVF 37 Metodos de direc~oes conjugadas Teorema (Expanding Subspace Theorem) Seja x0 qualquer ponto inicial e (xk ) a sequ^encia gerada pelo algoritmo de direc~oes conjugadas. Ent~ao xk minimiza f (x) = (1=2)xT Qx ; bT x na variedade linear n Vk := 2 Rn : = 0 + span f x x e (gk )T di = 0 i =0 1 x ::: 0 d k 1 d ::: d k;1go ;1 Vk k x d g k k;1 k;1 x k;2 d k;2 x No algoritmo de direc~oes conjugadas, o gradiente corrente e ortogonal a todas as direco~es anteriores c PAVF 38 Metodos de direc~oes conjugadas Notas Os resultados anteriores se aplicam a qualquer conjunto de n vetores Q-ortogonais Uma das formas de se obter um conjunto Q-conjugado e adaptar o processo de ortogonalizac~ao de Gram-Schmidt Q-ortogonalizac~ao de Gram-Schmidt Seja Q = QT > 0 e fp0 p1 : : : pn;1g um conjunto LI. Ent~ao o conjunto fd0 d1 : : : dn;1g denido por d 0 = p0 k (pk+1)T Qdi X k i +1 k +1 d =p ; d i T i i=0 (d ) Qd e Q-ortogonal Notas Para n grande, n~ao e pratico calcular e armazenar um conjunto de direc~oes conjugadas Algortimos ecientes calculam iterativamente dk a partir de k;1. Apenas a direc~ao corrente e calculada e armazenada d c PAVF 39 Metodos de direc~oes conjugadas Algoritmo Gradientes Conjugados Escolha x0, dena d0 := ;g0 e faca k = 0 while k k k 6= 0 k T k ( k )T k k = ;( ) k+1 = k + k k k+1 = k+1 ; if ; 1 then k+1)T k ( k )T k=( k+1 = ; k+1 + k k end := + 1 end = k g g x x g Qx d = d Qd d b k < n d k x g Qd = d g k Qd d k x Notas A primeira iterac~ao e igual ao do algoritmo do gradiente: 0 0 d = ;g e o 0 e o passo otimo da direc~ao ;g0 A direc~ao conjugada corrente e uma combinac~ao linear do gradiente corrente e da direc~ao anterior Func~oes n~ao-quadraticas Uma quadratica denida positiva e uma boa aproximac~ao para f numa vizinhanca de um mnimo local estrito c PAVF 40 Metodos de direc~oes conjugadas Algoritmo Escolha > 0 e x0. Calcule g0 = rf (x0) while k 0k 0 =; 0 for = 0 : ; 1 k T k ( k )T ( k ) k k = ;( ) k+1 = k + k k+1 = r ( k+1) k , if ; 1 then k+1)T ( k ) k ( k )T ( k ) k=( k+1 = ; k+1 + k k end end 0 = n , 0 = r ( 0) end = 0 g d g k n g x x d = d d F x g d f x k < n d x x x g g F x g d = d F x d k d f x x Notas Converg^encia nita n~ao e assegurada. A direc~ao do gradiente e restaurada apos n passos Cada n passos resolvem um problema quadratico com gk rf (xk) e Q F (xk ) Como no metodo de Newton classico, buscas unidimensionais n~ao s~ao utilizadas k F (x ) precisa ser calculada em cada ponto. Converg^ encia global n~ao e garantida c PAVF 41 Metodos de direc~oes conjugadas Metodo de Fletcher-Reeves Substitui calculos de Hessianas por buscas unidimensionais Algoritmo Fletcher-Reeves Escolha > 0 e x0. Calcule g0 = rf (x0) while k 0k 0 =; 0 for = 0 : ; 1 ( k + k) k = arg min 0 k+1 = k + k k+1 = r ( k+1) k , if ; 1 then k+1)T k+1 ( k )T k k=( k+1 = ; k+1 + k k end end 0 = n , 0 = r ( 0) end = 0 g d g k n f x x x d d g f x k < n d x x x g g g g = g g d f x x Converg^encia global Garantida: a cada n passos, uma iterac~ao de gradiente e executada. Passos intermediarios n~ao aumentam o valor de f Converg^encia n-passos quadratica: cada n passos em torno de x equivalem a uma iterac~ao de Newton. c PAVF 42 Metodos quasi-Newton Motivac~ao Desenvolver metodos intermediarios entre os metodos do gradiente e Newton Como no metodo do gradiente, apenas o gradiente de f e necessario a cada iterac~ao Utilizam aproximaco~es da inversa da Hessiana de f , ao inves da Hessiana verdadeira Medidas da variac~ao do gradiente fornecem um modelo para f capaz de produzir converg^ encia superlinear Metodo classico x k+1 = xk ; k F (x )] rf (xk ) 0 ;1 k =0 1 ::: A Hessiana permanece igual a F (x0). A eci^encia do algoritmo depende de qu~ao rapido F (x) varia Construc~ao da inversa Seja f 2 C 2 e dena g(x) := rf (x), onde gi(x) = @ f (x)=@ xi. Como gi e diferenciavel, para dois pontos xk e xk+1, k+1) ' g (xk ) + rg (xk )T (xk+1 ; xk ) i i i (x g i =1 2 ::: n c PAVF 43 Metodos quasi-Newton Notando que rgi(xk )T e a i-esima linha de F (xk ), ( k+1) = g (xk ) + F (xk )(xk+1 ; xk ) g x Dena qk := g(xk+1) ; g(xk ) e pk := Hessiana fosse constante e igual a F , ent~ao q k k+1 x ; k . Se a x = F pk Sejam as matrizes h := h p0 0 Q := q P 1 p q 1 p q n;1 n;1 i i vetores pk LI's vetores qk associados n Ent~ao F e unicamente determinada como F = QP ;1 Notas Constroem-se sucessivas aproximac~oes Hk para F ;1 baseadas nos k primeiros passos do processo iterativo Se F fosse constante, Hk+1 deveria satisfazer Hk+1qi = i p i =0 1 ::: k Apos n passos (direc~oes) linearmente independentes, seria possvel obter Hn = F ;1 c PAVF 44 Metodos quasi-Newton Notas Para k < n, a matriz Hk que aproxima F ;1 pode ser obtida de varias maneiras Como F e F ;1 s~ao simetricas, deve-se impor que Hk tambem seja simetrica Correc~ao de rank 1 k+1 = Hk + ak z H k (z k )T onde ak e z k devem ser tais que Hk+1qi = pi (F constante). Para i = k, k p =01 i = Hk+1qk = Hk qk + ak z k (z k )T qk e pre-multiplicando por qk , (qk )T pk ; (qk )T Hk qk = ak (z k )T qk ]2 Logo, k k k k T ( p ; Hk q )(p ; Hk q ) Hk +1 = Hk + k T k2 ak (z ) q ] ::: k c PAVF 45 Metodos quasi-Newton Lembrando que pk ; Hk qk = ak z k (z k )T qk , obtem-se k k k k T ( p ; Hk q )(p ; Hk q ) Hk +1 = Hk + (qk )T (pk ; Hk qk ) Teorema = F T e p0 p1 : : : pk vetores dados. Dena qi := T i = 0 1 : : : k . Para qquer H0 = H0 , seja Seja i Fp F i i i i T ( p ; Hi q )(p ; Hi q ) Hi+1 = Hi + (qi)T (pi ; Hiqi) Ent~ao pi = Hk+1qi i =0 1 ::: k Notas O Teorema mostra que a recurs~ao tambem satisfaz Hk+1qi = i i = 0 1 : : : k para i < k . Converge para F ;1 em no p maximo n passos A correc~ao de rank 1 garante Hk+1 > 0 apenas se (qk )T (pk ; k Hk q ) > 0. Gera problemas num ericos se (qk )T (pk ; Hk qk ) for pequeno c PAVF 46 Metodos quasi-Newton Metodo de Davidon-Fletcher-Powell Baseado em correc~ao de rank 2: a cada iterac~ao a inversa e a soma de 2 matrizes de rank 1 Algoritmo DFP Escolha > 0, x0 e H0 = H0T faca k = 0 > 0. Calcule g0 = rf (x0) e while k k k k=; k k ( k + k) k = arg min 0 k+1 = k + k k if ; 1 then k+1 = r ( k+1) k = k+1 ; k , k= k k k k T k ( k )T k ( ) k = + ; k+1 k ( k )T k ( k )T k k = +1 else 0 = n , 0 = r ( 0 ), =0 end end g d H g x f x x d d k < n g q f x g H k x g p p H p d H q p q q f x k q H H q k x g Se Hk > 0, ent~ao Hk+1 > 0. Se F (x) = F , os pk 's s~ao ;1 F -ortogonais e Hn = F . Se F (x) = F e H0 = I , obtem-se o algoritmo dos gradientes conjugados c PAVF 47 Metodos Quasi-Newton Complementariedade Ao inves de se aproximar a inversa da Hessiana por k+1q H i = pi i =0 1 ::: (1) k e possvel aproximar a propria Hessiana atraves de q i = Bk+1pi i =0 1 ::: (2) k As formulas (1) e (2) s~ao complementares: a partir de (1), trocando-se H por B e q por p chega-se a (2), e vice-versa Atualizac~ao BFGS Se Hk e atualizada pela formula DFP, ent~ao B k k T B pk (pk )T B q (q ) k k = B + ; k+1 k (qk )T pk (pk )T B pk k conhecida como atualizac~ao Broyden-Fletcher-Goldfarb-Shanno da Hessiana Outra forma de obter uma atualizac~ao para H a partir de B e vice-versa e calculando a inversa c PAVF 48 Metodos Quasi-Newton Atualizac~ao da inversa Como Bk;1+1 satisfaz (2), realizando a inversa obtem-se BFGS Hk +1 0 k T k 1 pk (pk )T ( q ) Hk q A = Hk + @1 + (qk )T pk (pk )T qk ; k k T ; ( ) ( k +)T p q k k qk p H H q k (pk )T Notas DFP k+1 e HkBFGS s~ao simetricas, baseadas em correc~ao de +1 rank 2 e construdas a partir de pk e Hk qk BFGS do tipo Combinac~oes lineares de HkDFP +1 e Hk +1 H H = (1 ; )H DFP + H BFGS 2R s~ao da mesma natureza e constituem a classe Broyden Metodo Broyden: cada n passos utilizam um elemento da classe Broyden Converg^encia global Caractersticas similares ao dos metodos de direc~oes conjugadas com reinicializac~oes pelo gradiente a cada n passos c PAVF 49 Metodos Quasi-Newton MATLAB (fminunc) x,fval,exitflag,output]=fminunc(fun,x0,options) options Declaradas atraves da func~ao optimset. As opc~oes default de fminunc s~ao obtidas atraves de options=optimset('fminunc') ActiveConstrTol: DerivativeCheck: Diagnostics: DiffMaxChange: DiffMinChange: Display: GoalsExactAchieve: GradConstr: GradObj: Hessian: HessMult: HessPattern: HessUpdate: Jacobian: JacobMult: JacobPattern: LargeScale: LevenbergMarquardt: ] 'off' 'off' 0.1000 1.0000e-08 'final' ] ] 'off' 'off' ] 'sparse(ones(numberOfVariables))' 'bfgs' ] ] ] 'on' ] c PAVF 50 Metodos Quasi-Newton options (cont) LineSearchType: MaxFunEvals: MaxIter: MaxPCGIter: MeritFunction: MinAbsMax: Preconditioner: PrecondBandWidth: ShowStatusWindow: TolCon: TolFun: TolPCG: TolX: TypicalX: 'quadcubic' '100*numberOfVariables' 400 'max(1,floor(numberOfVariables/2))' ] ] ] 0 ] ] 1.0000e-06 0.1000 1.0000e-06 'ones(numberOfVariables,1)' Notas A func~ao fminunc suporta duas classes de problemas: Large Scale e Medium Scale. A instruc~ao options=optimset('LargeScale','off') informa a func~ao fminunc que metodos para problemas de medio porte devem ser usados Os metodos para medio porte s~ao do tipo quasi-Newton. Opc~oes: 'bfgs' (default), 'dfp' e 'steepdesc' c PAVF 51 Metodos Quasi-Newton Exemplo Minimizac~ao da func~ao de Rosenbrock: ( ) = 100(x1 ; x22)2 + (1 ; x1)2 f x x 2 R2 Func~ao .m function f=rsbrck(x) f=100*(x(1)-x(2)^2)^2+(1-x(1))^2 Metodo do gradiente x0=-1.9 2] options=optimset(options,'HessUpdate','steepdesc') x,fval,exit,outp]=fminunc('rsbrck',x0,options) Maximum number of function evaluations exceeded increase options.MaxFunEvals x = 0.5386 0.7324 fval = 0.2134 exit = 0 outp = iterations: 31 funcCount: 202 stepsize: 0.0509 firstorderopt: 0.6429 algorithm: 'medium-scale: Quasi-Newton line search' c PAVF 52 Metodos Quasi-Newton 3 2.5 2 Start Point 1.5 x2 Solution 1 0.5 0 −0.5 −1 −2 −1.5 −1 −0.5 0 0.5 1 x1 Notas A Hessiana da func~ao no ponto x = (1 1) e 2 802 F (x ) = 4 3 ;400 5 ;400 200 O numero de condic~ao de F (x ) e r :6 3 = M = 1001 = 2 :5 10 0:4 m A taxa de converg^encia do metodo e r ; 1 !2 r + 1 = 0:9984 1.5 2 c PAVF 53 Metodos Quasi-Newton Metodo DFP options=optimset(options,'HessUpdate','dfp') x,fval,exit,outp]=fminunc('rsbrck',x0,options) x = 1.0000 1.0000 fval = 1.7380e-09 exit = 1 outp = iterations: 23 funcCount: 144 stepsize: 1 firstorderopt: 0.0026 algorithm: 'medium-scale: Quasi-Newton line search' 3 2.5 2 Start Point 1.5 x2 Solution 1 0.5 0 −0.5 −1 −2 −1.5 −1 −0.5 0 x1 0.5 1 1.5 2 c PAVF 54 Metodos Quasi-Newton Metodo BFGS options=optimset(options,'HessUpdate','bfgs') x,fval,exit,outp]=fminunc('rsbrck',x0,options) x = 1.0000 1.0000 fval = 3.9222e-10 exit = 1 outp = iterations: 19 funcCount: 113 stepsize: 1.0001 firstorderopt: 0.0030 algorithm: 'medium-scale: Quasi-Newton line search' 3 2.5 2 Start Point 1.5 x2 Solution 1 0.5 0 −0.5 −1 −2 −1.5 −1 −0.5 0 x1 0.5 1 1.5 2