Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
Optimizaci´ on en In on Inge geni nier er´ ´ıa
Dr. Carlos A. Coello Coello Departamento de Computaci´ on on CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco M´ exico,, D.F. exico D.F. 07300 07300 email:
Clase No. 10
[email protected]
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ eto do del Grad etodo Gradiente iente Conj Conjugad ugado o (Fletcher-Reeves) Algoritmo Paso aso 1: Eleg Elegir ir un un pun punto to ini inici cial al X (0) y tolerancias 1 , 2 y 3 Paso aso 2: Enco Encon ntrar trar f (X (0) ) y hacer: s(0) = −f (X (0) ) Paso aso 3: Enco Encon ntrar trar λ(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) ) ||f (X (k) )||2 s(k−1) ||f (X (k−1) )||2
Paso aso 4:
Hacer acer:: s(k) = −f (X (k) ) +
Paso aso 5:
Enco Encon ntrar trar λ(k) tal que: f (X (k) + λ(k) s(k) ) sea m´ınima con una tolerancia toleran cia 1 Hacer X (k+1) = X (k) + λ(k) s(k)
Paso 6:
¿Es
||X (k+1) −X (k) || ||X (k) ||
≤ 2 o ||f (X (k+1) )|| ≤ 3 ?
Si es as´ as´ı, termina ter minar. r. ELSE k = k + 1. GOTO Paso 4.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ eto do del Grad etodo Gradiente iente Conj Conjugad ugado o (Fletcher-Reeves) Algoritmo Paso aso 1: Eleg Elegir ir un un pun punto to ini inici cial al X (0) y tolerancias 1 , 2 y 3 Paso aso 2: Enco Encon ntrar trar f (X (0) ) y hacer: s(0) = −f (X (0) ) Paso aso 3: Enco Encon ntrar trar λ(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) ) ||f (X (k) )||2 s(k−1) ||f (X (k−1) )||2
Paso aso 4:
Hacer acer:: s(k) = −f (X (k) ) +
Paso aso 5:
Enco Encon ntrar trar λ(k) tal que: f (X (k) + λ(k) s(k) ) sea m´ınima con una tolerancia toleran cia 1 Hacer X (k+1) = X (k) + λ(k) s(k)
Paso 6:
¿Es
||X (k+1) −X (k) || ||X (k) ||
≤ 2 o ||f (X (k+1) )|| ≤ 3 ?
Si es as´ as´ı, termina ter minar. r. ELSE k = k + 1. GOTO Paso 4.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ eto do del Grad etodo Gradiente iente Conj Conjugad ugado o (Fletcher-Reeves) Como indicamos anteriormente, debido a su uso de direcciones conjugadas de b´ usqueda, usqueda, el m´ etodo etodo de Fletcher-Reeves debiera converger en N iteraciones o menos para el caso de una funci´on on cuadr´atica. atica. Sin embargo, para cuadr´aticas aticas mal condicionadas (aquellas cuyos contornos son altamente exc´ entricos entricos y distorsionados), el m´ etodo etodo puede requerir mucho mucho m´ as as de N iteraciones para converger.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) La raz´on de esto es el efecto acumulativo de los errores de redondeo. Para evitar estos problemas, se recomienda reinicializar el m´etodo peri´odicamente despu´es de una cierta cantidad de pasos, tomando como nueva direcci´o n de b´ usqueda a la direcci´on de descenso empinado.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) A pesar de sus limitaciones, el m´etodo de Fletcher-Reeves es muy superior al m´etodo del descenso empinado y a los m´etodos de b´ usqueda mediante patrones. Sin embargo, es menos eficiente que el m´etodo de Newton que veremos m´as adelante.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Miele y Cantrell (1969) propusieron una extensi´on del m´etodo de Fletcher-Reeves en la que se usa la siguiente expresi´on: (k+1)
X
(k )
= X
(k )
+λ
(k )
−f (X
(k )
(k−1)
) + γ s(X
)
(1)
donde λ(k) y γ (k) se buscan directamente a cada iteraci´on.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) A este m´etodo se le conoce como del gradiente con memoria y es bastante m´as eficiente que el de Fletcher-Reeves en t´erminos del n´ umero que iteraciones, pero requiere m´as evaluaciones de la funci´on objetivo y del gradiente. Por tanto, este m´etodo es recomendable s´ olo cuando las evaluaciones de la funci´on objetivo y del gradiente no tienen un costo computacional muy elevado.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Una limitaci´on importante del m´etodo de Fletcher-Reeves es que se asumen una funci´on objetivo cuadr´atica y b´ usquedas lineales exactas. Se han propuesto, sin embargo, diversos m´etodos que permiten relajar una o las dos limitantes antes descritas. Por ejemplo, el m´etodo de Polak-Ribiere (1969) demanda b´usquedas lineales exactas pero asume un modelo m´as general para la funci´on objetivo.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Se han propuesto otros m´etodos similares en los que se presuponen b´ usquedas lineales exactas pero se emplea un modelo de funci´on objetivo m´as general que el cuadr´atico. Por ejemplo, est´an los m´etodos de Davison y Wong (1975), y el de Boland et al. (1979).
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) En 1972, Crowder y Wolfe y posteriormente Powell, demostraron que los m´etodos de gradiente conjugado estaban condenados a una tasa lineal de convergencia en la ausencia de reinicializaciones peri´odicas.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Una reinicializaci´on se define como un procedimiento especial que interrumpe la generaci´on normal de direcciones de b´usqueda como el requerido para generar s(X (0) ). Existen varias razones por las cuales uno podr´ıa esperar que un algoritmo requiera una reinicializaci´on para ser robusto. La m´as obvia es evitar la generaci´on de una direcci´on que sea dependiente.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Powell (1977) demostr´o que el m´etodo de Polak-Ribiere tambi´en tiene una tasa lineal de convergencia si no se usa reinicializaci´on, pero dicho m´etodo es superior al de Fletcher-Reeves para funciones generales y presenta tambi´en menos sensibilidad a las b´usquedas lineales inexactas.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) La formulaci´on de procedimientos de reinicializaci´on eficientes y el desarrollo de m´etodos con mayor tolerancia a las b´usquedas lineales inexactas sigue siendo un ´area activa de investigaci´on.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Beale (1972) proporciona un procedimiento de gradiente conjugado similar al m´ etodo de Fletcher-Reeves, pero en el cual se permite la reinicializaci´on sin el uso de la direcci´on de gradiente. Beale muestra c´omo puede usarse la direcci´on previa para la reinicializaci´on a fin de reducir el esfuerzo computacional total para las funciones que requieren muchas reinicializaciones.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Powell (1977) examina cuidadosamente la estrategia de Beale y otras t´ecnicas de reinicializaci´on y sugiere que se efect´ue una reinicializaci´on a cada N iteraciones o cuando: |g (X (k) )g (X (k
Clase No. 10
1)
−
)| ≥ 0,2||g (X (k) )||2
(2)
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Powell demuestra que la estrategia de reinicializaci´on de Beale (usando el criterio de la ecuaci´on (11)) funciona igualmente bien con el m´etodo de Fletcher-Reeves y con el de Polak-Ribiere y proporciona resultados num´ericos que sugieren la superioridad de este u ´ ltimo.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Shanno (1978) ha estudiado la relaci´on de las b´usquedas lineales inexactas y las estrategias de reinicializaci´on con la eficiencia de los m´etodos de gradiente conjugado.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Shanno muestra que la estrategia de reinicializaci´on de Beale usando el criterio de reinicializaci´on de Powell permite un decremento significativo en la precisi´on requerida por las b´ usquedas lineales y, por tanto, incrementa de manera significativa la eficiencia computacional del m´etodo del gradiente conjugado.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo del Gradiente Conjugado (Fletcher-Reeves) Shanno tambi´en proporciona resultados num´ericos que indican la superioridad del m´etodo de Polak-Ribiere con reinicializaci´on y b´ usquedas lineales inexactas.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Vimos que el m´ etodo de Cauchy es la mejor estrategia local basada en gradientes, pero es importante hacer ver que el gradiente negativo apunta directamente hacia el m´ınimo s´olo cuando los contornos de f son circulares y, por tanto, el gradiente negativo no es una buena direcci´ on global de b´ usqueda (en general) para funciones no lineales.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton El m´etodo de Cauchy emplea aproximaciones lineales sucesivas a la funci´on objetivo y requiere calcular tanto el valor de la funci´on objetivo como el del gradiente a cada iteraci´on. Esto nos lleva a considerar el uso de informaci´on de orden superior, o sea, las segundas derivadas, en un esfuerzo por construir una estrategia de b´ usqueda m´ as global.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Consideremos la expansi´on de Taylor de la funci´on objetivo:
(k )
f (X ) = f (X
Clase No. 10
(k)
) + f (X
1 ) ∆x + ∆xT 2 f (X (k) )∆x + O(∆x3 ) 2 (3) T
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Formamos una aproximaci´on cuadr´ atica a f (x) eliminando los t´erminos de orden mayor o igual a 3: 1 (k) (k ) (k) T ¯ f (X ; X ) = f (X ) + f (X ) ∆x + ∆xT 2 f (X (k) )∆x (4) 2 donde usamos f ¯(X ; X (k) ) para denotar una funci´ on de aproximaci´ on construida en X (k) , la cual es, as´ı mismo, una funci´on de X .
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Ahora usaremos esta aproximaci´on cuadr´ atica de f (x) para formar 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 aproximaci´ on es cero.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Por tanto: f (X ; X (k) ) = f (X (k) ) + 2 f (X (k) )∆x = 0
(5)
y
2
(k )
∆x = − f (X
Clase No. 10
)
1
−
f (X (k) )
(6)
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Tenemos entonces que este esquema de aproximaciones cuadr´aticas sucesivas produce el M´ etodo de Newton : (k+1)
X
Clase No. 10
(k)
= X
2
(k )
− f (X
1
−
)
f (X (k) )
(7)
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Algoritmo Paso 1: Elegir un punto inicial X (0) y dos par´ ametros de terminaci´ on 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 b´ usqueda unidireccional para encontrar λ(k) y calcular: X (k+1)
Paso 5:
f (X
(k+1)
λ(k)
−1
f (X )
2 (k) = − f (X (k) ) tal que f (X (k+1) ) sea m´ınima. Para efectuar la b´ usqueda unidireccional puede usarse la tolerancia 2 directamente en el m´ etodo de minimizaci´ on adoptado.
¿Es
X (k)
)−f (X f (X (k) )
(k )
)
≤ ? Si es as´ı, Terminar. 1
ELSE k = k + 1. GOTO Paso 2.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton 2
(k )
1
−
Puede demostrarse que si la matriz f (X )
es positivamente semidefinida, la direcci´on s(k) debe ser descendente. 1 Sin embargo, si la matriz 2 f (X (k) ) no es positivamente semidefinida, la direcci´on s(k) puede o no ser de descenso, 1 dependiendo de si la cantidad f (X (k) )T 2 f (X (k) ) f (X (k) ) es positiva o no. Por ende, la direcci´o n de b´ usqueda que adopta este m´etodo puede no siempre garantizar un decremento en el valor de la funci´on en la vecindad del punto actual.
−
Clase No. 10
−
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Un aspecto importante a considerar es que las condiciones de optimalidad de segundo orden sugiere que 2 f (x ) sea positivamente definida para el punto m´ınimo. Por tanto, puede presuponerse que la matriz 2 f (x ) es positivamente definida en la vecindad del m´ınimo y la direcci´o n de b´ usqueda antes indicada se vuelve descendente cerca del ´optimo. ∗
∗
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Esto nos lleva a concluir que este m´etodo es apropiado es apropiado y eficiente cuando el punto inicial se proporciona cercano al ´optimo. Puesto que no puede garantizarse que se reducir´a el valor de la funci´on a cada iteraci´on, suele requerirse en este m´etodo el hacer reinicializaciones ocasionales desde un punto diferente.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton La versi´on que estudiamos del m´etodo de Newton tiene una modificaci´on que hace que funcione razonablemente bien en funciones no cuadr´aticas (algo que no ocurre con el algoritmo original). Esto hace al m´etodo m´as poderoso y se evita convergencia a un punto de paso o a un m´aximo.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Sin embargo, a pesar de estas ventajas, el m´ etodo no es muy u ´ til en la pr´actica debido a las siguientes razones: 1. Se requiere el almacenamiento de una matriz de N × N . 2. Se vuelve m´as dif´ıcil y, algunas veces, imposible, calcular los elementos de la matriz Hessiana. 3. Se requiere la inversi´on de una matriz a cada iteraci´on. 4. Se requiere la evaluaci´on de una multiplicaci´on matricial a cada iteraci´on.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
M´ etodo de Newton Estas desventajas hacen al m´etodo de Newton impr´actico para problemas que involucran una funci´on objetivo complicada con un gran n´ umero de variables.
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
El M´ etodo de Marquardt El m´etodo de Cauchy funciona bien cuando el punto inicial est´ a lejos del ´optimo y el m´etodo de Newton funciona bien cuando el punto inicial est´a cerca del ´optimo. Dado que en un problema cualquiera no sabemos si un punto inicial est´a o no lejos del ´optimo, parece intuitivo pensar en un m´etodo que combine el de Cauchy y el de Newton, tratando de combinar sus ventajas. Esa es precisamente la idea del m´ etodo de Marquardt .
Clase No. 10
2007
Optimizaci´ on en Ingenier´ıa
Dr. Carlos A. Coello Coello
El M´ etodo de Marquardt En este m´etodo, se sigue primero el m´etodo de Cauchy. Posteriormente se adopta el m´etodo de Newton. La transici´on del m´etodo de Cauchy al de Newton es adaptativa y depende de la historia de las soluciones intermedias obtenidas. Este m´etodo se propuso originalmente en 1963.
Clase No. 10
2007