new optimizaci´on en ingenier´ıa -...

23
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. 4 2009

Upload: others

Post on 11-Oct-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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. 4 2009

Page 2: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de las Estimaciones Cuadraticas Sucesivas

AlgoritmoPaso 1: Hacer que x1 sea un punto inicial y ∆ sea el tamano

del paso (o incremento). Pedir TOL1 y TOL2.Calcular x2 = x1 + ∆

Paso 2: Evaluar f(x1) y f(x2)Paso 3: If f(x1) > f(x2) THEN x3 = x1 + 2∆

ELSE x3 = x1 −∆.Evaluar f(x3).

Paso 4: Determinar Fmin =min(f1, f2, f3) y Xmin

es el punto xi que corresponde a Fmin.

Clase No. 4 2009

Page 3: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de las Estimaciones Cuadraticas Sucesivas

Paso 5: Calcular x usando x1, x2 y x3.Paso 6: ¿Es |Fmin − f(x)| ≤ TOL1 AND |Xmin − x| ≤ TOL2?

Si no se cumple, GOTO Paso 7ELSE el optimo es el mejor de los 4 puntos.TERMINAR

Paso 7 Almacenar el mejor punto (Xmin o x) ydos puntos que lo rodeen, si esto es posible.Si no, almacena los 3 mejores puntosRe-etiquetarlos de acuerdo a: x1 < x2 < x3.GOTO Paso 4.

Clase No. 4 2009

Page 4: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de las Estimaciones Cuadraticas Sucesivas

AlgoritmoPaso 1: Hacer que x1 sea un punto inicial y ∆ sea el tamano

del paso (o incremento). Pedir TOL1 y TOL2.Calcular x2 = x1 + ∆

Paso 2: Evaluar f(x1) y f(x2)Paso 3: If f(x1) > f(x2) THEN x3 = x1 + 2∆

ELSE x3 = x1 −∆.Evaluar f(x3).

Paso 4: Determinar Fmin =min(f1, f2, f3) y Xmin

es el punto xi que corresponde a Fmin.

Clase No. 4 2009

Page 5: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de las Estimaciones Cuadraticas Sucesivas

Paso 5: Calcular x usando x1, x2 y x3.Paso 6: ¿Es |Fmin − f(x)| ≤ TOL1 AND |Xmin − x| ≤ TOL2?

Si no se cumple, GOTO Paso 7ELSE el optimo es el mejor de los 4 puntos.TERMINAR

Paso 7 Almacenar el mejor punto (Xmin o x) ydos puntos que lo rodeen, si esto es posible.Si no, almacena los 3 mejores puntosRe-etiquetarlos de acuerdo a: x1 < x2 < x3.GOTO Paso 4.

Clase No. 4 2009

Page 6: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de las Estimaciones Cuadraticas Sucesivas

Notese que en el algoritmo previo, no se checa si se satisface quea2 > 0 y esto es necesario. Este chequeo puede incorporarse en elPaso 5. Si a2 resultara negativa, puede reemplazarse uno de los trespuntos disponibles por un punto aleatorio. Este proceso tendrıa querepetirse hasta que a2 se hiciera positiva.

Clase No. 4 2009

Page 7: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de las Estimaciones Cuadraticas Sucesivas

El metodo de Powell encuentra el mınimo de funciones unimodales“bien portadas” mas rapidamente que los metodos de eliminacionde regiones. Sin embargo, para funciones con formas mascaprichosas, el metodo de la seccion dorada es mejor que el dePowell.

Clase No. 4 2009

Page 8: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodos Que Requieren Derivadas

Los metodos de busqueda discutidos previamente se basan en lacondicion de unimodalidad de la funcion y, en algunos casos,dependen tambien de la continuidad del ındice de desempeno aoptimizarse. Resulta razonable pensar, sin embargo, que si lafuncion es diferenciable se pueden obtener metodos de busquedamas eficientes.

Clase No. 4 2009

Page 9: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Newton-Raphson

Esta tecnica requiere que la funcion f sea dos veces diferenciable.Comienza con un punto x, que es el estimado inicial o laaproximacion al punto estacionario o raız de la ecuacion f ′(x) = 0.

Se construye una aproximacion lineal de la funcion f ′(x) en elpunto x1, y el punto en el cual se desvanece la aproximacion linealse toma como la siguiente aproximacion.

Clase No. 4 2009

Page 10: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Newton-Raphson

Finalmente, dado el punto xk (aproximacion actual del puntoestacionario), la aproximacion lineal de la funcion f ′(x) en xk

esta dada por:

f ′(x) = f ′(xk) + f ′′(xk)(x− xk) (1)

Igualando esta expresion a cero, podemos obtener la aproximacionsiguiente del punto estacionario:

xk+1 = xk −f ′(xk)f ′′(xk)

(2)

Clase No. 4 2009

Page 11: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Newton-Raphson

La siguiente figura ilustra los pasos generales del metodo deNewton-Raphson:

Clase No. 4 2009

Page 12: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Newton-Raphson

Desafortunadamente, dependiendo del punto inicial y de lanaturaleza de la funcion, es muy posible que el metodo deNewton-Raphson en vez de converger, diverja. La siguiente figurailustra esta situacion:

