optimizaci´on en ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase9-opt... · 2008....

35
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. 9 2008

Upload: others

Post on 03-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Optimización en Ingenieŕıa

    Dr. Carlos A. Coello Coello

    Departamento de Computación

    CINVESTAV-IPN

    Av. IPN No. 2508

    Col. San Pedro Zacatenco

    México, D.F. 07300

    email: [email protected]

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Puede verse que la estrategia de búsqueda es simple y muy directa.El algoritmo requiere menos almacenamiento para las variables;sólo se requiere almacenar dos puntos (x(k) y x(k+1)) a cadaiteración. Los cálculos numéricos involucrados en el proceso sontambién simples. Pero, debido a que la búsqueda depende en granmedida de los movimientos a lo largo de las direccionescoordenadas (x1, x2 y aśı sucesivamente) durante el movimientoexploratorio, el algoritmo puede converger prematuramente a unasolución errónea, especialmente en el caso de funciones coninteracciones altamente no lineales entre las variables.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    El algoritmo puede quedar atrapado también en el ciclo degeneración de movimientos aleatorios entre los pasos 5 y 6 o entrelos pasos 2 y 3. Otra caracteŕıstica de este algoritmo es que terminasólo tras buscar exhaustivamente la vecindad del punto al que se haconvergido. Esto requiere un número elevado de evaluaciones de lafunción objetivo para poder converger a una solución que tenga unaprecisión razonable. La convergencia al óptimo depende delparámetro α. Se recomienda usar α = 2.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Este algoritmo es muy simple, los cálculos que requiere no son muyelaborados y sus requerimientos de memoria son aún menores quelos asociados con el método de búsqueda simplex. Debido a estosfactores, el algoritmo de Hooke-Jeeves ha gozado de una ampliaaplicabilidad en todas las áreas de la ingenieŕıa, especialmente encombinación con funciones de penalización.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Nótese, sin embargo, que debido a su dependencia de losincrementos de coordenadas, el algoritmo puede terminarprematuramente y, en la presencia de no linealidades severas, éstedegenerará en una secuencia de movimientos exploratorios sinbeneficio de la acelaración de patrones.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Se han reportado numerosas modificaciones al método básico deHooke-Jeeves en la literatura especializada. Por ejemplo, Bandler yMcDonald (1969) le insertaron reglas para expandir y contraer losincrementos exploratorios aśı como para permitir un paso depatrón contráıdo en caso de que el paso de patrón normal falle.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Reklaitis et al. (1983) sugieren agregar otra fase al algoritmo, a laque denominan explotación de patrones. La idea es que cuando seencuentra un movimiento exitoso, se procede a explorarcompletamente esta dirección de búsqueda llevando a cabo unabúsqueda lineal a lo largo de esta dirección (lo menos que se hacees usar pasos de magnitud creciente). Esto puede acelerar demanera significativa la convergencia del método.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Emery y O’Hagan (1966) alteraron la fase exploratoria delalgoritmo usando un conjunto de direcciones ortogonales debúsqueda cuya orientación se redirija aleatoriamente después decada iteración.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Aunque desarrollado de manera independiente, el algoritmo deRosenbrock (1960) puede verse también como una variante delmétodo de Hooke-Jeeves. En este caso, se genera una dirección debúsqueda basada en el progreso acumulado de las iteracionesrecientes (al igual que en el método de Hooke-Jeeves). Sin embargo,a diferencia del método de Hooke-Jeeves, el enfoque de Rosenbrockcambia continuamente el conjunto de vectores de direcciónutilizados en la fase exploratoria mediante un proceso deortogonalizaciones.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Otra técnica desarrollada por Swann (1964) y a la cual se le llamaalgunas veces método de búsqueda multivariada DSC, usa unaestrategia similar a la de Rosenbrock. En vez de basarse sólo ensimples incrementos para cada dirección, se efectúa una búsquedalineal completa en cada dirección.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    El Método de Patrones

    de Búsqueda de Hooke-Jeeves

    Cada una de estas variantes afirma ofrecer ventajas con respecto alas otras en ciertas aplicaciones. Sin embargo, es cuestionable si lascomplicaciones que se le añaden al algoritmo son justificables. Si seusará un método de búsqueda más sofisticado, existe un algoritmomejor que todas estas heuŕısticas: el método de las direccionesconjugadas de Powell.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Este método fue propuesto originalmente en 1964 [Powell, 1964] yse le considera el método de búsqueda directa más exitoso,particularmente cuando se hace uso de las modificaciones sugeridaspor Zangwill (1967) y Brent (1973).

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Este algoritmo usa efectivamente la historia de las iteraciones paraconstruir direcciones para la aceleración y al mismo tiempo evitadegenerar en una secuencia de búsquedas coordinadas. Además, elmétodo se basa en el uso de una función cuadrática, por lo cualcuenta con una base teórica sólida.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Hay 2 razones principales para elegir un modelo cuadrático:

    1. Es el tipo más simple de función no lineal a minimizarse (lasfunciones lineales no pueden manejar óptimos interiores), y portanto, cualquier técnica general debe trabajar bien en unacuadrática si ésta tendrá éxito con una función general.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    2. Cerca del óptimo, todas las funciones no lineales puedenaproximarse mediante una cuadrática (esto se debe a que, enese caso, la parte lineal de la expansión de Taylor debedesvanecerse). Por tanto, el comportamiento del algoritmo enla cuadrática dará alguna indicación sobre cómo convergerá elalgoritmo en el caso de funciones generales.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    La motivación principal de este algoritmo se deriva de laobservación de que si una función cuadrática de N variables sepuede transformar de tal forma que sea simplemente la suma decuadrados perfectos, entonces puede obtenerse el óptimo después deefectuar exactamente N búsquedas sobre una variable, cada una deellas con respecto a cada una de las variables transformadas.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    El proceso de transformar una función cuadrática de la forma:

    q(x) = a+ bTx+12xTCx (1)

    en una suma de cuadrados perfectos es equivalente a encontrar unamatriz de transformación T tal que el término cuadrático esreducido a una forma diagonal.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Por tanto, dada la forma cuadrática

    Q(x) = xTCx (2)

    la transformación deseada:

    x = Tz (3)

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    producirá:

    Q(x) = zTTTCTz = zTDz (4)

    donde D es una matriz diagonal, esto es, sus elementos sondistintos de cero sólo si i = j.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Hagamos que tj sea la j-ésima columna de T. Entonces latransformación de la ecuación (3) expresa el hecho de que estamosreescribiendo cada vector x como una combinación lineal de losvectores columna tj :

    x = Tz = t1z1 + t2z2 + . . .+ tNzN (5)

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    En otras palabras, en vez de escribir x en términos del sistema decoordenadas estándar representado por el conjunto de vectores e(i),estamos expresándolo en términos de un nuevo sistema decoordenadas dado por el conjunto de vectores tj . Adicionalmente,puesto que diagonaliza la cuadrática, este conjunto de vectores tjcorresponde a los ejes principales de la forma cuadrática.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Gráficamente, esto corresponde a tomar una función cuadráticageneral con términos cruzados (ver figura del acetato siguiente) yrealinear los nuevos ejes coordenados de manera que coincidan conlos ejes mayores y menores de la cuadrática como se muestra en lafigura incluida 2 acetatos adelante.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Para resumir, tomando la cuadrática a través de la transformación,realmente estamos escogiendo un nuevo sistema coordenado para lacuadrática que coincida con los ejes principales de la cuadrática.Consecuentemente, las búsquedas unidimensionales realizadas en elespacio de la variables transformadas (z) corresponde simplementea búsquedas unidireccionales a lo largo de cada uno de los ejesprincipales de la cuadrática.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Puesto que los ejes principales son los mismos que en el vector tj ,las búsquedas unidimensionales realmente se efectúan a lo largo decada uno de estos vectores.

    En clase veremos un ejemplo de este procedimiento.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Procederemos ahora a generalizar nuestro ejemplo en clase y elanálisis previo. Si puede obtenerse un conjunto adecuado devectores de transformación tj ; j = 1, . . . , N , al que llamaremosdirecciones conjugadas, entonces el óptimo de una funcióncuadrática puede obtenerse mediante exactamente N búsquedasunidimensionales, una a lo largo de cada una de las N direccionestj ; j = 1, . . . , N .

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    La pregunta que queda es cómo calcular un conjunto de vectores detransformación adecuados. Claramente, si tuviésemos disponibleuna estimación de la matriz C, entonces podŕıamos obtener latransformación T usando eliminación Gaussiana seguida por unainversión matricial.

    La eliminación Gaussiana producirá la factorización:

    C = PTDP (6)

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    por lo que,

    (P−1)TC(P−1) = D y T = P−1 (7)

    servirá para nuestros fines.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Sin embargo, en nuestro caso no se encuentra disponible unestimado de C, porque estamos buscando desarrollar un métodopara optimizar f(x) el cual use sólo valores de la función y noprimeras o segundas derivadas de la misma.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Afortunadamente, puede obtenerse de cualquier forma un conjuntode direcciones conjugadas usando únicamente valores de la funciónusando como base la siguiente propiedad elemental de las funcionescuadráticas llamada propiedad del subespacio paralelo.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Propiedad del Subespacio Paralelo

    Dada una función cuadrática q(x), dos puntos arbitrarios perodistintos x(1) y x(2), y una dirección d; si y(1) es la solución amin q(x(1) + λd) y y(2) es la solución a min q(x(2) + λd), entoncesla dirección (y(2) − y(1)) es C conjugada a d.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    En dos dimensiones, esta propiedad puede ilustrarse con la figuradel acetato siguiente, en la que se puede ver que una búsquedaunidimensional desde y(1) o y(2) a lo largo de la dirección(y(2) − y(1)) producirá el mı́nimo.

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Clase No. 9 2008

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Método de las Direcciones Conjugadas de Powell

    Por tanto, podemos concluir que en dos dimensiones, si efectuamostres búsquedas unidimensionales, puede generarse un conjunto dedirecciones conjugadas y, además, puede obtenerse el óptimo de lacuadrática.

    Antes de proceder a explotar esta importante propiedad, haremosuna pequeña pausa para bosquejar la demostración de la misma.

    Clase No. 9 2008