57
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. 9 2007

Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 2: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 3: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

Hagamos:

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

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

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

Clase No. 9 2007

Page 4: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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) (3)

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

Clase No. 9 2007

Page 5: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 6: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 7: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 8: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 9: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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 puede generalizarse a un numero mayor de dimensiones.

La figura del acetato siguiente muestra el caso tridimensional.

Clase No. 9 2007

Page 10: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

Clase No. 9 2007

Page 11: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 12: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 13: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 14: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 15: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 16: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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. 9 2007

Page 17: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

Si la funcion a resolverse con este metodo es cuadratica, serequieren exactamente (N − 1) ciclos a traves de los pasos del 2 al4. Puesto que a cada iteracion de este algoritmo se requieren(N + 1) busquedas unidireccionales, son necesarias (N2 − 1)busquedas en total para encontrar las N direcciones conjugadas.

Clase No. 9 2007

Page 18: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

Posteriormente, se requiere una busqueda unidireccional final paraobtener el punto mınimo. Por tanto, para encontrar el mınimo deuna funcion objetivo cuadratica, el metodo de las direccionesconjugadas requiere un total de N2 busquedas unidireccionales.Para otro tipo de funciones, el algoritmo puede requerir masiteraciones.

Clase No. 9 2007

Page 19: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

Una dificultad con este algoritmo es que, debido a que se usanmetodos aproximados para estimar los mınimos en cada direccion,el error acumulado de las diferentes busquedas realizadas puedehacer que nuestro resultado final no sea exacto. Por ende, lasdirecciones resultantes pueden no ser exactamente conjugadas entresı. Para calcular el valor de esta desviacion, suele verificarse laindependencia lineal de las direcciones conjugadas.

Clase No. 9 2007

Page 20: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

Si se encontrara que las direcciones de busqueda no son linealmenteindependientes, entonces podrıa crearse un conjuntocompletamente nuevo de direcciones de busqueda en el puntoactual. Para hacer mas simple la implementacion, pueden usarse lasdirecciones coordenadas nuevamente como direcciones de busquedaen el punto actual.

Clase No. 9 2007

Page 21: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

Como puede verse en el algoritmo, este metodo puede ser bastantecostoso (computacionalmente hablando), debido a la cantidad debusquedas unidireccionales necesarias por cada iteracion. Enterminos de uso de memoria, el algoritmo requiere almacenar(N + 1) puntos y N direcciones de busqueda a cualquier etapa de laiteracion.

Clase No. 9 2007

Page 22: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo de las Direcciones Conjugadas de Powell

A pesar su ineficiencia, toda la evidencia indica que el metodo dePowell (con el chequeo de dependencia lineal) es al menos tanconfiable como cualquier otro metodo de busqueda directa yusualmente mucho mas eficiente. Por tanto, si es permisible utilizarun algoritmo sofisticado, este suele ser el metodo que se recomiendaadoptar.

Clase No. 9 2007

Page 23: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

El gradiente de una funcion es un vector de n componentes dadopor:

∇f =

∂f/∂x1

∂f/∂x2

...

∂f/∂xn

(4)

Clase No. 9 2007

Page 24: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

El gradiente tiene una propiedad muy importante. Si nos movemosa lo largo de la direccion del gradiente desde cualquier punto en unespacio n-dimensional, el valor de la funcion se incrementa a lamayor velocidad posible. Por tanto, la direccion del gradiente esdenominada direccion del ascenso empinado.

Clase No. 9 2007

Page 25: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

Desafortunadamente, la direccion del ascenso empinado es unapropiedad local y no una global. Esto se ilustra con la figurasiguiente:

Clase No. 9 2007

Page 26: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

En la figura del acetato anterior, los vectores de gradiente ∇fevaluado en los puntos 1, 2, 3 y 4, se encuentran en las direcciones1-1’, 2-2’, 3-3’ y 4-4’, respectivamente. Por lo tanto, el valor de dela funcion se incrementa a mayor velocidad en la direccion 1-1’ enel punto 1, pero no en el punto 2. Analogamente, el valor de lafuncion se incrementa a una mayor velocidad en la direccion 2-2’(3-3’) en el punto 2(3), pero no en el punto 3(4).

