26
Optimizaci´ on en Ingenier´ ıa Dr. Carlos A. Coello Coello Optimizaci´ on en Ingenier´ ıa Dr. Carlos A. Coello Coello Departamento de Computaci´ on CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco exico, D.F. 07300 email: [email protected] Clase No. 10 2008

Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Optimizacion en Ingenierıa

Dr. Carlos A. Coello Coello

Departamento de Computacion

CINVESTAV-IPN

Av. IPN No. 2508

Col. San Pedro Zacatenco

Mexico, D.F. 07300

email: [email protected]

Clase No. 10 2008

Page 2: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Primero, recordemos que por definicion, un conjunto de Cdirecciones conjugadas es un conjunto de vectores columna con lapropiedad de que la matriz T formada a partir de estas columnasdiagonaliza C:

TTCT = D (1)

Clase No. 10 2008

Page 3: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Alternativamente, puesto que todos los elementos fuera de ladiagonal de D son cero, esto significa que:

tTj Ctk =

dkk si j = k

0 si j 6= k(2)

donde ti es la i-esima columna de T.

Clase No. 10 2008

Page 4: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Por tanto, podemos ahora proporcionar una definicion masconvencional, equivalente y posiblemente mas util de direccionesconjugadas.

Direcciones Conjugadas

Dada una matriz simetrica C de N ×N , las direccioness(1), s(2), s(3), . . . , s(r); r ≤ N se dice que son C conjugadas si lasdirecciones son linealmente independientes, y

s(i)TCs(j) = 0 para toda i 6= j (3)

Clase No. 10 2008

Page 5: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

En este punto, conviene revisar rapidamente el concepto deindependencia lineal.

Un conjunto de vectores a1, a2, . . . , an es linealmentedependiente si existen escalares α1, α2, . . . , αn que sin ser todoscero, se cumple que:

n∑

i=1

αiai = 0 (4)

Clase No. 10 2008

Page 6: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

En este caso, al menos un vector puede escribirse como unacombinacion lineal de los otros. Por ejemplo:

a1 = λ2a2 + λ3a3 + . . . , λnan (5)

Si un conjunto de vectores no es dependiente, entonces debe serindependiente.

Clase No. 10 2008

Page 7: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Retomando nuestra discusion anterior, consideremos una vez masla funcion cuadratica general que vimos anteriormente:

q(x) = a+ bTx+12xTCx (6)

Los puntos a lo largo de la direccion d desde x(1) son:

x = x(1) + λd (7)

y el mınimo de q(x) a lo largo de d se obtiene encontrando λ∗ talque ∂q/∂λ = 0.

Clase No. 10 2008

Page 8: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

La derivada se calcula usando la regla de la cadena:

∂q

∂λ=∂q

∂x

∂x

∂λ= (bT + xTC)d (8)

Nuestra hipotesis es que el mınimo ocurre en y(1); por tanto,

[

(

y(1))T

C + bT]

d = 0 (9)

Clase No. 10 2008

Page 9: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Analogamente, puesto que el mınimo de q(x) a lo largo de d desdex(2) se obtiene en y(2), tenemos:

[

(

y(2))T

C + bT]

d = 0 (10)

Clase No. 10 2008

Page 10: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Restando la ecuacion (9) de la ecuacion (10), el resultado es:

(

y(2) − y(1))T

Cd = 0 (11)

Por tanto, de acuerdo a nuestra definicion, las direcciones d y(

y(2) − y(1))

son C conjugadas, y se ha podido verificar lapropiedad del subespacio paralelo de las funciones cuadraticas.

Clase No. 10 2008

Page 11: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

En la construccion previa, requerimos la especificacion inicial dedos puntos y una direccion para producir una sola direccionconjugada. Esto es muy engorroso desde el punto de vistacomputacional, pues serıa preferible generar las direccionesconjugadas desde un solo punto de inicio.

Clase No. 10 2008

Page 12: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Esto puede lograrse facilmente si usamos los vectores unitariose(1), e(2), e(3), . . . , e(N) de la manera siguiente (notese que semostrara el procedimiento para el caso bidimensional, pero laextension a N dimensiones debe resultar obvia).

Hagamos que e(1) = [1, 0]T y e(2) = [0, 1]T . Dado un punto inicialx(0), calcular λ(0) tal que f(x(0) + λ(0)e(1)) se minimice.

Clase No. 10 2008

Page 13: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Hagamos:

x(1) = x(0) + λ(0)e(1) (12)

y calculemos λ(1) de tal forma que f(x(1) + λ(1)e(2)) se minimice, yhagamos

x(2) = x(1) + λ(1)e(2) (13)

Clase No. 10 2008

Page 14: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Ahora calculamos λ(2), de forma que se minimice f(x(2) + λ(2)e(1)),y hagamos que:

x(3) = x(2) + λ(2)e(1) (14)

Entonces, las direcciones (x(3) − x(1)) y e(1) seran conjugadas.

Clase No. 10 2008

Page 15: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Para ver esto, refiramonos a la siguiente figura:

Clase No. 10 2008

