OPTIMIZACIÓN VECTORIAL Métodos de Búsqueda Directa Utilizan sólo valores de la función Métodos del Gradiente Métodos de Segundo Orden Requieren valores aproimados de la primera derivada de f) Además de utilizar la primera derivada también utilizan la segunda derivada de f)
OPTIMIZACIÓN VECTORIAL Métodos de Búsqueda Directa Utilizan sólo valores de la función Métodos del Gradiente Métodos de Segundo Orden Requieren valores aproimados de la primera derivada de f) Además de utilizar la primera derivada también utilizan la segunda derivada de f)
Métodos de búsqueda directa Son útiles cuando no se conoce el gradiente de la función Eisten técnicas: Heurísticas: El método del simple Teóricas: Método de las direcciones conjugadas de Powell Método Simple Geométricamente el elemento que requiere menos puntos para su construcción => Simple regular, que en dimensión N es un poliedro compuesto de N+ puntos equidistantes que forman sus vértices triángulo, tetraedro,...).
Método Simple X) X2) X3) Se sitúa un simple regular en el espacio de las variables independientes X) X2) X3) X4) El vértice con mayor valor de la función se refleja a través del centroide Este punto se utiliza para formar un nuevo simple Este procedimiento se repite hasta que se encuentre el mínimo o se encuentre uno de los siguientes casos:
Método Simple 2. El valor de la función en el peor punto y el punto reflejado sea el mismo. 2 3 En este caso se debe elegir el siguiente vértice que tenga el valor de la función más elevado 4 2. Cuando se llega a un ciclo En este caso se debe reducir el simple en un determinado factor y empezar el procedimiento a partir del simple nuevo 3. Criterio de terminación
Implementación del Método Simple Requiere de dos cálculos:. Generación de un simple regular de dimensión N, dado un punto base 0 y un factor de escala = + = + = N,,2, j i, j i δ j i δ 2 0) j 0) j i) j K α ) ) α + = δ α + + = δ 2 N N 2 N N N 2 2 2
Implementación del Método Simple 2 2. Cálculo del punto reflejado: Supongamos que j) es el punto que será reflejado. Entonces el centroide de los restantes N puntos será c = N N i= 0 i j Todos los puntos sobre la línea desde j) hasta c vienen dados por: = ) i j) j) + λ ) λ = 0 j) = λ = = c λ = 2 j) j) = 2 nueva c c anterior
Ventajas y desventajas del Método Ventajas. Cálculos simples y lógica no complicada 2. Los requerimientos de almacenamiento son bajos array de N+,N+2)) 3. Pocos parámetros de ajuste factor de escala y parámetros de terminación) Desventajas. Problemas de escala, todos los vértices utilizan la misma 2. El algoritmo es lento, no utiliza información pasada 3. No eiste una forma simple de epandir el simple sin calcular el patrón completo. Si α se reduce la búsqueda tiene que continuar con este tamaño de paso. α
Método del simple modificado Método de Nedler y Mead: no hay que mantener la regularidad del simple en el procedimiento de búsqueda: epansiones y contracciones. h) es el punto con mayor valor de la función, g) el siguiente punto más grande y l) el punto con menor valor de la función. El punto reflejado es: = h) + + θ) c - h) ) θ = => algoritmo original; θ = α - θ => contracción; θ = β = 0.5 θ > => epansión; θ = γ = 2 Se hace una refleión normal y se chequea por una contracción o epansión según las condiciones:
Método del simple modificado X h) X new X h) X new z a) Refleión normal: f l) ) < f new ) < f g) ) b) Epansión: f new ) < f l) ) X h) z X new X h) z X new c) Contracción: f g) ) < f new ) < f h) ) d) Contracción negativa: f new ) > f g) ) y f new ) f h) )
Direcciones conjugadas de Powell I) Se aproima la función objetivo por una función cuadrática. Si una función cuadrática de N variables puede transformarse en la suma de N cuadrados perfectos, el óptimo se encuentra con N búsquedas de una variable. q) = a + b T + /2 T C Hay que encontrar una matriz de transformación T tal que el término cuadrático sea diagonal: = Tz Q) = T C = z T T T C T z = z T D z Se está escribiendo el vector en un nuevo sistema de coordenadas t j, llamadas direcciones conjugadas. Sólo queda encontrar estas direcciones. = Tz = t z + t 2 z 2 +... + t n z n
Direcciones conjugadas de Powell II) Propiedad del subespacio paralelo: dada una función cuadrática q), dos puntos arbitrarios ) y 2) y una dirección d; si y ) es la solución al problema min q ) + λd) e y 2) es la solución de min q 2) + λd) entonces la dirección y 2) -y ) ) es C conjugada de d. ) y ) d Direcciones C-conjugadas: es un conjunto de vectores linealmente independientes que diagonalizan la matriz C, es decir: 2) y 2) S it C S j = 0 i j
Direcciones conjugadas de Powell III) Propiedad etendida del subespacio paralelo: 2) 3) e 2) 0) e ) ) Calcular: λ 0) mínimo f ) = 0) + λ 0) e ) λ ) mínimo f 2) = ) + λ ) e 2 ) λ 2) mínimo f 3) = 2) + λ 2) e ) s = 3) - ) es C-conjugada de e y e 2 Repetir procedimiento con e 2 y s
Direcciones conjugadas de Powell IV) Algoritmo:.- Definir 0) y un conjunto de direcciones independientes s i) = e i), i=,...,n 2.- Minimizar a lo largo de N+ direcciones usando el mínimo anterior y poner s N) como primera y última dirección de búsqueda 3.- Construir la nueva dirección conjugada 4.- Borrar s ), reemplazarla por s 2), etc. Poner la nueva dirección en s N) e ir al paso 2. Incluir: Un chequeo de convergencia Test para asegurar la independencia lineal de las direcciones conjugadas
Métodos de solución de problemas sin restricciones optimización vectorial) Métodos de Búsqueda Directa Utilizan los valores de la función Métodos del Gradiente Métodos de Segundo Orden Requieren valores aproimados de la primera derivada de f) Además de utilizar la primera derivada también utilizan la segunda derivada de f)
Métodos del Gradiente X +) = ) + α ) s ) ). Tamaño del paso del algoritmo: α ) 2. Vector de Dirección de búsqueda: s ) ) 3. Algoritmo del gradiente y método del Descenso más pronunciado
Significado Geométrico del vector gradiente Epansión en serie de Taylor de la función alrededor de * : f) = f * ) + f * ) f * ) es fijo por tanto el segundo término dictará el descenso de f) => s ) ) = - f ) )
Tamaño del paso del algoritmo 2 α f α) + d + ) = f αd ) min f + αd ) f + α ) puede ser constante método del gradiente) o calcularse en cada iteración de forma que f +) ) sea mínimo a lo largo de la dirección - f ) ) método del descenso más pronunciado) α α
Algoritmo del Método del Descenso más pronunciado. Selección de un punto inicial 0, e g. La iteración =0 2. Calcular f ). Parar si f ) e g. De lo contrario, definir el vector : s = s ) = - f ) 3. Obtener α de minimizar f α) = f + α s ). Actualizar + = + α s 4. = + y = +. Ir al paso 2. Inconveniente: Lentitud del algoritmo cerca del mímimo ya que f *) ) = 0.
Métodos de solución de problemas sin restricciones optimización vectorial) Métodos de Búsqueda Directa Utilizan los valores de la función Métodos del Gradiente Métodos de Segundo Orden Requieren valores aproimados de la primera derivada de f) Además de utilizar la primera derivada también utilizan la segunda derivada de f)
Método de Newton I) Consideramos la epansión de Taylor de la función objetivo: ) f ) = f + 2 ) )) T T 2 )) 3 + f + f O ) Hacemos una aproimación cuadrática de f) eliminando el término de tercer orden ~ f )) ) ; = f ) )) T T 2 ) + f + f ) El siguiente punto se calcula suponiendo que el gradiente de la aproimación cuadrática es igual a cero 2
Método de Newton II) Utilizamos la aproimación cuadrática de f) para construir una secuencia de iteración, forzando a +), como el siguiente punto en la secuencia. f ~ )) ) ; = f ) 2 ) + f ) = 0 De aquí que: = 2 f )) ) f ) + ) ) 2 ) = f ) ) f ) Método de Optimización de Newton
Método de Newton III) Método modificado de Newton: α ) es tal que f +) ) sea mínimo s ) ) = - [ 2 f ) )] - f ) ) Características: asegura la dirección descendente, pero la evaluación de [ 2 f ) )] - es difícil y puede ser singular. Método de Marquardt-Lavenberg: α ) =. s ) ) = - [ 2 f ) ) + λ ) I ] - f ) ) λ ) controla la dirección de búsqueda y mejora la singularidad de la Hessiana. Se chequea la dirección descendente, si f + ) < f ) => λ +) < λ ), si no se cumple: λ ) = βλ ) con β > y se repite el paso otra vez.
Método de Marquadt-Lavenberg Algoritmo:.- Definir 0, estima inicial de *, M el número máimo de iteraciones y ε criterio de convergencia. 2.- = 0. λ 0 = 0 4 3.- f ) < ε?. Si ir a 0, No continuar 4.- K M?. Si ir a 0. No: continuar 5.- Calcular s ) = - [ 2 f ) ) + λ ) I ] - f ) ) 6.- Hacer + = + s ) 7.- f + ) < f )?. Si ir a 8, No: ir a 9 8.- Hacer λ + = 0.5* λ ; = +; Ir a 3 9.- Hacer λ = 2*λ. Ir a 5 0.- Parar.
Método del gradiente conjugado Se calculan direcciones conjugadas utilizando el gradiente. Aproimando la función objetivo por una función cuadrática: q) = a + b T + /2 T C q) = g) = C + b g) = C s ) = - g ) + i=0 - γ i) s i) con s 0) = - g 0) γ i) se calculan tal que s sea C- conjugado a todas las direcciones anteriores calculadas: s 0, s,..., s - Varias soluciones: Fletcher- Reeves: s ) = - g ) + [g ) 2 / g -) 2 ] s - Pola y Ribiere: s ) = - f ) + γ s -) con γ = g ) T g ) / g - ) 2
Métodos de Quasi-Newton I) Se diseñan para tener las mismas características de los métodos de Newton pero usando sólo derivadas primeras. La dirección de búsqueda es: S = - A f ) con A métrica A se calcula de forma recursiva: A + = A + A c A c se calcula de forma que la secuencia A 0, A,..., A + aproime la inversa de la matri hesiana: H - = [ 2 f )] - Si la función es cuadrática la matri hessiana es C, por tanto se quiere aproimar: C - = β A + y que cumpla la propiedad cuadrática: = C - g
Métodos de Quasi-Newton II) = β A + g ; A c g = / β A g La solución es: Método de Davidon-Fletcher-Powell: y = y z = A g = T T T T c g z z g A g y y A β + = ) ) ) ) T T T T g A g A g g A g A A
Métodos de Quasi-Newton III) Conserva las propiedades de simetría y definida positiva => Si A 0 es simétrica y definida positiva, A, A 2,... También. => Una solución A 0 =I Método de Boyden-Fletcher-Shannon BFS) + = + T T T T T T g g g g I A g g I A ) ) ) ) ) )
Algoritmo general.- Definir M: número máimo de iteraciones, 0 estima inicial, ε : criterio de convergencia, ε 2 criterio de convergencia lineal. 2.- K=0 3.- Calcula f ) 4.- f ) ε.. Si => ir a 2. No => continuar 5.- K > M. Si => ir a 2. No => continuar 6.- Calcular s ) 7.- Encontrar un α / f + α s ) sea mínimo, usando ε 2 8.- Hacer + = + α s 9.- f + ) < f ). Si => continuar. No =>Ir a 2 0.- / ε.. Si => Ir a 2. No => continuar.- Hacer K=K+. Ir a 3 2.- Parar
Formas de calcular el gradiente Calcular el gradiente de forma numérica: ε ε ε ) ) * lim 0 f e f d df i i + = = ε ε ε ε 2 ) * ) * lim 0 i i i e f e f d df + = =
Ejemplo