Você está na página 1de 36

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello Departamento de Computacin o CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco Mxico, D.F. 07300 e email: ccoello@cs.cinvestav.mx

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Algoritmo Paso 1: Elegir un punto inicial X (0) y tolerancias 1 , 2 y 3 Paso 2: Encontrar f (X (0) ) y hacer: s(0) = f (X (0) ) Paso 3: Encontrar (0) tal que: f (X (0) + (0) s(0) ) se minimice con una tolerancia 1 . Hacer X (1) = X (0) + (0) s(0) y k = 1 Calcular f (X (1) ) Paso 4: Paso 5: Hacer: s(k) = f (X (k) ) +
|| f (X (k) )||2 (k1) (k1) )||2 s || f (X

Encontrar (k) tal que: f (X (k) + (k) s(k) ) sea m nima con una tolerancia Hacer X (k+1) = X (k) + (k) s(k) Es
||X (k+1) X (k) || ||X (k) ||

Paso 6:

o || f (X (k+1) )||

3?

Si es as terminar. , ELSE k = k + 1. GOTO Paso 4.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Como indicamos anteriormente, debido a su uso de direcciones conjugadas de bsqueda, el mtodo de Fletcher-Reeves debiera u e converger en N iteraciones o menos para el caso de una funcin o cuadrtica. Sin embargo, para cuadrticas mal condicionadas a a (aquellas cuyos contornos son altamente excntricos y e distorsionados), el mtodo puede requerir mucho ms de N e a iteraciones para converger.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


La razn de esto es el efecto acumulativo de los errores de o redondeo. Para evitar estos problemas, se recomienda reinicializar el mtodo peridicamente despus de una cierta cantidad de pasos, e o e tomando como nueva direccin de bsqueda a la direccin de o u o descenso empinado.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


A pesar de sus limitaciones, el mtodo de Fletcher-Reeves es muy e superior al mtodo del descenso empinado y a los mtodos de e e bsqueda mediante patrones. Sin embargo, es menos eciente que el u mtodo de Newton que veremos ms adelante. e a

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Miele y Cantrell (1969) propusieron una extensin del mtodo de o e Fletcher-Reeves en la que se usa la siguiente expresin: o X (k+1) = X (k) + (k) f (X (k) ) + (k) s(X (k1) ) donde (k) y (k) se buscan directamente a cada iteracin. o (1)

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


A este mtodo se le conoce como del gradiente con memoria y e es bastante ms eciente que el de Fletcher-Reeves en trminos del a e nmero que iteraciones, pero requiere ms evaluaciones de la u a funcin objetivo y del gradiente. Por tanto, este mtodo es o e recomendable slo cuando las evaluaciones de la funcin objetivo y o o del gradiente no tienen un costo computacional muy elevado.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Una limitacin importante del mtodo de Fletcher-Reeves es que se o e asumen una funcin objetivo cuadrtica y bsquedas lineales o a u exactas. Se han propuesto, sin embargo, diversos mtodos que e permiten relajar una o las dos limitantes antes descritas. Por ejemplo, el mtodo de Polak-Ribiere (1969) demanda bsquedas e u lineales exactas pero asume un modelo ms general para la funcin a o objetivo.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Se han propuesto otros mtodos similares en los que se presuponen e bsquedas lineales exactas pero se emplea un modelo de funcin u o objetivo ms general que el cuadrtico. Por ejemplo, estn los a a a mtodos de Davison y Wong (1975), y el de Boland et al. (1979). e

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


En 1972, Crowder y Wolfe y posteriormente Powell, demostraron que los mtodos de gradiente conjugado estaban condenados a una e tasa lineal de convergencia en la ausencia de reinicializaciones peridicas. o

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Una reinicializacin se dene como un procedimiento especial que o interrumpe la generacin normal de direcciones de bsqueda como o u el requerido para generar s(X (0) ). Existen varias razones por las cuales uno podr esperar que un algoritmo requiera una a reinicializacin para ser robusto. La ms obvia es evitar la o a generacin de una direccin que sea dependiente. o o

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Powell (1977) demostr que el mtodo de Polak-Ribiere tambin o e e tiene una tasa lineal de convergencia si no se usa reinicializacin, o pero dicho mtodo es superior al de Fletcher-Reeves para funciones e generales y presenta tambin menos sensibilidad a las bsquedas e u lineales inexactas.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


La formulacin de procedimientos de reinicializacin ecientes y el o o desarrollo de mtodos con mayor tolerancia a las bsquedas lineales e u inexactas sigue siendo un rea activa de investigacin. a o

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Beale (1972) proporciona un procedimiento de gradiente conjugado similar al mtodo de Fletcher-Reeves, pero en el cual se permite la e reinicializacin sin el uso de la direccin de gradiente. Beale o o muestra cmo puede usarse la direccin previa para la o o reinicializacin a n de reducir el esfuerzo computacional total para o las funciones que requieren muchas reinicializaciones.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Powell (1977) examina cuidadosamente la estrategia de Beale y otras tcnicas de reinicializacin y sugiere que se efecte una e o u reinicializacin a cada N iteraciones o cuando: o |g(X (k) )g(X (k1) )| 0,2||g(X (k) )||2 (2)

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Powell demuestra que la estrategia de reinicializacin de Beale o (usando el criterio de la ecuacin (11)) funciona igualmente bien o con el mtodo de Fletcher-Reeves y con el de Polak-Ribiere y e proporciona resultados numricos que sugieren la superioridad de e este ultimo.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Shanno (1978) ha estudiado la relacin de las bsquedas lineales o u inexactas y las estrategias de reinicializacin con la eciencia de los o mtodos de gradiente conjugado. e

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Shanno muestra que la estrategia de reinicializacin de Beale o usando el criterio de reinicializacin de Powell permite un o decremento signicativo en la precisin requerida por las bsquedas o u lineales y, por tanto, incrementa de manera signicativa la eciencia computacional del mtodo del gradiente conjugado. e

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo del Gradiente Conjugado e (Fletcher-Reeves)


Shanno tambin proporciona resultados numricos que indican la e e superioridad del mtodo de Polak-Ribiere con reinicializacin y e o bsquedas lineales inexactas. u

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Vimos que el mtodo de Cauchy es la mejor estrategia local basada e en gradientes, pero es importante hacer ver que el gradiente negativo apunta directamente hacia el m nimo slo cuando los o contornos de f son circulares y, por tanto, el gradiente negativo no es una buena direccin global de bsqueda (en general) para o u funciones no lineales.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
El mtodo de Cauchy emplea aproximaciones lineales sucesivas a la e funcin objetivo y requiere calcular tanto el valor de la funcin o o objetivo como el del gradiente a cada iteracin. Esto nos lleva a o considerar el uso de informacin de orden superior, o sea, las o segundas derivadas, en un esfuerzo por construir una estrategia de bsqueda ms global. u a

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Consideremos la expansin de Taylor de la funcin objetivo: o o

f (X) = f (X (k) ) +

1 f (X (k) )T x + xT 2

f (X (k) )x + O(x3 ) (3)

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Formamos una aproximacin cuadrtica a f (x) eliminando los o a trminos de orden mayor o igual a 3: e

f (X; X (k) ) = f (X (k) ) +

f (X

(k) T

1 ) x + xT 2

f (X (k) )x (4)

donde usamos f (X; X (k) ) para denotar una funcin de o aproximacin construida en X (k) , la cual es, as mismo, una o funcin de X. o

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Ahora usaremos esta aproximacin cuadrtica de f (x) para formar o a una secuencia iterativa, forzando a X (k+1) , que es el siguiente punto en la secuencia, a ser un punto donde el gradiente de la aproximacin es cero. o

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Por tanto: f (X; X (k) ) = y
2 (k) 1

f (X (k) ) +

f (X (k) )x = 0

(5)

x =

f (X

f (X (k) )

(6)

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Tenemos entonces que este esquema de aproximaciones cuadrticas a sucesivas produce el Mtodo de Newton: e
(k+1) (k) 2 (k) 1

=X

f (X

f (X (k) )

(7)

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Algoritmo Paso 1: Elegir un punto inicial X (0) y dos parmetros de terminacin 1 y 2 a o 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 bsqueda unidireccional para encontrar (k) y calcular: u
2 f (X (k) ) X (k+1) = X (k) (k) f (X (k) ) tal que f (X (k+1) ) sea m nima. Para efectuar la bsqueda unidireccional puede usarse la tolerancia u directamente en el mtodo de minimizacin adoptado. e o 1

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. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
2 Puede demostrarse que si la matriz f (X (k) ) es positivamente semidenida, la direccin s(k) debe ser descendente. o 1 2 Sin embargo, si la matriz f (X (k) ) no es positivamente semidenida, la direccin s(k) puede o no ser de descenso, o (k) T 2 (k) 1 dependiendo de si la cantidad f (X ) f (X ) f (X (k) ) es positiva o no. Por ende, la direccin de bsqueda que adopta o u este mtodo puede no siempre garantizar un decremento en el valor e de la funcin en la vecindad del punto actual. o 1

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Un aspecto importante a considerar es que las condiciones de optimalidad de segundo orden sugiere que 2 f (x ) sea positivamente denida para el punto m nimo. Por tanto, puede presuponerse que la matriz 2 f (x ) es positivamente denida en la vecindad del m nimo y la direccin de bsqueda antes indicada se o u vuelve descendente cerca del ptimo. o

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Esto nos lleva a concluir que este mtodo es apropiado es apropiado e y eciente cuando el punto inicial se proporciona cercano al ptimo. o Puesto que no puede garantizarse que se reducir el valor de la a funcin a cada iteracin, suele requerirse en este mtodo el hacer o o e reinicializaciones ocasionales desde un punto diferente.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
La versin que estudiamos del mtodo de Newton tiene una o e modicacin que hace que funcione razonablemente bien en o funciones no cuadrticas (algo que no ocurre con el algoritmo a original). Esto hace al mtodo ms poderoso y se evita e a convergencia a un punto de paso o a un mximo. a

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Sin embargo, a pesar de estas ventajas, el mtodo no es muy util en e la prctica debido a las siguientes razones: a 1. Se requiere el almacenamiento de una matriz de N N . 2. Se vuelve ms dif y, algunas veces, imposible, calcular los a cil elementos de la matriz Hessiana. 3. Se requiere la inversin de una matriz a cada iteracin. o o 4. Se requiere la evaluacin de una multiplicacin matricial a cada o o iteracin. o

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

Mtodo de Newton e
Estas desventajas hacen al mtodo de Newton imprctico para e a problemas que involucran una funcin objetivo complicada con un o gran nmero de variables. u

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

El Mtodo de Marquardt e
El mtodo de Cauchy funciona bien cuando el punto inicial e est lejos del ptimo y el mtodo de Newton funciona bien cuando a o e el punto inicial est cerca del ptimo. Dado que en un problema a o cualquiera no sabemos si un punto inicial est o no lejos del a o ptimo, parece intuitivo pensar en un mtodo que combine el de e Cauchy y el de Newton, tratando de combinar sus ventajas. Esa es precisamente la idea del mtodo de Marquardt. e

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

El Mtodo de Marquardt e
En este mtodo, se sigue primero el mtodo de Cauchy. e e Posteriormente se adopta el mtodo de Newton. La transicin del e o mtodo de Cauchy al de Newton es adaptativa y depende de la e historia de las soluciones intermedias obtenidas. Este mtodo se e propuso originalmente en 1963.

Clase No. 10

2007

Optimizacin en Ingenier o a

Dr. Carlos A. Coello Coello

El Mtodo de Marquardt e
Algoritmo Paso 1: Elegir un punto inicial X (0) el nmero mximo de iteraciones, M , u a y un parmetro de terminacin, a o Hacer k = 0 y (0) = 1 104 (un valor grande) Paso 2: Calcular f (X (k) ) Paso 3: IF || f (X (k) )|| o k M THEN Terminar ELSE GOTO Paso 4. Paso 4: Paso 5: Calcular s(X (k) ) = H(k) + (k) I Hacer X (k+1) = X (k) + s(X (k) ) Es f (X (k+1) ) < f (X (k) )? Si es as GOTO Paso 6. , ELSE GOTO Paso 7. 1 Hacer (k+1) = 2 (k) k = k + 1. GOTO Paso 2 Hacer (k) = 2(k) GOTO Paso 4.
1

f (X (k) )

Paso 6: Paso 7:

Clase No. 10

2007

Você também pode gostar