Clase No. 9 2007

Page 27: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

En otras palabras, la direccion del ascenso empinado generalmentevarıa de punto a punto, y si efectuamos movimientos infinitamentepequenos a lo largo de la direccion del ascenso empinado, la rutasera una curva como la delineada por 1-2-3-4 en la figura antesindicada.

Clase No. 9 2007

Page 28: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

Puesto que el vector de gradiente representa la direccion delascenso empinado, el negativo del vector de gradiente denota ladireccion de descenso empinado. Por tanto, cualquier metodo quehaga uso del vector de gradiente puede esperarse que obtenga elmınimo mas rapido que uno que no lo use. Todos los metodos dedescenso hacen uso del vector de gradiente, ya sea de forma directao indirecta, para encontrar las direcciones de busqueda.

Clase No. 9 2007

Page 29: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

Evaluacion del Gradiente:

La evaluacion del gradiente requiere el calculo de las derivadasparciales ∂f/∂xi, i = 2, . . . , n. Hay 3 situaciones en las cuales laevaluacion del gradiente presenta problemas:

1. La funcion es diferenciable en todos los puntos, pero el calculode las componentes del gradiente ∂f/∂xi es impractica oimposible.

Clase No. 9 2007

Page 30: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

2. Las expresiones para las derivadas parciales ∂f/∂xi puedenobtenerse, pero requieren mucho tiempo de computo para suevaluacion.

3. El gradiente ∇f no esta definido en todos los puntos.

Clase No. 9 2007

Page 31: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

En el primer caso, podemos usar las formulas de diferencias finitaspara calcular numericamente las derivadas de primer y segundoorden:

∂f(x)∂xi

x(t)

=f(x(t)

i + ∆x(t)i )− f(x(t)

i −∆x(t)i )

2∆x(t)i

(5)

Clase No. 9 2007

Page 32: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

∂2f(x)∂2x2

i

x(t)

=f(x(t)

i + ∆x(t)i )− 2f(x(t)

i ) + f(x(t)i −∆x(t)

i )

(∆x(t)i )2

(6)

Clase No. 9 2007

Page 33: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

Puede verse que, para evaluar numericamente la primera derivadacon respecto a cada variable, se requieren 2 evaluaciones de lafuncion objetivo. Para evaluar numericamente la segunda derivadacon respecto a cada variable, se requieren 3 evaluaciones de lafuncion objetivo.

Clase No. 9 2007

Page 34: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

En la practica, debe tenerse cuidado al elegir el valor de Deltai. Sieste valor es muy pequeno, la diferencia entre los diferentes puntosen los cuales se evalua la funcion puede ser muy pequena y podrıanpredominar los errores de redondeo. Por otra parte, si ∆xi es muygrande, el error de truncamiento podrıa predominar en el calculodel gradiente.

Clase No. 9 2007

Page 35: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

En el segundo caso (de los 3 antes mencionados), el uso de formulasde diferencias finitas se preferira siempre y cuando el calculo delgradiente exacto requiera mas tiempo de computo.

En el tercer caso, no podemos usar las formulas de diferenciasfinitas puesto que el gradiente no esta definido en todos los puntos.

Clase No. 9 2007

Page 36: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

Por ejemplo, consideremos el ejemplo de la figura siguiente:

Clase No. 9 2007

Page 37: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodos Indirectos de Busqueda

(Metodos de Gradiente)

Si usamos la formula de diferencias finitas que vimos antes paraevaluar la derivada df/dx en xm, obtenemos un valor de α1 parauna ∆x1 y un valor de α2 para una ∆x2. Puesto que en realidad laderivada no existe en el punto xm, el uso de las formulas dediferencias finitas podrıa hacer que nuestra implementacion secolapsara en el proceso de minimizacion.

En tales casos, la alternativa mas viable es usar un metodo debusqueda directa de los que estudiamos anteriormente.

Clase No. 9 2007

Page 38: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Descenso Empinado

