740 likes | 1k Views
Problemas de optimización Soluciones. Sabemos reconocerlas , y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes. 1. Soluciones de problemas de optimización. Métodos iterativos:
E N D
Problemas de optimizaciónSoluciones • Sabemos reconocerlas, y • calcularlas como soluciones de sistemas • de ecuaciones, o • de desigualdades • Buscamos métodos de cálculo • generales y • eficientes 1
Soluciones de problemas de optimización • Métodos iterativos: • No existen métodos directos generales • Se parte de un valor x0, y se genera una sucesión { xk }k=0 con la propiedad de que limkxk x* y x* cumpla algunas condiciones de extremo 2
Problema sin restricciones • Consideremos el problema minxf (x ) • Buscaremos un punto que cumpla f (x* ) = 0 • Si xk no cumple la condición, se genera otro punto a partir de f (xk+p ) = 0 3
Problema sin restricciones • Problema tan difícil como el original • Puede aproximarse: • Encontrar la solución de f (xk ) + 2f (xk )p = 0 • o resolver minp f (xk )Tp + ½pT 2f (xk )p 4
Problema sin restricciones • Interpretación gráfica del problema de optimización aproximado 5
Problemas sin restricciones • Método de Newton básico: 1) Partir de un valor inicial x0 2) Comprobar si f (xk ) < 3) Si no lo es, calcular un vector p a partir de 2f (xk )p = - f (xk ) 4) Obtener el siguiente punto como xk+1=xk +pk 6
Problema sin restricciones • Ejemplo: x1 min f (x ) (1+x12)(1+x22) • Punto inicial: x0 = [ -0.4 0.3 ]T • Solución: x* = [ -1 0 ]T 7
Problema sin restricciones • Método de Newton: 2.1) Gradiente: f (x0 ) = [0.573 0.174]T, f (x0 ) = 0.599 3.1) Dirección de movimiento: 1.335 -0.315 0.573 H0p0 = -g0 , p0 = - -0.315 0.485 0.174 -0.607 p0 = -0.754 8
Problema sin restricciones 4.1) Nuevo punto: x1 = x0 + p0 = [-1.007 -0.454]T 2.2) Gradiente: f (x1) = [-0.003 -0.312]T, f (x1) = 0.312 3.2) Dirección de movimiento: 0.406 -0.002 -0.003 0.011 p1 = - , p1 = -0.002 0.452 -0.312 0.690 4.2) Nuevo punto: x2 = x1 + p1 = [-0.996 0.236]T 9
Problema sin restricciones 2.3) Gradiente: f (x2) = [0.002 0.212]T, f (x2) = 0.212 3.3) Dirección de movimiento: 0.479 -0.001 -0.002 -0.004 p2 = - , p2 = -0.001 0.802 -0.212 -0.264 4.3) N. punto: x3 = x2 + p2 = [-1.000 -0.028]T 2.4) Gradiente: f (x3) = [-0.000 -0.028]T, f (x3) = 0.028 10
Problema sin restricciones • Dificultades del método de Newton: • No convergencia: • porque tiende a infinito, o • porque no existe solución del sistema de ecuaciones • Convergencia a máximos o puntos de silla 11
Problema sin restricciones • Procedimiento para converger a mínimos: • emplear segundas derivadas • direcciones de curvatura negativa • forzar el decrecimiento de la función objetivo • cerca de puntos de silla o máximos • modelos cuadráticos convexos relacionados 12
Problema sin restricciones • Procedimiento usual: descenso obligado • En cada iteración se define xk+1 = xk + k pk y se fuerza a que se cumpla: f (xk )Tpk < 0 f (xk + k pk ) - f (xk ) kf (xk )Tpk [ 10-4 , 0.1 ] 13
Problema sin restricciones • Cambios en el cálculo de p. Hace falta: • Asegurar que existe solución del sistema, y • garantizar que es dirección de descenso, f (xk )Tpk< 0 • Para ello bastaría con que 2f (xk ) d.p. 14
Problema sin restricciones • Método de Newton modificado. • Se resuelve el sistema de ecuaciones Mk pk = - f (xk ) donde Mk cumple que • Es definida positiva, y • se parece todo lo posible a 2f (xk ) 15
Problema sin restricciones • Construcción de la matriz Mk • Añadir un múltiplo de la identidad: Mk = 2f (xk ) + I - min(0 , min (2f (xk )) - ) • Todos los autovalores se modifican en la cantidad g 16
Problema sin restricciones • Construcción de la matriz Mk • Cambiar los autovalores de la matriz: 2f (xk ) = UUT, Mk = UUT, i = max( , i ) • se conservan los autovectores • Otros métodos: Choleski modificado, etc. 17
Problema sin restricciones x1 • Ejemplo: f (x ) (1+x1)2 (1+x2)2 -1.29 0.24 x0 = [ 0.5 -0.3 ]T, 2f (x0 ) = 0.24 -0.56 (2f (x0 )) = [ -1.36 -0.49 ] • Matriz definida negativa 18
Problema sin restricciones • Ejemplo: 0.08 0.24 Mk = Hk + I = Hk + 1.37I = 0.24 0.81 0.96 0.29 -1.36 0.96 -0.29 Hk = -0.29 0.96 -0.49 0.29 0.96 0.96 0.29 -1.36 0.96 -0.29 1.29 -0.24 Mk = = -0.29 0.96 -0.49 0.29 0.96 -0.24 0.56 19
Problema sin restricciones • Estos cambios no son suficientes • Posibilidad de diverger (converger a infinito) • Posibilidad de ciclos • Asegurar descenso en cada iteración • Búsqueda lineal: xk+1 = xk + k pk , k (0,1] 20
Problema sin restricciones • Cálculo de ak • Objetivo: en cada iteración el valor de f (xk) debe decrecer suficientemente. • Condición: f (xk + k pk ) f (xk ) + kf (xk )Tpk • Parámetro k (0,1) . En la práctica [ 10-4 , 0.1 ] 21
Problema sin restricciones • Procedimiento de cálculo de ak • Búsqueda hacia atrás: • Se prueba con ak = 1 • Si se cumple la condición, se acepta el valor • Si no, se prueba con ak /2 • Otros métodos: ajuste polinómico, etc. 22
Problema sin restricciones • Ejemplo de cálculo de ak • Tenemos los datos siguientes: x1 f (x ) = , x0 = [-0.5 -0.3]T, p0 = [-2 1]T (1+x12)(1+x22) • Información necesaria: f (x0 ) = -0.37 , f (x0 ) = [ 0.44 -0.20 ]T f (x0 )Tp0 = -1.08 , = 0.1 23
Problema sin restricciones • Iteración 1. a = 1 f (x0 + p0) = -0.231 , f (x0 ) + f (x0 )Tp0 = -0.48 • Iteración 2. a = 0.5 f (x0 + p0) = -0.444 , f (x0 ) + f (x0 )Tp0 = -0.43 • Aceptamos a = 0.5 x1 = x0 + 0.5p0 = [ -1.5 0.2 ]T 24
Problema sin restricciones x1 • Ejemplo: f (x ) (1+x12)(1+x22) x0 = [ 0.5 -0.3 ]T • Iteración 1.1 ¿Es el punto actual solución? f (x0 ) = [0.440 0.202]T, f (x0 ) = 0.4845 25
Problemas sin restricciones • Iteración 1.2. Dirección de movimiento -1.29 0.24 1.29 -0.24 H0 = , M0 = 0.24 -0.56 -0.24 0.56 M0 p0 = - g0 p0 = [ -0.444 -0.551 ]T • Iteración 1.3. Cálculo de la longitud de paso f (x0 ) = 0.367, f (x0 )Tp0 = -0.307, f (x0 + p0 ) = 0.032 f (x0 ) + f (x0 )Tp0 = 0.336 > f(x0 + p0 ) 0 = 1 26
Problema sin restricciones • Iteración 1.4. Nuevo punto x1 = x0 + 0 p0 , x1 = [0.5 -0.3]T + [-0.444 -0.551]T = [0.056 -0.851]T • Iteración 2.1 ¿Es solución el último punto? f (x1 ) = [0.575 0.032]T, f (x1 ) = 0.576 • Iteración 2.2. Dirección de movimiento -0.19 0.57 0.59 -0.10 H1 = , M1 = 0.57 -0.06 -0.10 0.56 M1p1 = - g1 p1 = [ -1.011 -0.234 ]T 27
Problema sin restricciones • Iteración 2.3. Longitud de paso f (x1 ) = 0.032, f (x1 )Tp1 = -0.589, f (x1 + p1 ) = -0.230 f (x1 ) + f (x1 )Tp1 = -0.027 > f(x1 + p1 ) 1 = 1 • Iteración 2.4. Nuevo punto x2 = x1 + 1 p1 , x2 = [0.06 -0.85]T + [-1.01 -0.23]T = [-0.95 -1.08]T 28
Problema sin restricciones • Método de Newton modificado. Maximización • Paso 0. Determinar un punto inicial, x0 • Paso 1. Comprobar si xk es solución f (xk ) < • Paso 2. Calcular la dirección de movimiento • Paso 2.1. Calcular los valores propios de Hk = 2f (xk ) • Paso 2.2. Si Hk es definida negativa, Mk = Hk si no, Mk = Hk - gI , por ejemplo 29
Problema sin restricciones • Paso 2.3. Resolver el sistema de ecuaciones Mk pk = - f (xk ) • Paso 3. Calcular la longitud de paso • Paso 3.1. Para a = 1 comprobar si se cumple f (xk + k pk ) f (xk) + kf (xk )Tpk • Paso 3.2. Si no se cumple, probar con a/2 hasta que se cumpla. • Paso 4. Calcular el nuevo punto xk+1 = xk + k pk 30
Problema sin restricciones • Convergencia del método de Newton • ¿Converge la sucesión { xk} ? • ¿Qué propiedades tienen sus límites? limkxk • La sucesión puede divergir si: • Función objetivo no acotada inferiormente • Función objetivo decrece monótonamente 31
Problema sin restricciones • Condición habitual de acotación • El conjunto S0 es compacto S0 = { y : f (y ) f (x0 ) } • Todos los puntos xk pertenecen a S0 • Existen subsucesiones convergentes • Propiedades de los puntos límite • No podemos asegurar que sean mínimos 32
Problema sin restricciones • Propiedades de puntos límite • Al menos, debiéramos esperar que cumplan f (x* ) = 0 • Demostración de convergencia • De la condición sobre f (xk + k pk ) f (xk ) + kf (xk )Tpk en el límite kf (xk )Tpk 0 33
Problema sin restricciones • Demostración de convergencia (ii) • Definición de pk y propiedades de Mk Mk pk = - f (xk ) f (xk )Tpk = - f (xk )TMk-1f (xk ) f (xk )Tpk - f (xk ) 2 • De la condición anterior tenemos k f (xk ) 2 0 34
Problema sin restricciones • Demostración de convergencia (iii) • La longitud de paso k no puede ir a cero • Desarrollo en serie de Taylor 0 (k ) - (0) - k ’ (0) = (1-)k ’ (0) + ½k2’” (0) + o(k2) k - ((1-)k ’ (0) + o(k ))/(½’” (0)) • Por tanto, f (xk ) 0 35
Restricciones de igualdad • Problema con restricciones de igualdad: minxf (x ) s.a c (x ) = 0 • Condiciones necesarias: c (x ) = 0 f (x) - c (x)T = 0 36
Restricciones de igualdad • Problema similar al caso sin restricciones • Resolución de un sistema de ecuaciones no lineales • Sistema en x y l • Aproximación del sistema mediante sistemas de ecuaciones lineales • O bien, aproximación mediante soluciones de problemas de optimización cuadráticos 37
Restricciones de igualdad • Dado un punto (xk ,lk ) • aproximación a las condiciones necesarias: c (xk ) + c (xk )pk= 0 f (xk ) + 2L (xk ,k )pk - c (xk )Tk - c (xk )Tk= 0 o bien (sistema KKT ), 2L (xk ,k ) c (xk )Tpk L (xk ,k ) = - c (xk ) 0 - kc (xk ) 38
Restricciones de igualdad • Método de Newton básico: • Paso 0. Se parte de un punto (x0 , l0 ) • Paso 1. Se comprueba si es solución, c (xk ) + f (xk ) - c (xk )Tk < • Paso 2. Se resuelve el sistema lineal (KKT ) para calcular (pk , lk ) • Paso 3. Se actualizan las variables xk+1 = xk + pk , k+1 = k + k 39
Restricciones de igualdad • El sistema (KKT ) se puede reescribir como Ak AkTpY= - ck ZkTHk ZkpZ = - ZkTgk - ZkTHk AkTpY pk = ZkpZ + AkTpY AkTk= gk + Hkpk - AkTk donde Hk 2L (xk ,k ), Ak c (xk ), gk f (xk ), ck c (xk ) 40
Restricciones de igualdad • Modificación de dirección de movimiento • Mejorar la función objetivo, y • Cumplimiento de las restricciones • No es posible siempre mejorar ambas • Por ejemplo: • Punto inicial: mínimo sin restricciones • Siempre es posible cumplir las restricciones • Prioridades: • Cumplir las restricciones • Mejorar la función objetivo 41
Restricciones de igualdad • Comportamiento respecto a restricciones • Definimos una medida de mejora (x ) : (x ) c (x) 2 , (x ) = 2 c (x )Tc (x) Ak pk= - ck kTpk = - 2 ck 2 • psiempre dirección de descenso de restricciones • Comportamiento respecto a función objetivo • Modificar p en lo que respecta a mejorar f • Sin afectar a la mejora de (x )
Restricciones de igualdad • Separar las componentes de p : • Componentes mejora de las restricciones: • Movimiento normal a restricciones: c (xk)TpY • Componentes mejora de la función objetivo: • Movimiento tangente a las restricciones: Zk pZ • Método de Newton modificado: • Matriz ZkTHkZk debiera ser definida positiva • Objetivo: descenso en el valor de la función objetivo 43
Restricciones de igualdad • Efecto de la modificación de ZkTHkZk : • Sistema a resolver: Ak AkTpY= - ck Mk pZ = - ZkTgk - ZkTHk AkTpY pk = ZkpZ + AkTpY • Descenso en la función objetivo: gkTpk= gkTZkpZ + gkTAkTpY = -pZTMk pZ -pZTZkTHk AkTpY + gkTAkTpY • Descenso si ck = 0
Restricciones de igualdad • Búsqueda lineal: punto siguiente dado por xk+1 = xk + k pk k+1 = k + k k • Para calcular k hace falta una medida de progreso a la solución • Progreso a la solución: • Reducción en el valor de f, y • mejora en cumplimiento de restricciones 45
Restricciones de igualdad • Medida de cumplimiento de restricciones: c (x) • Idealmente, descenso en f y mejora en c • Si no se dan ambas condiciones, por ejemplo c (xk +1) > c (xk ) , f (xk +1) < f (xk ) • Se busca un compromiso entre ambas 46
Restricciones de igualdad • Compromiso más simple: sumar valores • Inconveniente: cambios de escala • Se añade un parámetro para corregir escala • Función de penalización exacta: mE (x ) = f (x ) + c (x) • Propiedad importante: • Mínimo de mE debe ser mínimo del problema 47
Restricciones de igualdad • Propiedad teórica (penalización exacta): • Existe un valor tal que para todo la función mE tiene un mínimo en el mínimo del problema de optimización • Valor de , para *multiplicador en la solución = * • Inconveniente: la función mE no es diferenciable en todos los puntos 48
Restricciones de igualdad • Funciones diferenciables • Alternativa: la función lagrangiana tiene primera derivada igual a cero en la solución • La condición de segundo orden no se cumple • Se añade término de penalización cuadrático mA (x,) = f (x ) - Tc (x ) + ½ c (x) 2 • Propiedad: existe tal que los mínimos de mA y el problema coinciden 49
Restricciones de igualdad • Función de mérito: • Medida de compromiso entre f y c cuyo mínimo sea solución del problema • Combinación de valores de f y c o sus derivadas • Ejemplos: mE, mA , otras 50