Funciones de mérito José Francisco Tudón Maldonado Mario Roberto Urbina Núñez 9 de abril de 2011 1. Introducción Las funciones de mérito surgen para determinar en un algoritmo que resuelve un problema de optimización si el siguiente iterando es mejor o peor que la iteración anterior en el sentido de acercarse más a la solución, en el caso de ecuaciones no lineales. En optimización no lineal con restricciones se busca balancear entre violar las restricciones y acercarse más a la solución. La función de mérito es una función de x donde se obtiene un escalar que determina cuál es la mejor iteración. Funciones de Mérito en Ecuaciones No Lineales En ecuaciones no lineales las funciones de mérito más utilizadas son las siguientes: n 1 1X 2 f (x) = kr(x)k2 = r (x) 2 2 i=1 i f (x) = kr(x)k1 = n X |ri (x)| i=1 Funciones de Mérito en Optimización con Restricciones En optimización sin restricciones la función de mérito es la función objetivo. Incluso en optimización con restricciones la función de mérito es la función objetivo si la solución inicial y todos los iterandos siguientes satisfacen las restricciones. En el caso donde se violan las condiciones, una función de mérito popular es la siguiente: 1 φ1 (x; µ) = f (x) + µ X |ci (x)| + µ i∈E X |ci (x)|− i∈I Donde [z] = max {0, −z} . El escalar positivo µ es el parámetro de penalización que nos indica la importancia de satisfacer la restricción relativa a la minimización. Otra elección es el Lagrangeano aumentado de Fletcher que es el siguiente: − 1 X φF (x; µ) = f (x) − λ(x)T c(x) + µ c2i (x), 2 i∈I −1 conλ = A(x)A(x)T A(x)∇f (x), µ > 0 y donde A(x) es el Jacobiano de c(x). Existen algoritmos basados en funciones de mérito que convergen rápidamente saltando pasos que progresan muy bien a la solución. Esto se conoce como el efecto Maratos. Efecto Máratos El efecto Maratos sucede si en algunos algoritmos basados en las funciones de mérito y ltros pueden fallar de converger rápidamente, porque rechazan pasos que hacen buenos progresos hacia la solución. En el siguiente ejemplo los pasos pk , donde se obtendría convergencia cuadrática si se aceptara, este rechazo causa incremento de la función objetivo y en la violación de la restricción. La Figura 1 es la gráca de la siguiente función: mı́n f (x1 , x2 ) = 2(x21 + 2 x2 − 1) − x1 . s.a. x21 + x22 − 1 = 0. La solución es x∗ = (1, 0)T , el multiplicador de Lagrange es λ∗ = 1.5 y el Hessiano es la identidad. En la gráca se muestra que debido a la función de mérito, la gráca no converge al óptimo y viola las restricciones en el paso xk+1 = xk + pk . Funciones de Mérito en Programación Cuadrática Sucesiva En SQP se utilizan para aceptar o rechazar el paso de prueba. Para la evaluación de la función de mérito las restricciones de desigualdad c(x) ≥ 0 se convierten en la siguiente manera: _ c(x, s) = c(x) − s = 0, con s ≥ 0 vector de holgura. Entonces la función de mérito es la siguiente: 2 Figura 1: Efecto Máratos 3 φ1 (x; µ) = f (x) + µ kc(x)k1 . En los métodos de búsqueda lineal, el paso αk pk se aceptará si la siguiente condición suciente de decrecimiento se cumple: φ1 (xk + αk pk ; µk ) ≤ φ1 (xk ; µk ) + ηαk D (φ1 (xk ; µ); pk ) , η ∈ (0, 1) D (φ1 (xk ; µk ); pk ) es la derivada direccional en dirección en pk y pk es dirección de descenso si D (φ1 (xk ; µ); pk ) < 0. Esto se sostiene para µ sucientemente grande. Se verá en el siguiente teorema. 2. El Teorema Teorema 1 (Teorema 18.2 de Nocedal-Wright). por la k -ésima pk dirección de Sean pk y λk+1 generadas iteración SQP. Entonces la derivada direccional de φ1 en la satisface: D(φ1 (xk ; µ); pk ) = ∇fkT pk − µ||ck ||1 . Además, se cumple que D(φ1 (xk ; µ); pk ) ≤ −pTk ∇2xx Lk pk − (µ − ||λk+1 ||∞ )||ck ||1 . Para que el lector recuerde: Denición 2 (Derivada direccional). Sean x, u ∈ Rn y f : Rn → R, entonces la derivada direccional de f en la dirección de u, con ||u|| = 1 es: ∇u f (x) = limh→0 f (x + hu) − f (x) . h Si f es diferenciable en x, ∇u f (x) = ∇f (x)T u. Demostración del Teorema 18.2 Primero, le aplicamos el teorema de Taylor a f y a ci para encontrar una cota superior a φ1 (xk + αp; µ) − φ1 (xk ; µ). Sabemos que, para t ∈ (0, 1): α2 pT ∇2 f (xk + tαp)p 2 T 2 2 ≤ α∇fk p + γ1 α ||p|| , f (xk + αp) − fk = α∇fkT p + 4 para alguna constante γ1 . Similarmente, para cada i = 1, ..., m: α2 pT Hi (xk + tαp)p 2 2 ≤ ci,k + αAi,k p + γi,2 α ||p||2 , ci (xk + αp) = ci,k + αAi,k p + donde γi,2 es otra constante. Nótese que: ||c(xk + αp)||1 ≤ ||ck + αAk p + γ2 α2 ||p||2 ||1 ≤ ||ck + αAk p||1 + ||γ2 α2 ||p||2 ||1 . Denimos ahora γ20 = ||γ2 ||1 . Por lo tanto, φ1 (xk + αp; µ) − φ1 (xk ; µ) = f (xk + αp) − fk + µ|c(xk + αp)| − µ|ck | ≤ α∇Tk p + µ|ck + αAk p| − µ|ck | + γα2 ||p||2 , donde γ = γ1 + γ20 . Si consideramos que p = pk , donde pk es tal que Ak pk = −ck , entonces, para α ≤ 1: φ1 (xk + αp; µ) − φ1 (xk ; µ) ≤ α ∇fkT pk − µ|ck | + α2 γ||pk ||2 . Del mismo modo, también podemos construir una cota inferior, concluyendo que: α ∇fkT pk − µ|ck | − α2 γ||pk ||2 ≤ φ1 (xk + αp; µ) − φ1 (xk ; µ) ≤ α ∇fkT pk − µ|ck | + α2 γ||pk ||2 . Dividiendo entre α y sacando el límite → 0, se obtiene el resultado: limα→0 φ1 (xk + αp; µ) − φ1 (xk ; µ) = ∇fkT pk − µ|ck |. α Como la p = pk , es la misma que en: ∇2xx Lk −ATk Ak 0 pk λk+1 podemos substituir: 5 = −∇fk −ck , D(φ1 (xk ; µ); pk ) = ∇fkT pk − µ|ck | = −pTk ∇2xx Lk pk + pTk ATk λk+1 − µ|ck | = −pTk ∇2xx Lk pk − cTk λk+1 − µ|ck | ≤ −pTk ∇2xx Lk pk − |ck ||λk+1 |∞ − µ|ck | 3. Consecuencias del Teorema Como D (φ1 (xk ; µ); pk ) ≤ −pTk ∇2xx Lx − (µ − kλk+1 k∞ ) kck k1 , entonces pk es una dirección de descenso si µ > kλk+1 k∞ . Una manera de obtener µ de φ1 (xk ; µk ) para cada iterando es la siguiente: D (φ1 (xk ; µ); pk ) = ∇fkT pk − µ kck k1 ≤ −ρµ kck k1 , para alguna ρ ∈ (0, 1). La desigualdad se sostiene si µ≥ ∇fkT pk . (1 − ρ) kck k1 Alternativamente... Una estrategia más efectiva para seleccionar a µ, que sirve para búsqueda lineal y región de conanza, considera el efecto del paso en un modelo de la función de mérito. Se dene un modelo cuadrático de φ1 como: qµ (p) ≡ fk + ∇fkT p + σ T 2 p ∇xx Lk p + µm(p), 2 donde m(p) ≡ |ck + Ak p|, y σ está por denirse. Después de computar pk , se escoge el parámetro µ tan grande como para hacer que qµ (0) − qµ (pk ) ≥ ρµ [m(0) − m(p)] , 6 para algún ρ ∈ (0, 1). Se sigue que µ≥ ∇fkT pk + σ2 pTk ∇2xx Lk pk . (1 − ρ)|ck | Por lo tanto, si el valor de µ de iteración anterior satisface la desigualdad, no se cambia. De otro modo, µ se incrementa a discreción para que la satisfaga. La constante σ sirve para manejar los casos en donde ∇2xx Lk no es positiva denida. Si denimos σ≡ 1 si pTk ∇2xx Lk pk > 0 0 e.o.c. se verica que si µ satisface la desigualdad, σ asegura que pk sea una dirección de descenso para φ1 . Sin embargo, no siempre se cumple si σ = 1 y pTk ∇2xx Lk pk < 0. Cuando σ > 0, la ésta estrategia escoge una mayor µ, poniendo más peso en la reducción de las restricciones. Ésta propiedad es ventajosa si el paso decrece las restricciones pero incrementa el objetivo, ya que en éste caso, el paso tendría más probabilidad de ser aceptado por la función de mérito. 7