(Metodo de Cauchy)

Este metodo fue propuesto originalmente por Augustin-LouisCauchy en 1847 para resolver sistemas de ecuaciones lineales.

Clase No. 9 2007

Page 39: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Descenso Empinado

(Metodo de Cauchy)

El metodo de Cauchy se basa en el uso del gradiente negativo−∇f . Puesto que esta direccion nos da el descenso maximo en losvalores de la funcion, el metodo se conoce tambien como dedescenso empinado. Esto se ilustra en la figura siguiente:

Clase No. 9 2007

Page 40: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Descenso Empinado

(Metodo de Cauchy)

A cada iteracion de este metodo se calcula el gradiente y se efectuauna busqueda unidireccional en el valor negativo de la direcciondefinida por dicho gradiente, a fin de encontrar el punto mınimo alo largo de dicha direccion. El siguiente punto se obtiene usando:

X(t+1) = X(t) − λ(t)∇f(X(t)) (7)

donde nos interesa obtener λ(t) conociendo X(t) y ∇f(X(t)).

Clase No. 9 2007

Page 41: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Descenso Empinado

(Metodo de Cauchy)

El punto mınimo se vuelve luego el punto actual y la busquedacontinua a partir de el. El algoritmo continua hasta que elgradiente se hace cero o suficientemente pequeno. Algo interesantede este metodo es que aunque garantiza que hay mejoras en el valorde la funcion que se obtenga a cada iteracion, en la practica no esun metodo muy efectivo porque la direccion de descenso empinadoes una propiedad local.

Clase No. 9 2007

Page 42: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Descenso Empinado

(Metodo de Cauchy)

Algoritmo

Paso 1: Elegir un punto inicial X(0) y dos parametros de terminacion ε1 y ε2

Hacer k = 0

Paso 2: Calcular ∇f(X(k))

Paso 3: IF ||∇f(X(k))|| ≤ ε1 THEN Terminar

ELSE GOTO Paso 4.

Paso 4: Efectuar una busqueda unidireccional para encontrar λ(k) y calcular:

X(k+1) = X(k) − λ(k)∇f(X(k)) tal que f(X(k+1)) sea mınima.

Para efectuar la busqueda unidireccional puede usarse la tolerancia ε2

directamente en el metodo de minimizacion adoptado.

Alternativamente, puede checarse si |∇f(X(k+1)) · ∇f(X(k))| ≤ ε2.

Paso 5: ¿Es

f(X(k+1))−f(X(k))

f(X(k))

∣≤ ε1? Si es ası, Terminar.

ELSE k = k + 1. GOTO Paso 2.

Clase No. 9 2007

Page 43: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Criterios de Convergencia

Para terminar el proceso iterativo del metodo de Cauchy, Raosugiere utilizar cualquiera de los 3 criterios siguientes deconvergencia:

1. Cuando el cambio en el valor de la funcion en dos iteracionesconsecutivas es muy pequeno:

f(x(k+1))− f(x(k))f(x(k))

≤ ε1 (8)

Clase No. 9 2007

Page 44: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Criterios de Convergencia

2. Cuando las derivadas parciales (componentes del gradiente) def son suficientemente pequenas:

∂f

∂xi

≤ ε2, i = 1, 2, . . . , n (9)

Clase No. 9 2007

Page 45: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Criterios de Convergencia

3. Cuando el cambio en las variables de diseno en dos iteracionesconsecutivas es suficientemente pequeno:

∣x(k+1) − x(k)∣

∣ ≤ ε3 (10)

Clase No. 9 2007

Page 46: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Las propiedades de convergencia del metodo del descenso empinadopueden mejorarse de manera significativa si se le modifica paraconvertirlo en un metodo de gradiente conjugado (el cual puede serconsiderado como un metodo de direcciones conjugadas queinvolucra el uso del gradiente de la funcion).

Clase No. 9 2007

Page 47: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Vimos anteriormente las condiciones para que un conjunto dedirecciones s(k) (k = 1, 2, . . . , r ≤ N) y una matriz simetrica C deN ×N sean conjugadas. Ademas, hemos examinado estasdirecciones como transformaciones en la forma de una suma decuadrados perfectos para una funcion cuadratica.

