Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/.../optimizacion/clase5-opt-2009.pdfClase No. 5...
Transcript of Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/.../optimizacion/clase5-opt-2009.pdfClase No. 5...
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. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Secante
El metodo de la secante combina el metodo de Newton con unmetodo de eliminacion de regiones para encontrar una raız de laecuacion f ′(x) = 0 en el intervalo (a, b), si esta existe.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Secante
Supongamos que estamos interesados en encontrar el puntoestacionario de f(x) y que tenemos dos puntos L y R en (a, b),tales que sus derivadas tienen signos opuestos. El metodo de lasecante aproxima la funcion f ′(x) como una “lınea secante” (o sea,una recta entre los dos puntos) y determina el siguiente puntodonde la lınea secante de f ′(x) se hace cero.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Secante
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Secante
Por tanto, la siguiente aproximacion al punto estacionario x∗
esta dada por:
z = R− f ′(R)(f ′(R)− f ′(L))/(R− L)
(1)
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Secante
AlgoritmoPaso 1: Elegir 2 puntos L y R tales que
f ′(L) ∗ f ′(R) < 0Proporcionar tolerancia ε
Paso 2: Calcular z = R− (f ′(R))∗(R−L)f ′(R)−f ′(L)
Evaluar f ′(z)Paso 3: IF |f ′(z)| ≤ ε THEN TERMINARPaso 4: IF f ′(z) < 0 THEN L = z GOTO Paso 2Paso 4: IF f ′(z) > 0 THEN R = z GOTO Paso 2
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Secante
Resulta facil ver que en el metodo de la secante, a diferencia delmetodo de biseccion, se usan tanto la magnitud como el signo delas derivadas. Por tanto, este metodo permite eliminar mas de lamitad del intervalo en algunos casos.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
este es un metodo de aproximacion polinomial en el cual, dada unafuncion f a ser minimizada, esta se aproxima mediante unpolinomio de tercer orden. La logica detras de este metodo essimilar al esquema de aproximacion cuadratica. Sin embargo, eneste caso, dado que tanto el valor de la funcion como el de suderivada se encuentran disponibles, la aproximacion polinomialpuede construirse con menos puntos.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
El metodo de busqueda cubica comienza con un punto arbitrario x1
y obtiene otro punto x2 mediante una busqueda acotada tal que lasderivadas f ′(x1) y f ′(x2) sean de signo opuesto. En otras palabras,el punto estacionario x donde f ′(x) = 0 se acota entre x1 y x2.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
El metodo ajusta una funcion de aproximacion cubica de la forma:
f(x) = a0 +a1(x−x1)+a2(x−x1)(x−x2)+a3(x−x1)2(x−x2) (2)
de manera que coincida con f(x) en los dos puntos x1 y x2.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
El punto estacionario x esta dado por:
x =
x2 Si µ < 0
x2 − µ(x2 − x1) Si 0 ≤ µ ≤ 1
x1 Si µ > 1
(3)
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
donde:
µ =f′
2 + w − zf′2 − f
′1 + 2w
(4)
z =(
3 (f1 − f2)x2 − x1
)
+ f′
1 + f′
2 (5)
w =
(
z2 − f ′1f′
2
) 12
Si x1 < x2
−(
z2 − f ′1f′
2
) 12
Si x1 > x2
(6)
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
La definicion de w proporcionada previamente, asegura que seselecciona la raız adecuada de la ecuacion cuadratica que seobtiene. El forzar a µ a permanecer entre 0 y 1 asegura que elpunto predicho x permanezca entre x1 y x2. Una vez mas,seleccionamos los dos puntos siguientes para la aproximacion cubicausando x y uno de los puntos x1 o x2, de tal forma que lasderivadas de los dos puntos tengan signos opuestos, y luegorepetimos la aproximacion cubica.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
Paso 1: Elegir un punto inicial x(0), un incremento ∆
y dos parametros de terminacion ε1 y ε2
Calcular f ′(x(0))
IF f ′(x(0)) > 0 THEN ∆ = −∆
Hacer k = 0
Paso 2: Calcular x(k+1) = x(k) + 2k∆
Paso 3: Evaluar f ′(x(k+1))
IF f ′(x(k+1))f ′(x(k)) ≤ 0
THEN x1 = x(k), x2 = x(k+1). GOTO Paso 4
ELSE k = k + 1. GOTO Paso 2
Paso 4: Calcular x usando las formulas anteriores
Paso 5: IF f(x) < f(x1) GOTO Paso 6
ELSE x = x− 12
(x− x1) hasta lograr que f(x) ≤ f(x1)
Paso 6: Calcular f ′(x)
IF |f ′(x)| ≤ ε1 AND | x−x1x| ≤ ε2 THEN TERMINAR
ELSE IF f ′(x)f ′(x1) < 0 THEN x2 = x ELSE x1 = x
GOTO Paso 4.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
El punto estacionario x esta dado por:
x =
x2 Si µ < 0
x2 − µ(x2 − x1) Si 0 ≤ µ ≤ 1
x1 Si µ > 1
(7)
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
donde:
µ =f′
2 + w − zf′2 − f
′1 + 2w
(8)
z =(
3 (f1 − f2)x2 − x1
)
+ f′
1 + f′
2 (9)
w =
(
z2 − f ′1f′
2
) 12
Si x1 < x2
−(
z2 − f ′1f′
2
) 12
Si x1 > x2
(10)
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
La definicion de w proporcionada previamente, asegura que seselecciona la raız adecuada de la ecuacion cuadratica que seobtiene. El forzar a µ a permanecer entre 0 y 1 asegura que elpunto predicho x permanezca entre x1 y x2. Una vez mas,seleccionamos los dos puntos siguientes para la aproximacion cubicausando x y uno de los puntos x1 o x2, de tal forma que lasderivadas de los dos puntos tengan signos opuestos, y luegorepetimos la aproximacion cubica.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
Paso 1: Elegir un punto inicial x(0), un incremento ∆
y dos parametros de terminacion ε1 y ε2
Calcular f ′(x(0))
IF f ′(x(0)) > 0 THEN ∆ = −∆
Hacer k = 0
Paso 2: Calcular x(k+1) = x(k) + 2k∆
Paso 3: Evaluar f ′(x(k+1))
IF f ′(x(k+1))f ′(x(k)) ≤ 0
THEN x1 = x(k), x2 = x(k+1). GOTO Paso 4
ELSE k = k + 1. GOTO Paso 2
Paso 4: Calcular x usando las formulas anteriores
Paso 5: IF f(x) < f(x1) GOTO Paso 6
ELSE x = x− 12
(x− x1) hasta lograr que f(x) ≤ f(x1)
Paso 6: Calcular f ′(x)
IF |f ′(x)| ≤ ε1 AND | x−x1x| ≤ ε2 THEN TERMINAR
ELSE IF f ′(x)f ′(x1) < 0 THEN x2 = x ELSE x1 = x
GOTO Paso 4.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
Este metodo resulta mas efectivo si se encuentra disponible lainformacion sobre la derivada exacta de la funcion. El acotamientodel mınimo se realiza en los primeros tres pasos del algoritmo. Elalgoritmo de acotamiento adoptado en este caso es similar al de lafase de acotamiento. Excepto por la primera iteracion, en todas lasdemas se calcula tanto el valor de la funcion como el de la primeraderivada para el nuevo punto unicamente. Por tanto, a cadaiteracion se requieren solo dos nuevas evaluaciones de la funcionobjetivo.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
La primera iteracion del metodo requiere la ejecucion repetitiva delos pasos 2 y 3 para obtener dos puntos de acotamiento. Si el nuevopunto x es mejor que el punto x1, se elimina uno de los dos puntosx1 o x2, dependiendo de cual de ellos acote el mınimo junto con x.Si el nuevo punto x es peor que el punto x1, podemos encontrar losdos mejores puntos de entre x1, x2 y x, que acoten el mınimo. Sinembargo, a fin de evitar excesivos calculos de derivadas,simplemente se recurre a modificar x.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda Cubica
Puesto que se usan derivadas, este metodo es usualmente masrapido que el metodo de estimaciones cuadraticas sucesivas dePowell. Sin embargo, si las derivadas se evaluaran numericamente,suele preferirse el metodo de Powell.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Encontrando Raıces por
Medio de Tecnicas de Optimizacion
Encontrar las raıces de una ecuacion es un problema muy comun eningenierıa. Aunque existen diversas tecnicas para encontrar raıcesde ecuaciones no lineales, las tecnicas de optimizacion que hemosvisto pueden usarse para este proposito si se elige adecuadamenteuna funcion objetivo.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Encontrando Raıces por
Medio de Tecnicas de Optimizacion
Consideremos la siguiente ecuacion de una sola variable:
h(x) = 0 (11)
La raız de esta ecuacion es una solucion x∗ que es capaz desatisfacer la ecuacion. Es decir, el valor de la ecuacion evaluada enx∗ es cero. Para cualquier otra solucion, el valor de la expresionsera distinto de cero.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Encontrando Raıces por
Medio de Tecnicas de Optimizacion
Cuando se logra obtener un valor x∗ tal que h(x∗) = 0, hay dosescenarios posibles:
1. En la vecindad de cualquier lado del punto x∗, el valor de laexpresion h(x) tiene el signo opuesto. Es decir, la expresionh(x) se hace cero desde un valor positivo y luego se vuelvenegativa, o la expresion se hace cero desde un valor negativo yluego se vuelve positiva.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Encontrando Raıces por
Medio de Tecnicas de Optimizacion
2. El segundo escenario es que la expresion h(x) sea del mismosigno en su vecindario a x∗, sin importar el lado que seconsidere. Los metodos que hemos estudiado estan disenadospara este segundo escenario, pero el primer escenario puedeabordarse tambien usando estas tecnicas, aunque se requieretransformar adecuadamente el problema de encontrar una raızen uno de optimizacion.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Encontrando Raıces por
Medio de Tecnicas de Optimizacion
En nuestro caso, convertiremos la ecuacion original cuya raızqueremos encontrar en el siguiente problema de optimizacion:
Min abs[h(x)] (12)
Los valores de esta funcion en la vecindad y a cualquier lado de x∗
tienen ahora el mismo signo. En la figura del acetato siguiente, lalınea punteada es la funcion transformada.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Encontrando Raıces por
Medio de Tecnicas de Optimizacion
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Encontrando Raıces por
Medio de Tecnicas de Optimizacion
Notese que otras funciones objetivo (p.ej., [h(x)]2) habrıan logradoel mismo proposito. La transformacion debe ser tal que la raız de laecuacion original se vuelva el mınimo del problema de optimizaciontransformado.
Una vez que se ha planteado el problema de optimizacion, puedeusarse una tecnica de acotamiento para establecer la zona dondeesta la raız y luego se aplica un algoritmo de busqueda paraencontrarla.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de Metodos
Desde un punto de vista teorico, puede demostrarse que losmetodos de estimacion de puntos tales como la busquedacuadratica de Powell, o la busqueda cubica con derivadas, sonintrınsecamente superiores a los metodos de eliminacion de regionestales como la busqueda dorada. En particular, se ha podidodemostrar que la busqueda cuadratica exhibe convergenciaasintotica superlineal hacia el optimo global.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de Metodos
Esto significa que la desviacion de la (k + 1)-esima estimacion deloptimo es proporcional a la desviacion de la k-esima estimacionelevada a la α potencia, donde α > 1 (algunos investigadores hanafirmado que α = 1,3).
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de Metodos
En contraste, si en el caso de la seccion dorada se toma a lak-esima estimacion del optimo como el punto medio del intervalorestante despues de k evaluaciones, entonces la desviacion de estaestimacion con respecto al optimo verdadero decrece linealmente dela k-esima a la (k + 1)-esima iteraciones.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de Metodos
Si presuponemos regiones comparables de convergencia para ambosmetodos (Powell y busqueda dorada), esto indica que la busquedacuadratica de Powell convergera mas rapido que cualquier esquemade eliminacion de regiones.
Clase No. 5 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de Metodos
Varios estudios comparativos disponibles en la literatura nosindican una ventaja importante entre los metodos basados enderivadas, la busqueda cuadratica o los metodos de eliminacion deregiones.
Sin embargo, se sabe que si se requiere una precision muy alta, losmetodos de aproximacion polinomial son muy superiores. Por otrolado, para funciones multimodales o con formas caprichosas, elmetodo de Powell tiende a converger mucho mas lentamente que losmetodos de eliminacion de regiones.
Clase No. 5 2009