optimizaci´on en ingenier´ıa -...
TRANSCRIPT
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. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda de Fibonacci
AlgoritmoPaso 1: Elegir un lımite inferior a y un lımite superior b.
L = b− aElegir un numero deseado de iteraciones Nk = 2
Paso 2: L∗k = (Fn−k+1/Fn+1) ∗ Lx1 = a+ L∗k; x2 = b− L∗k
Paso 3: Calcular f(x1) o f(x2)(el que no se haya evaluado antes)Usar la propiedad de eliminacion de regiones.Establecer nuevos valores de a y b.
Paso 4: ¿Es k > N ?Si no, k = k + 1, GOTO Paso 2ELSE TERMINAR
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda de Fibonacci
Observaciones:
La funcion a optimizarse debe ser unimodal en el intervaloinicial de busqueda.
Este metodo no puede localizar el optimo exacto del problema.Solo proporciona un intervalo, el cual posiblemente sea muypequeno.
Debe especificarse el numero de iteraciones a efectuarse.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda de Fibonacci
Con la busqueda de Fibonacci, el intervalo se reduce a
(2/Fn+1) ∗ L
despues de n evaluaciones de la funcion objetivo. Por tanto,para una precision deseada ε, se requiere un numero deevaluaciones correspondientes a la ecuacion
2Fn+1
(b− a) = ε
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de Busqueda de Fibonacci
Notese que debe calcularse la serie de Fibonacci hasta N + 1 alusar este metodo.
A cada iteracion, se elimina una proporcion del espacio debusqueda de: (k = iteracion actual)
Fn−k/Fn−k+2
Para valores grandes de n, este valor es cercano a 38,2 %, locual es mejor que la reduccion del metodo de division deintervalos por la mitad, que elimina el 25 %.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
Uno de los problemas de la busqueda de Fibonacci es que debencalcularse y almacenarse los numeros de Fibonacci. Otro problemaes que a cada iteracion la proporcion de la region eliminada no es lamisma.
Para aliviar estas dos desventajas y mantener el calculo de una solaevaluacion de la funcion objetivo por iteracion, se usa el metodo dela seccion dorada.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
En este algoritmo, el espacio de busqueda (a, b) se mapealinealmente a un intervalo unitario (0, 1). Posteriormente, dospuntos en τ desde cualquier extremo del espacio de busqueda seeligen en forma que a cada iteracion la region eliminada sea de(1− τ) con respecto a la iteracion previa. Esto se puede lograrigualando 1− τ con (τ × τ). Esto produce el numero dorado:τ =0.618.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
El valor de τ tiene su historia. Los arquitectos de la Grecia antiguacreıan que un edificio de dimensiones d y b, el cual cumpliera con larelacion
τ =d+ b
d=d
b
tendrıa las propiedades mas placenteras a los sentidos (ver figuradel siguiente acetato):
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
Tambien se encuentra este concepto en la geometrıa de Euclides.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
AlgoritmoPaso 1: Elegir un lımite inferior a y un lımite superior b.
Elegir una tolerancia εNormalizar la variable x usando:w = (x− a)/(b− a)aw = 0, bw = 1, Lw = bw − awk = 1
Paso 2: w1 = aw + (0,618)Lww2 = bw − (0,618)LwIF f(w1) < f(w2) aw = w2
ELSE bw = w1
Lw = bw − awPaso 3: IF |Lw| < ε TERMINAR
ELSE k = k + 1; GOTO Paso 2
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
En el metodo de la seccion dorada, el intervalo se reduce a(0.618)n−1 despues de n evaluaciones de la funcion objetivo. De talforma, el numero de evaluaciones de la funcion objetivo que serequieren para lograr una precision deseada ε se calcula resolviendo(para n) la siguiente ecuacion:
(0,618)n−1(b− a) = ε
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de la Seccion Dorada
Al igual que en la busqueda de Fibonacci, solo se requiere unaevaluacion de la funcion objetivo por iteracion y la eliminacionregional efectiva por evaluacion de la funcion es exactamente38.2 %, que es un valor mas alto que en el metodo de division deintervalos por la mitad. Esta cantidad es la misma que en labusqueda de Fibonacci para un valor grande de n. De hecho, paraun valor grande de n, el metodo de Fibonacci es equivalente a laseccion dorada.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
Comparemos ahora las eficiencias relativas de los metodos deeliminacion de regiones que hemos visto hasta ahora. Denotemos elintervalo de incertidumbre original como Lo y al intervalo deincertidumbre final, despues de N evaluaciones de la funcionobjetivo le llamaremos LN . Supongamos ahora que consideramos ala reduccion fraccional (RF ) del intervalo original como unamedida de merito de los metodos de eliminacion de regiones.Tenemos entonces:
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
RF (N) =LNLo
La siguiente tabla muestra los intervalos finales de incertidumbrede cada uno de los metodos que vimos:
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
Metodo Formula
Busqueda Exhaustiva LN = 2NLo
Div. intervalos por la mitad LN =0.5N/2Lo
Fibonacci LN = 2FN+1
Lo
Seccion dorada LN =(0.618)N−1Lo
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
Las reducciones fraccionales pueden obtenerse facilmente:
Busqueda exhaustiva:
RF (N) =LNLo
=2LoNLo
=2N
Division de intervalos por la mitad:
RF (N) =LNLo
=0,5N/2Lo
Lo= 0,5N/2
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
Fibonacci:
RF (N) =LNLo
=2Lo
FN+1Lo=
2FN+1
Seccion Dorada:
RF (N) =LNLo
=(0,618)N−1Lo
Lo= (0,618)N−1
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
La siguiente tabla muestra los valores de RF (N) para distintosvalores de N . Estos valores son indicativos de la eficiencia de cadametodo.
Metodo N = 5 N = 10 N = 15 N = 20
Busqueda Exhaustiva 0.4 0.2 0.133 0.1
Div. intervalos 0.177 0.03125 0.0055 0.0009765
por la mitad
F6=13 F11=144 F16=1597 F21=17711
Fibonacci 0.1538 0.01389 0.00125 0.000113
Seccion dorada 0.1459 0.01315 0.001185 0.00010685
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
De esta tabla se desprende que el metodo mas eficiente es el deFibonacci, seguido por la seccion dorada.
En la practica, suele calcularse el numero de iteraciones que serequieren para obtener una precision dada. Esto se puede obtenerusando:
LN = ε
ε = precision requerida. Si usamos Lo = 1, podemos obtener elnumero de iteraciones que requiere cada metodo para lograr unaprecison dada. Ver la tabla siguiente:
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Comparacion de los Metodos de Eliminacion de
Regiones
Metodo ε =0.1 ε =0.05 ε =0.01 ε =0.001
Busqueda Exhaustiva 19 39 199 1999
Div. intervalos 7 9 14 20
por la mitad
Seccion dorada 6 8 11 16
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodos de Aproximacion Polinomial o
Estimacion de Puntos
Los metodos de eliminacion de regiones que vimos anteriormente,solo requieren que la funcion sea unimodal. Por tanto, sonaplicables tanto a funciones continuas como discontinuas, ası comoa problemas con variables discretas. La logica de estos metodos sebasa en una simple comparacion de valores de la funcion en 2puntos diferentes. Ademas, esta comparacion solo toma en cuenta elordenamiento de los valores de la funcion y no involucra de maneraalguna a las magnitudes de la diferencia entre valores funcionales.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodos de Aproximacion Polinomial o
Estimacion de Puntos
Los metodos de estimacion de puntos sı toman en cuenta lasmagnitudes relativas de los valores de la funcion y, en consecuencia,suelen tener mejor desempeno que los metodos de eliminacion deregiones. Sin embargo, esta mejora en eficiencia se obtiene a partirde requerir que las funciones a optimizarse sean sufientemente“suaves”.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodos de Aproximacion Polinomial o
Estimacion de Puntos
La idea basica de los metodos de estimacion de puntos es que si lafuncion es suficientemente “suave”, entonces puede ser aproximadamediante un polinomio, y dicho polinomio puede entonces usarsepara predecir la ubicacion del optimo. Para que esta estrategia seaefectiva, es necesario que la funcion a optimizarse sea tantounimodal como continua.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodos de Aproximacion Polinomial o
Estimacion de Puntos
El teorema de la aproximacion de Weierstrass garantiza que, si lafuncion es continua en el intervalo considerado, entonces esta puedeser aproximada con la precision deseada usando polinomios de unorden suficientemente alto. Consecuentemente, si la funcion esunimodal y se cuenta con un polinomio que la aproximerazonablemente bien, entonces la ubicacion del optimo puedepredecirse razonablemente bien usando el polinomio en cuestion.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodos de Aproximacion Polinomial o
Estimacion de Puntos
El teorema de Weierstrass tambien sugiere que se puede mejorarnuestra aproximacion del optimo usando polinomios deaproximacion mediante alguno de los 2 mecanismos siguientes:
1. Usando un polinomio de mayor orden, o
2. Reduciendo el intervalo sobre el cual se aproximara el optimode la funcion.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodos de Aproximacion Polinomial o
Estimacion de Puntos
De entre estas 2 opciones, suele preferirse la segunda, porque elalgebra de los polinomios de un orden superior a tres se complicabastante y, debido a la premisa de unimodalidad, la reduccion deintervalos es mucho mas facil de realizarse.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodos de Estimacion Cuadratica
El metodo de interpolacion lineal mas simple es la aproximacioncuadratica. Se basa en la observacion de que si una funcion alcanzasu mınimo en el interior de un intervalo, entonces debe ser al menoscuadratica. Si es lineal, se supondra que su optimo se encuentra enalguno de los extremos del intervalo. Por tanto, un esquema deestimacion cuadratica presupone que, dentro del intervalo dado, lafuncion puede ser aproximada mediante una cuadratica y dichaaproximacion mejorara conforme los puntos utilizados paraconstruir la aproximacion se acercan al mınimo real.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de las Estimaciones Cuadraticas Sucesivas
Este algoritmo fue propuesto por Powell (1964) y usa la busquedacuadratica de manera iterativa para estimar el optimo de unafuncion. El algoritmo comienza con tres puntos x1, x2 y x3, como labusqueda cuadratica vista previamente. Esto es porque cualquierfuncion cuadratica puede ser definida usando tres puntos.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de las Estimaciones Cuadraticas Sucesivas
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de las Estimaciones Cuadraticas Sucesivas
El mınimo de la curva (x) se usa como uno de los puntoscandidatos para la siguiente iteracion.
Para funciones no cuadraticas, el algoritmo requiere variasiteraciones, mientras que para funciones cuadraticas el mınimoexacto puede obtenerse con solo una iteracion.
Clase No. 3 2009
Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello
Metodo de las Estimaciones Cuadraticas Sucesivas
El metodo de Powell consiste en aplicar la busqueda cuadraticausando tres puntos x1 ,x2 y x3 y calcular x. El punto x es unestimado del mınimo de la funcion, el cual depende unicamente delos 3 puntos elegidos. De entre los cuatro puntos utilizados por elmetodo (x1,x2,x3 y x), se retienen los 3 mejores y se obtiene unanueva funcion interpolada q(x). El procedimiento continua hastaque dos estimaciones consecutivas se encuentran muy cerca entre sı.
Clase No. 3 2009
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. 3 2009
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. 3 2009
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. 3 2009
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. 3 2009