Clase No. 4 2009

Page 13: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Newton-Raphson

En la figura del acetato anterior, si empezamos en un punto a laderecha de x0, las aproximaciones sucesivas se estaran alejando delpunto estacionario z.

Este metodo fue desarrollado por Isaac Newton para resolverecuaciones no lineales y posteriormente fue refinado por JosephRaphson.

Clase No. 4 2009

Page 14: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Newton-Raphson

Si f ′′(xk) = 0, el metodo de Newton-Raphson tiene una poderosapropiedad denominada convergencia cuadratica. Si un metodode minimizacion, usando aritmetica exacta, puede encontrar elpunto mınimo en n pasos al minimizar una funcion cuadratica en n

variables, se dice que el metodo tiene convergencia cuadratica.

Clase No. 4 2009

Page 15: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Newton-Raphson

AlgoritmoPaso 1: Proporcionar el punto inicial x1

Elegir una tolerancia εk = 1Calcular f ′(x1)

Paso 2: Calcular f ′′(xk)Paso 3: Calcular xk+1 = xk − f ′(xk)

f ′′(xk)

Calcular f ′(xk+1)Paso 4: IF |f ′(xk+1)| ≤ ε THEN TERMINAR

ELSE k = k + 1. GOTO Paso 2.

Clase No. 4 2009

Page 16: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo Cuasi-Newton

Si la funcion a minimizarse f(x) no esta disponible en formacerrada o resulta muy difıcil de diferenciar, las derivadas f ′(x) yf ′′(x) pueden aproximarse usando diferencias finitas:

f ′(xk) =f(xk + ∆x)− f(xk −∆x)

2∆x(3)

f ′′(xk) =f(xk + ∆x)− 2f(xk) + f(xk −∆x)

(∆x)2(4)

donde ∆x es un valor pequeno. Notese que se requiere evaluar lafuncion en 3 puntos: xk, xk + ∆x y xk −∆x.

Clase No. 4 2009

Page 17: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo Cuasi-Newton

Para checar convergencia se sigue usando:

|f ′(xk+1)| ≤ ε (5)

solo que ahora la derivada se aproxima usando la expresion antesindicada.

Clase No. 4 2009

Page 18: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Biseccion

Si la funcion f(x) es unimodal sobre un cierto intervalo debusqueda dado, entonces el punto optimo sera aquel dondef ′(x) = 0. Si tanto el valor de la funcion como la derivada de lafuncion estan disponibles, entonces puede efectuarse una busquedamediante eliminacion de regiones que sea bastante eficiente usandosolo un punto, en vez de dos, para identificar un punto en el cualf ′(x) = 0.

Clase No. 4 2009

Page 19: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Biseccion

Por ejemplo, si en el punto z, f ′(z) < 0, entonces bajo la premisade uminodalidad de la funcion, el mınimo no puede encontrarse a laizquierda de z. En otras palabras, el intervalo x ≤ z puedeeliminarse. Por otra parte, si f ′(z) > 0, entonces el mınimo nopuede encontrarse a la derecha de z y podemos entonces eliminar elintervalo x ≥ z.

Clase No. 4 2009

Page 20: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Biseccion

Basandonos en estas observaciones, podemos construir el metodode biseccion, llamado tambien metodo de Bolzano (en honor aBernard Placidus Johann Nepomuk Bolzano).

Clase No. 4 2009

Page 21: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Biseccion

La mecanica del algoritmo es muy simple. Se deben proporcionar 2puntos a y b tales que f ′(a) < 0 y f ′(b) > 0. De esta forma, elpunto estacionario se encuentra entre a y b. Determinamos entoncesla derivada de la funcion en el punto medio:

z =a+ b

2(6)

Si f ′(z) > 0 entonces puede eliminarse el intervalo (z, b). Por otrolado, si f ′(z) < 0, entonces podemos eliminar el intervalo (a, z).

Clase No. 4 2009

Page 22: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Biseccion

AlgoritmoPaso 1: Elegir dos puntos a y b, tales que

f ′(a) < 0 y f ′(b) > 0Elegir una tolerancia ε

Paso 2: Calcular z = a+b2

Evaluar f ′(z)Paso 3: IF |f ′(z)| ≤ ε THEN TERMINARPaso 4: IF f ′(z) < 0 THEN a = z. GOTO Paso 2.

IF f ′(z) > 0 THEN b = z. GOTO Paso 2.

Clase No. 4 2009

Page 23: New Optimizaci´on en Ingenier´ıa - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/optimizacion/clase4-opt... · 2009. 1. 16. · 3. GOTO Paso 4. Clase No. 4 2009. Optimizaci´on en Ingenier´ıa

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

Metodo de Biseccion

Notese que el metodo de biseccion solo evalua la derivada de lafuncion en el nuevo punto generado a cada iteracion. Con estemetodo se elimina exactamente la mitad de la region a cadaiteracion. Sin embargo, este metodo se basa unicamente en el signode la derivada y no en su magnitud. Un metodo que usa estas dospiezas de informacion es el que veremos a continuacion.

Clase No. 4 2009