Tele clase 14 Optimización multidimensional
Ejemplo Halle la mínima distancia desde el punto (1,1,1) hasta el paraboloide elíptico z = 3x2 + 4y2
Ejemplo Halle la curva del tipo y = a + bekx que mejor se ajusta a un conjunto de datos experimentales (xi, yi) i = 1, 2,..., m
Ejemplo Determine los parámetros de operación de una fábrica para los cuales se logra la mayor eficiencia.
Notación z = f(u1, u2, ..., un) u1, u2, ..., un y z: Reales
Notación z = f(u1, u2, ..., un) u1, u2, ..., un y z: Reales
Notación z = f(u1, u2, ..., un) u1, u2, ..., un y z: Reales z = f(X)
Representación geométrica z = f(X) u2 u1
Representación geométrica z = k z = f(X) u2 u1
Representación geométrica z = k z = f(X) u2 u1
Representación geométrica z = k z = f(X) u2 f(X) = k u1
Cerca de un punto de máximo
Cerca de un punto de máximo z = 4 u1
Cerca de un punto de máximo z = 4 z = 8 u1
Cerca de un punto de máximo z = 4 z = 8 z = 12 u1
Cerca de un punto de máximo X* z = 4 z = 8 z = 12 u1
Unimodalidad Se dice que f(X) es linealmente unimodal con máximo en una región R si ella es unimodal con máximo en cualquier trayectoria recta X = X0 + V contenida en R
Unimodalidad u2 u1
Unimodalidad u2 V X0 u1
Unimodalidad u2 V X0 u1
Unimodalidad z max
Funciones cuadráticas
Funciones cuadráticas
Funciones cuadráticas
Funciones cuadráticas
Funciones cuadráticas
Funciones cuadráticas aij = aji
Funciones cuadráticas
Funciones cuadráticas Simétrica aij = aji
Funciones cuadráticas Simétrica aij = aji
Matriz definida positiva Sea A simétrica. A se llama definida positiva si para todo vector X no nulo se cumple que:
Matriz definida negativa Sea A simétrica. A se llama definida negativa si para todo vector X no nulo se cumple que:
Propiedades 1 Si A es definida positiva, la función cuadrática posee un punto X* de mínimo y se cumple que: AX* = B
Propiedades 1 Si A es definida negativa, la función cuadrática posee un punto X* de máximo y se cumple que: AX* = B
Propiedades 2 Si A es definida positiva o negativa, la función cuadrática es linealmente unimodal.
Ejemplo Analizar si A es definida positiva o negativa
Solución
Solución
Solución XTAX = – 6a2 – 8b2 + 10ab =
Solución XTAX = – 6a2 – 8b2 + 10ab = = - (6a2 -10ab + ) - 8b2 +
Solución XTAX = – 6a2 – 8b2 + 10ab = = - (6a2 -10ab + ) - 8b2 +
Solución XTAX = – 6a2 – 8b2 + 10ab = = - (6a2 -10ab + ) - 8b2 +
Solución XTAX = – 6a2 – 8b2 + 10ab = = - (6a2 -10ab + ) - 8b2 + < 0
Solución XTAX = – 6a2 – 8b2 + 10ab = = - (6a2 -10ab + ) - 8b2 + < 0 A es definida negativa
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo AX* = B
Ejemplo Punto de máximo AX* = B
Máximo en una dirección
Máximo en una dirección V X0 u1
Máximo en una dirección Datos: u2 V X0 f(X), X0, V, u1
Máximo en una dirección Datos: u2 V X0 f(X), X0, V, u1 Se supone que f(X) es linealmente unimodal con máximo.
Máximo en una dirección Datos: u2 V X0 f(X), X0, V, u1 Se supone que f(X) es linealmente unimodal con máximo. Se desea obtener, con una tolerancia , el valor que hace máxima la función f(X0 + V)
Procedimiento MaxUnidim 1 s:=1
Procedimiento MaxUnidim 1 s:=1 2 Reducir s a la mitad hasta que f(X0 + sV) > f(X) ó s < 0.1 Si s < 0.1 se supone que en la dirección de V no hay máximo.
Procedimiento MaxUnidim 3 Realizar búsqueda secuencial uniforme a partir de =0 con paso s en f(X0 + V) = F() hasta hallar un intervalo [min, max o llegar a 1000 pasos sin éxito
Procedimiento MaxUnidim 4 En el intervalo [min, max realizar búsqueda por bisección con hasta que L <
Procedimiento MaxUnidim 5 Tomar MaxUnidim := (min+ max)/2 ó MaxUnidim := -1 si el procedimiento no tuvo éxito
Búsqueda por coordenadas
Búsqueda por coordenadas A partir de X0 buscar en dirección de u1 y obtener X1
Búsqueda por coordenadas A partir de X0 buscar en dirección de u1 y obtener X1 A partir de X1 buscar en dirección de u2 y obtener X2
Búsqueda por coordenadas A partir de X0 buscar en dirección de u1 y obtener X1 A partir de X1 buscar en dirección de u2 y obtener X2 A partir de Xn-1 buscar en dirección de un y obtener Xn
Búsqueda por coordenadas A partir de X0 buscar en dirección de u1 y obtener X1 A partir de X1 buscar en dirección de u2 y obtener X2 A partir de Xn-1 buscar en dirección de un y obtener Xn X0 := Xn
Búsqueda por coordenadas A partir de X0 buscar en dirección de u1 y obtener X1 A partir de X1 buscar en dirección de u2 y obtener X2 A partir de Xn-1 buscar en dirección de un y obtener Xn X0 := Xn
Geométricamente u2 x* u1
Geométricamente u2 x* x0 u1
Geométricamente u2 x* x0 x1 u1
Geométricamente u2 x* x2 x0 x1 u1
Geométricamente u2 x* x2 x0 x0 x1 u1
Algoritmo
Algoritmo repeat
Algoritmo repeat lmax=0
Algoritmo repeat lmax=0 for i=1 to n
Algoritmo repeat lmax=0 for i=1 to n V := ei
Algoritmo repeat lmax=0 for i=1 to n V := ei l := MaxUnidim (f, Xi-1, V, e)
Algoritmo repeat lmax=0 for i=1 to n V := ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then
Algoritmo repeat lmax=0 for i=1 to n V := ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then V := -ei
Algoritmo repeat lmax=0 for i=1 to n V := ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e)
Algoritmo repeat lmax=0 for i=1 to n V := ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0
Algoritmo repeat lmax=0 for i=1 to n V := ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0 end
Algoritmo if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0 end
Algoritmo if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0 end
Algoritmo if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0 end Xi := Xi-1 + V
Algoritmo if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0 end Xi := Xi-1 + V if l > lmax then lmax = l
Algoritmo if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0 end Xi := Xi-1 + V if l > lmax then lmax = l end
Algoritmo if l < 0 then V := -ei l := MaxUnidim (f, Xi-1, V, e) if l < 0 then l := 0 end Xi := Xi-1 + V if l > lmax then lmax = l end X0 := Xn
Algoritmo Xi := Xi-1 + V if l > lmax then lmax = l end X0 := Xn
Algoritmo Xi := Xi-1 + V if l > lmax then lmax = l end X0 := Xn
Algoritmo Xi := Xi-1 + V if l > lmax then lmax = l end X0 := Xn until lmax <
Algoritmo Xi := Xi-1 + V if l > lmax then lmax = l end X0 := Xn until lmax < El punto de máximo es Xn
Algoritmo Xi := Xi-1 + V if l > lmax then lmax = l end X0 := Xn until lmax < El punto de máximo es Xn Terminar
Ejemplo Hallar el punto de máximo de la función: Con error menor que 0,001
Solución Tomemos
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
El vector gradiente
El vector gradiente Es un vector que señala la dirección en que f(X) tiene su mayor crecimiento
El vector gradiente Es un vector que señala la dirección en que f(X) tiene su mayor crecimiento u2 u1
El método del gradiente Se realizan búsquedas unidimensionales sucesivas en direcciones dadas por el vector gradiente
Algoritmo
Algoritmo Se supone que f(X) es diferenciable y linealmente unimodal con máximo.
Algoritmo Se supone que f(X) es diferenciable y linealmente unimodal con máximo. Se desea hallar el punto de máximo de f(X) con error menor que
Algoritmo Se supone que f(X) es diferenciable y linealmente unimodal con máximo. Se desea hallar el punto de máximo de f(X) con error menor que Datos: n, f, , X0,
Algoritmo
Algoritmo i := 0
Algoritmo i := 0 repeat
Algoritmo i := 0 repeat V := evaluado en Xi
Algoritmo i := 0 repeat V := evaluado en Xi Normalizar V
Algoritmo i := 0 repeat V := evaluado en Xi Normalizar V l := MaxUnidim (f, Xi, V, e)
Algoritmo i := 0 repeat V := evaluado en Xi Normalizar V l := MaxUnidim (f, Xi, V, e) Xi+1 := Xi + l V
Algoritmo i := 0 repeat V := evaluado en Xi Normalizar V l := MaxUnidim (f, Xi, V, e) Xi+1 := Xi + l V i := i + 1
Algoritmo i := 0 repeat V := evaluado en Xi Normalizar V l := MaxUnidim (f, Xi, V, e) Xi+1 := Xi + l V i := i + 1 until l < e
Algoritmo i := 0 repeat V := evaluado en Xi Normalizar V l := MaxUnidim (f, Xi, V, e) Xi+1 := Xi + l V i := i + 1 until l < e El punto de máximo es Xi
Algoritmo i := 0 repeat V := evaluado en Xi Normalizar V l := MaxUnidim (f, Xi, V, e) Xi+1 := Xi + l V i := i + 1 until l < e El punto de máximo es Xi Terminar
Geométricamente u2 x* u1
Geométricamente u2 x* x0 u1
Geométricamente u2 x1 x* x0 u1
Geométricamente u2 x1 x* x0 u1
Geométricamente u2 x1 x* x2 x0 u1
Ejemplo Hallar el punto de máximo de la función: Con error menor que 0,001
Solución
Solución
Solución Tomemos:
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Direcciones conjugadas
Direcciones conjugadas Sea A una matriz definida positiva o negativa.
Direcciones conjugadas Sea A una matriz definida positiva o negativa. Sean di y dj vectores de Rn.
Direcciones conjugadas Sea A una matriz definida positiva o negativa. Sean di y dj vectores de Rn. Las direcciones di y dj se llaman conjugadas (respecto a A) si diTA dj = 0
Ejemplo
Ejemplo
Ejemplo
Ejemplo XTAX = 3a2 + 4b2 + 4ab =
Ejemplo XTAX = 3a2 + 4b2 + 4ab = 2a2 + (a2 + 4ab + 4b2) =
Ejemplo XTAX = 3a2 + 4b2 + 4ab = 2a2 + (a2 + 4ab + 4b2) = 2a2 + (a + 2b)2
Ejemplo XTAX = 3a2 + 4b2 + 4ab = 2a2 + (a2 + 4ab + 4b2) = 2a2 + (a + 2b)2 > 0
Ejemplo Definida positiva XTAX = 3a2 + 4b2 + 4ab = 2a2 + (a2 + 4ab + 4b2) = 2a2 + (a + 2b)2 > 0
Ejemplo
Ejemplo
Ejemplo diTA dj =
Ejemplo diTA dj =
Ejemplo diTA dj =
Ejemplo diTA dj = = 0
Ejemplo diTA dj = Direcciones conjugadas = 0
Interpretación geométrica F(X) = XTAX
Interpretación geométrica u2 F(X) = XTAX u1 XTAX = k
Interpretación geométrica u2 F(X) = XTAX u1 XTAX = k
Interpretación geométrica u2 dj F(X) = XTAX di u1 XTAX = k
Interpretación geométrica u2 dj F(X) = XTAX di u1 XTAX = k
Principio de tangentes paralelas
Principio de tangentes paralelas u2 X* u1
Principio de tangentes paralelas u2 X* u1 P1
Principio de tangentes paralelas u2 X* d u1 P1
Principio de tangentes paralelas u2 X* d X1 u1 P1
Principio de tangentes paralelas u2 P2 X* d X1 u1 P1
Principio de tangentes paralelas u2 d P2 X* d X1 u1 P1
Principio de tangentes paralelas u2 d X2 P2 X* d X1 u1 P1
Principio de tangentes paralelas u2 d X2 P2 X* d X1 u1 P1
El método de Powell En una función cuadrática: Si se cuenta con un conjunto de n direcciones conjugadas, se llega a X* mediante n búsquedas unidimensionales sucesivas en esas direcciones.
El método de Powell En una función cuadrática: Si se realizan dos búsquedas unidimensionales a partir de dos puntos distintos en una misma dirección, el vector que une los óptimos alcanzados determina una dirección conjugada de la anterior.
Estrategia de Powell
Estrategia de Powell 1 Se comienza con un conjunto de direcciones d1, d2,..., dn
Estrategia de Powell 1 Se comienza con un conjunto de direcciones d1, d2,..., dn 2 Se halla X1 optimizando f en la dirección d1 a partir de X0
Estrategia de Powell 1 Se comienza con un conjunto de direcciones d1, d2,..., dn 2 Se halla X1 optimizando f en la dirección d1 a partir de X0 Se halla X2 optimizando f en la dirección d2 a partir de X1
Estrategia de Powell 1 Se comienza con un conjunto de direcciones d1, d2,..., dn 2 Se halla X1 optimizando f en la dirección d1 a partir de X0 Se halla X2 optimizando f en la dirección d2 a partir de X1 Se halla Xn optimizando f en la dirección dn a partir de Xn-1
Estrategia de Powell 3 Se halla un nuevo X0 optimizando f en la dirección Xn – X0 (Aceleración).
Estrategia de Powell 3 Se halla un nuevo X0 optimizando f en la dirección Xn – X0 (Aceleración). 4 Se elimina la dirección d1 y se introduce una nueva: Xn – X0 d1 := d2; d2 := d3 ...; dn:= Xn – X0
Estrategia de Powell 3 Se halla un nuevo X0 optimizando f en la dirección Xn – X0 (Aceleración). 4 Se elimina la dirección d1 y se introduce una nueva: Xn – X0 d1 := d2; d2 := d3 ...; dn:= Xn – X0 5 Regresar a 2
Geométricamente u2 d2 d1 X0 u1
Geométricamente u2 d2 d1 X0 X1 u1
Geométricamente u2 X2 d2 d1 X0 X1 u1
Geométricamente u2 X0 X2 d2 d1 X0 X1 u1
Geométricamente u2 d1 X0 d2 X2 d2 d1 X0 X1 u1
Geométricamente u2 d1 X0 d2 X2 d2 d1 X1 X0 X1 u1
Geométricamente u2 d1 X0 d2 X2 X2 d2 d1 X1 X0 X1 u1
Geométricamente u2 d1 X0 d2 X2 X2 d2 d1 X1 X0 X0 X1 u1
Geométricamente u2 d1 d1 X0 d2 X2 X2 d2 d2 d1 X1 X0 X0 X1 u1
Geométricamente u2 d1 d1 X0 d2 X2 X2 d2 d2 d1 X1 X0 X0 X1 u1
Algoritmo
Algoritmo Se supone que f(X) es linealmente unimodal con máximo.
Algoritmo Se supone que f(X) es linealmente unimodal con máximo. Se desea hallar el punto de máximo de f(X) con error menor que
Algoritmo Se supone que f(X) es linealmente unimodal con máximo. Se desea hallar el punto de máximo de f(X) con error menor que Datos: n, f, X0,
Algoritmo
Algoritmo for i = 1 to n di := ei end
Algoritmo for i = 1 to n di := ei end repeat
Algoritmo for i = 1 to n di := ei end repeat for i = 1 to n Xi := MaxBidirec (f, Xi-1, di) end
Algoritmo for i = 1 to n di := ei end repeat for i = 1 to n Xi := MaxBidirec (f, Xi-1, di) end for i = 1 to n - 1 di := di +1 end
Algoritmo for i = 1 to n - 1 di := di +1 end
Algoritmo for i = 1 to n - 1 di := di +1 end
Algoritmo for i = 1 to n - 1 di := di +1 end dn := Xn - X0
Algoritmo for i = 1 to n - 1 di := di +1 end dn := Xn - X0 dist := norma de dn
Algoritmo for i = 1 to n - 1 di := di +1 end dn := Xn - X0 dist := norma de dn dn := dn /dist
Algoritmo for i = 1 to n - 1 di := di +1 end dn := Xn - X0 dist := norma de dn dn := dn /dist X0 := MaxBidirec (f, Xi-1, di)
Algoritmo for i = 1 to n - 1 di := di +1 end dn := Xn - X0 dist := norma de dn dn := dn /dist X0 := MaxBidirec (f, Xi-1, di) until dist <
Algoritmo for i = 1 to n - 1 di := di +1 end dn := Xn - X0 dist := norma de dn dn := dn /dist X0 := MaxBidirec (f, Xi-1, di) until dist < El punto de máximo es X0
Algoritmo for i = 1 to n - 1 di := di +1 end dn := Xn - X0 dist := norma de dn dn := dn /dist X0 := MaxBidirec (f, Xi-1, di) until dist < El punto de máximo es X0 Terminar
Ejemplo Hallar el punto de máximo de la función: Con error menor que 0,001
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Ejemplo
Bibliografía Texto: Secciones: 6.4, 6.5, 6.6 y 6.7
Ejercicios recomendados Sección 6.5: 1 y 2 Sección 6.6: 1, 2 y 4 Sección 6.7: 1, 2 y 6