Page 16: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Puede verse en esa figura que el punto x(1) se obtiene buscando a lolargo de e(1) desde x(0). Analogamente, x(3) se obtiene buscando alo largo de e(1) desde x(2). Consecuentemente, por la propiedad delsubespacio paralelo, las direcciones e(1) y (x(3) − x(1)) sonconjugadas.

Clase No. 10 2008

Page 17: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Ademas, si continuamos iterando con una busqueda a lo largo de(x(3) − x(1)), habremos buscado a lo largo de dos direccionesconjugadas, y puesto que suponemos que f(x) es una cuadraticabidimensional, obtendremos entonces el valor optimo x∗.

Notese, sin embargo, que la construccion anterior y la propiedad deconjugacion en la que se basa se plantearon en terminos de solo 2direcciones conjugadas.

Clase No. 10 2008

Page 18: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

No obstante, ambas cosas (la construccion y la propiedad deconjugacion) pueden extenderse facilmente a mas de dos direccionesconjugadas y, por ende, a un mayor numero de dimensiones.

En particular, es facil demostrar que si se encuentra y(1) desde x(1)

despues de buscar a lo largo de cada una de las M (< N)direcciones conjugadas y, similarmente, si se encuentra y(2) desdex(2) despues de buscar a lo largo de las mismas M direccionesconjugadas (s(1), s(2), s(3), . . . , s(M)), entonces el vector (y(2) − y(1))sera conjugado con respecto a todas las M direcciones previas.

Clase No. 10 2008

Page 19: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Esto se conoce como la propiedad extendida del subespacio paralelo.Usando esta extension, puede generalizarse la construccion antesmostrada a un numero mayor de dimensiones.

La figura del acetato siguiente muestra el caso tridimensional.

Clase No. 10 2008

Page 20: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Clase No. 10 2008

Page 21: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

En la construccion mostrada en la figura anterior, la busquedacomienza con las 3 direcciones coordenadas e(1), e(2) y e(3), y estasse reemplazan por direcciones conjugadas generadasposteriormente.

Partiendo de x(0) se efectua un ciclo de busquedas lineales a lolargo de e(3), e(1), e(2) y, nuevamente, e(3). Al concluir este ciclo, lasdirecciones e(3) y (x(4) − x(1)) seran conjugadas.

Clase No. 10 2008

Page 22: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

La nueva direccion de busqueda (indicada con un 4 en la figuraanterior) reemplaza ahora a e(1). Se ejecuta un nuevo ciclo debusquedas lineales usando las direcciones 4, e(2), e(3) y,nuevamente, 4.

Una vez mas, por la propiedad extendida del subespacio paralelo, lanueva direccion (x(8) − x(5)), indicada con 5 en la figura,sera conjugada no solo con respecto a 4, sino tambien con respectoa e(3).

Clase No. 10 2008

Page 23: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Por tanto, el conjunto de direcciones e(3), (x(4) − x(1)) y(x(8) − x(5)) son mutuamente conjugadas. Por tanto, si se efectuauna busqueda lineal adicional desde x(8), a lo largo de (x(8) − x(5)),se obtendra el punto x(9), el cual debe ser optimo si f(x) es unacuadratica de 3 dimensiones, puesto que hemos buscado en 3direcciones mutuamente conjugadas.

Clase No. 10 2008

Page 24: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Por tanto, podemos ver que en 3 dimensiones, se requieren 9busquedas lineales en las que solo se necesitan valores de la funcion,para determinar de manera exacta (asumiendo, por supuesto,aritmetica exacta) el optimo de una cuadratica.

La construccion puede generalizarse facilmente a N dimensiones, encuyo caso se requieren N2 busquedas lineales para optimizar unacuadratica.

Clase No. 10 2008

Page 25: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Lo interesante es que el metodo funciona aun en el caso de que lafuncion a optimizarse no sea cuadratica, aunque obviamente, serequeriran mas iteraciones en ese caso para lograr convergencia. Sinembargo, puede demostrarse que aun en este caso general se puededemostrar que el metodo convergera a un mınimo local.

Clase No. 10 2008

Page 26: Optimizaci´on en Ingenier´ıa - delta.cs.cinvestav.mx

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de las Direcciones Conjugadas de Powell

Algoritmo

Paso 1: Elegir un punto de inicio x(0), una tolerancia ε y un conjunto de N

direcciones linealmente independientes; posiblemente s(i) = e(i),

para i = 1, 2, 3, . . . , N .

Paso 2: Minimizar a lo largo de las N + 1 direcciones, usando el mınimo

previo para iniciar la siguiente busqueda y haciendo que s(N) sea

la primera y la ultima direccion explorada.

Paso 3: Formar una nueva direccion conjugada d usando la propiedad extendida

del subespacio paralelo.

Paso 4: IF ||d|| ≤ ε o las direcciones de busqueda no son linealmente

independientes THEN Terminar

ELSE hacer s(1) = s(2), s(2) = s(3), hasta s(N−1) = s(N)

Hacer s(N) = d/||d||. GOTO Paso 2.

Clase No. 10 2008