Clase No. 9 2007

Page 48: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

En nuestro procedimiento previo concluimos que el buscar en cadauna de las N direcciones C conjugadas en turno, producirıa elmınimo para una cuadratica N -dimensional. Ademas, generamos elconjunto de direcciones conjugadas usando solamente los valores dela funcion objetivo.

Clase No. 9 2007

Page 49: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

En el metodo que veremos ahora, se usa una aproximacioncuadratica a f(x) junto con informacion del gradiente para generarlas direcciones conjugadas. Ademas, se insistira en el uso deldescenso a cada iteracion.

Clase No. 9 2007

Page 50: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Consideremos dos puntos distintos cualquiera en el espacio dediseno x(0) y x(1), y el gradiente de la funcion objetivo cuadraticaque pasa por estos puntos:

∇f(x) = ∇q(x) = Cx+ b = g(x) (11)

donde, por conveniencia, usamos el sımbolo g(x) para el gradiente.

Clase No. 9 2007

Page 51: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Por tanto:

g(x(0)) = Cx(0) + b (12)

g(x(1)) = Cx(1) + b (13)

Clase No. 9 2007

Page 52: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Ahora formamos el cambio en el gradiente de x(0) a x(1):

∆g(x) = g(x(1))− g(x(0)) = C(x(1) − x(0)) (14)

∆g(x) = C∆x (15)

la cual es la propiedad que deben explotar las cuadraticas.

Clase No. 9 2007

Page 53: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

En 1952, Hestenes y Stiefel publicaron una tecnica iterativaeficiente para resolver sistemas de ecuaciones lineales y que esbasicamente lo que hoy se conoce como el metodo de los gradientesconjugados. Hestenes y Stiefel veıan el conjunto de ecuacioneslineales como elementos del vector de gradiente de una cuadraticaque buscaban minimizar.

Clase No. 9 2007

Page 54: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Posteriormente, Fletcher y Reeves (1964) demostraron laconvergencia cuadratica de este metodo (es decir, que el metodotermina en aproximadamente N pasos cuando se aplica a unafuncion cuadratica y se usa aritmetica exacta), y lo extendieron afunciones no cuadraticas.

Clase No. 9 2007

Page 55: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Fried y Metzler (1978) han demostrado la utilidad de este metodocuando se aplica a conjuntos lineales resultantes de discretizacionescon elementos finitos donde la matriz de coeficientes es dispersapero no de forma ordenada. Dichos autores enfatizan la facilidad deimplementacion de este metodo en comparacion con otras tecnicasusadas mas comunmente.

Clase No. 9 2007

Page 56: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Tanto en el libro de Rao (1996) como en el de Reklaitis se muestrala derivacion del metodo. En este curso nos limitaremos a estudiarel algoritmo correspondiente.

Sin embargo, es importante hacer notar la idea general del metodo.Fletcher y Reeves (1964) sugirieron las siguientes direccionesconjugadas de busqueda y demostraron que s(k) es conjugada conrespecto a todas las direcciones previas de busqueda s(i) parai = 1, 2, . . . , (k − 1):

s(k) = −∇f(x(k)) +||∇f(x(k))||2

||∇f(x(k−1))||2s(k−1) (16)

con s(0) = −∇f(x(0)).

Clase No. 9 2007

Page 57: Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt-2007.pdf · direcciones e(3) y (x(4) −x(1)) ser´an conjugadas. Clase No. 9 2007

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

Metodo del Gradiente Conjugado

(Fletcher-Reeves)

Notese que esta ecuacion recursiva para la direccion de busquedas(k) requiere solo de derivadas de primer orden en los puntos x(k) yx(k−1). Se presupone que la direccion inicial de busqueda s(0) es ladireccion de descenso empinado en el punto inicial. Posteriormente,las direcciones subsecuentes de busqueda se obtienen usando laexpresion recursiva arriba indicada.

Clase No. 9 2007