CAPÍTULO 4. OPTIMIZACIÓN: HERRAMIENTA PARA EL DISEÑO DE POLÍTICAS SOSTENIBLES DE
4.3 O PTIMIZACIÓN EN S ISTEMAS D INÁMICOS
4.3.5 Método de Powell
El método de Powell es un algoritmo que busca un mínimo local de una función dada para un conjunto de vectores lineales independientes, sin utilizar derivadas, y conocido como uno de los métodos de direcciones conjugadas (Kamola y Miazga, 2001). Este método se caracteriza por proporcionar una rápida convergencia en el marco de los métodos de búsqueda directa.
La idea básica consiste en dividir la minimización de dimensión N en N problemas
independientes de minimización unidimensionales. Así, para cada problema unidimensional se implementa una búsqueda binaria para encontrar el mínimo local en un determinado rango. Además, en sucesivas iteraciones, se estiman las mejores direcciones que pueden seguir las búsquedas unidimensionales (Kishihara et al., 2005).
Este algoritmo usa de forma efectiva datos de las iteraciones anteriores para construir nuevas direcciones de búsqueda para la aceleración y, al mismo tiempo, evita degenerar en una secuencia de búsquedas coordinadas. Además, el método se basa en el uso de una función cuadrática, por lo cual cuenta con una base teórica sólida. Según Renders y Bersini (1994), este método es el más preciso cuando se tiene la necesidad de un número elevado de evaluaciones de la función objetivo.
Supóngase que la función Z=ƒ(x,y), en dos dimensiones, y sus curvas de nivel pueden
dibujarse según se muestra en la Figura 4.8. En un principio, siempre se puede minimizar la
función en la dirección de x e y, sucesivamente. Sin embargo, esto podría involucrar
demasiados pasos para hallar el mínimo global de la función, razón por la cual se necesita un mejor conjunto de direcciones de búsqueda.
Si se examina la imagen de la Figura 4.8 se puede apreciar que la función tiene un mínimo local en el punto (3,2) y un máximo local en (-1,0). También su conjunto de curvas de nivel puede dar más información sobre sus valores extremos. Analizando la Figura 4.8 se nota que
75
los desplazamientos desde el punto (-1,2) hacia abajo, implican un crecimiento de las curvas de nivel de la superficie. Esto significa que se estaría ascendiendo hacia el punto de máximo. De la misma forma, desplazamientos desde el punto (3,0) hacia arriba, implican un decrecimiento de las curvas de nivel de la superficie lo que indica que se estaría descendiendo hacia el punto de mínimo.
En la primera iteración, se busca el mínimo de la función en la dirección x, luego en la
dirección y. Después de esto, se hace una minimización a lo largo de una dirección promedio, generada mediante la conexión del punto inicial y el mínimo local recién hallado. Esta dirección promedio es pn – p0 y se utiliza como una nueva dirección de búsqueda para el
mínimo en cada iteración. En la siguiente iteración, se minimiza la función en la dirección y, luego en la última dirección promedio y, después, de nuevo a lo largo de la nueva dirección promedio (Lu et al., 1995). Este proceso se repite hasta que se halla el óptimo global (ver Anexo 1).
Desafortunadamente, la función objetivo no siempre es una función cuadrática. Sin embargo, al mirar de cerca la función alrededor del punto óptimo, se podría suponer que la función objetivo se aproxima a una cuadrática. Por lo tanto, si se puede encontrar un punto de partida cerca al óptimo, entonces se puede encontrar un resultado satisfactorio. A pesar de estos resultados, existen otros inconvenientes con este método, los cuales se discuten más adelante.
El Algoritmo de Optimización
Cada iteración de este método empieza con una búsqueda de n direcciones linealmente
independientes s1, s2,…, sn, a partir la aproximación del punto mínimo conocido p0 (Figura 4.8). Estas direcciones son elegidas para ser inicialmente las direcciones coordenadas (co-
ordinate directions), lo que quiere decir que el inicio de la primera iteración es idéntico a una
iteración del método que cambia un solo parámetro a la vez. Este último método es modificado para generar unas direcciones conjugadas haciendo que cada iteración defina una nueva dirección s y, eligiendo las direcciones linealmente independientes para la próxima iteración s2, s3,…, sk, s. La forma en que se define s asegura que si una función cuadrática se minimiza, después de k iteraciones, el último k de las n direcciones elegidas para la (k+1)- ésima iteración son mutuamente conjugados (Powell, 1964). Después de n iteraciones todas
Figura 4.8 Funcionamiento del Método de Powell
Óptimo global Inicio p0
Optimización Dinámica de Estrategias de Movilidad Sostenible en Áreas Metropolitanas
76
las direcciones son mutuamente conjugadas y se probará que el mínimo exacto de la función es encontrado.
Esto quiere decir que este método genera las direcciones conjugadas utilizando solo una búsqueda en una dimensión en cada iteración: si s1 y s2 son dos vectores generados por una búsqueda unidimensional en la misma dirección u, pero desde diferentes puntos, quiere decir que s1 - s2 son mutuamente conjugados de u (Delaurenti, 1999).
Como se mencionó anteriormente, la dirección pn – p0 representa la dirección promedio de
búsqueda sobre la cual se mueve el algoritmo hasta encontrar un mínimo. Entonces, el punto
x1 se determina como el punto en donde la función ƒ es mínima a lo largo del vector pn – p0.
De esta manera, si tenemos {sk, k=1, 2,…, n} ∈P⊆Rn = un conjunto de vectores linealmente
independientes en P, y siendo p0=punto de partida, la iteración del procedimiento básico es (iniciando con i = 0):
1. Hacer p0 = xi
2. Para k=1, 2,…,nse calcula αk de tal manera que ƒ(xk-1+αk·sk) sea un mínimo definido por
xk=xk-1+αk sk
3. Para k=1, 2,…,n-1 se reemplaza sk por sk+1 y reemplazar sn por (xn – x0)
4. Hacer i = i + 1
5. Elegir un α de modo que ƒ(xi+ α(xn - x0)) sea mínimo y reemplazar x0 por x0+ α(xn - x0)
6. Repetir hasta que se alcancen los criterios de convergencia.
Este algoritmo es equivalente a una búsqueda unidimensional hecha de forma secuencial a lo largo de direcciones mutuamente conjugadas.
El Método de Powell Modificado
El procedimiento básico descrito en la sección anterior se modifica con el fin de garantizar que la tasa de convergencia al mínimo sea satisfactoria, aún cuando la aproximación inicial sea bastante pobre. El motivo por el cual este cambio se debe tener en cuenta es porque en ocasiones, el procedimiento básico puede escoger direcciones casi dependientes, lo que puede ser un asunto serio si la función a optimizar tiene más de cinco variables.
En particular, en el paso 3 del procedimiento anterior, el primer vector s1 se descarta y la
nueva dirección media xn – x0 se adiciona a los vectores de búsqueda. También, si α1 es cero, las direcciones resultantes no abarcarán todos los parámetros del espacio. De hecho, lo mejor sería descartar el vector sn a lo largo de la dirección donde se presenta la mayor
disminución de la función ƒ.
El procedimiento de dejar de lado en cada iteración, sn a favor de xn – x0, tiende a producir conjuntos de direcciones que pueden ser linealmente dependientes. Cuando esto pasa, el
método encuentra el mínimo de la función ƒ solamente en un sub-espacio de todas las N
dimensiones del caso; es decir, el resultado es erróneo. De manera que en el procedimiento básico, en el paso 3 se asume que el vector de dirección media xn – x0 representa una buena dirección de búsqueda. Aunque no siempre puede ser así.
Como consecuencia de esto, una de las direcciones mutuamente conjugadas puede ser desechada, lo que implica que se requieren más iteraciones para encontrar el mínimo exacto de una función. Aunque esto es desafortunado, es una modificación esencial para optimizar
77
una función de muchas variables. La prueba de que la convergencia es siempre eficiente se puede consultar en Powell (1964).
Así que el nuevo procedimiento descrito a continuación permite a una dirección que no sea sn ser desechada, de manera que la nueva dirección deberá contener siempre una parte considerable de la que se perdió. El proceso iterativo de este proceso quedaría de la siguiente forma:
1. Hacer p0 = xi
2. Para k=1, 2,…,nse calcula αk de tal manera que ƒ(xk-1+αk·sk) sea un mínimo definido por
xk=xk-1+αk sk
3. Hacer ∆ƒk = ƒ(xk) – ƒ(xk-1); para k=1, 2,…,n. Encontrar el subíndice r….
De manera que ∆ƒ = |∆ƒr| = max{|∆ƒr|} sea la magnitud del máximo descenso de ƒ; y sr
la dirección de la disminución máxima sobre las direcciones del paso anterior 4. Hacer i = i + 1
5. Hacer ƒk = ƒ(xk) – ƒ(xk-1); para k=1, 2,…,n
Dejar ƒ3= ƒ(2xn - x0) el valor de la función en la nueva dirección 2(xn - x0) desde x0
Si cualquiera ƒ3 ≥ ƒ0 y/o (ƒ0 - 2ƒn + ƒ3)·(ƒ0 – ƒn - ∆ƒ)2≥ ½∆ƒ(ƒ0 – ƒs)2 usar las viejas direcciones s1, s2,…, sn, para la siguiente iteración y volver al paso 1. De lo contrario, seguir con el paso 6.
6. Hacer sr = xn – x0 con el subíndice r obtenido en el paso 3
7. Definiendo sr = (xn – x0), se calcula αmin de modo que ƒ(xn + αmin·sr) sea mínimo y hacer xi =
x0 + α·sr como el punto de inicio de la nueva iteración.
8. Repetir hasta la convergencia.
Si las condiciones en el paso 5 se satisfacen, el conjunto de direcciones de búsqueda se mantiene inalterado. La primera desigualdad en el paso 5 indica que no hay más disminución en el valor de la función ƒ en la dirección xn – x0. La segunda desigualdad se refiere a que la disminución en la función ƒ en la dirección de mayor descenso sr no era una parte importante
en la disminución de ƒ en el paso 2. Si las condiciones en el paso 5 no se satisfacen, la dirección de mayor disminución sr se reemplaza por la dirección de búsqueda calculada en el
paso 2, xn – x0. Luego, la función es minimizada en la dirección calculada en el paso 7. Los criterios de convergencia se basan en las diferencias entre |xi – xi-1|.
Limitaciones del Método
Para solventar el problema de dependencia de las direcciones de búsqueda, Powell revisó su método, introduciendo nuevos criterios para la formación de vectores de dirección independientes linealmente (Powell, 1968). Posteriormente, se introduce una mejora en el método de Powell que evita la posibilidad de que existan direcciones conjugadas linealmente dependientes (Zangwill, 1967).
La manera de solucionar el problema de la dependencia lineal puede solucionarse de varias formas, entre otras (Press et al., 2007):
Optimización Dinámica de Estrategias de Movilidad Sostenible en Áreas Metropolitanas
78
1. Reinicializar el conjunto de direcciones si al vector base ei después de cada N o N+1
iteraciones del procedimiento básico. Esto produce un procedimiento útil si las funciones son de forma cuadrática y si se desea una precisión alta.
2. Brent (1973) señala que el conjunto de direcciones puede ser restablecido a las columnas de cualquier matriz ortogonal. En lugar de desechar la información ya obtenida de las direcciones conjugadas, Brent reinicia la dirección establecida para calcular las direcciones principales de la matriz A. El cálculo es esencialmente una particularización del algoritmo de descomposición por valores simples (Lawson y Hanson, 1974). La modificación de Brent al método de Powell es probablemente la mejor hasta el momento (Press et al., 2007) y es el método utilizado en la presente Tesis Doctoral.
3. Se puede renunciar a la propiedad de la convergencia cuadrática a favor de un esquema
más heurístico, que trate de encontrar unas pocas, pero buenas direcciones a lo largo de estrechos valles, en lugar de necesariamente N direcciones conjugadas.
Ventajas del Método
La motivación principal para usar el algoritmo de Powell modificado se deriva de la
observación de que si una función cuadrática de N variables se puede transformar de tal
forma que sea simplemente la suma de cuadrados perfectos, entonces puede obtenerse el óptimo después de efectuar exactamente N búsquedas sobre una variable, cada una de ellas con respecto a cada una de las variables transformadas. De esta manera, a continuación se describen las principales características del método de optimización escogido para esta tesis doctoral:
• No usa derivadas
• Se parte de un punto p0 y N direcciones {si} arbitrarias
• Se elimina s1 y se agrega un nuevo sN, de tal manera que sN =pN– p0
• Un nuevo p0 es mínimo a lo largo del nuevo sN
• Las direcciones se van haciendo conjugadas, y se llega al mínimo de forma cuadrática tras N iteraciones del ciclo
• Si se presenta el inconveniente de la aparición de una tendencia a una dependencia lineal de {si} (convergencia a mínimo de subespacio):
o Se reinicia {si} tras ≈N iteraciones
Hay dos razones principales para elegir un modelo cuadrático: es el tipo más simple de función no lineal a minimizarse (las funciones lineales no pueden manejar óptimos interiores), y por tanto, cualquier técnica general debe trabajar bien en una función cuadrática si esta tiene éxito con una función general.
Cerca del óptimo, todas las funciones no lineales pueden aproximarse mediante una cuadrática (esto se debe a que, en ese caso, la parte lineal de la expansión de Taylor debe desvanecerse). Por tanto, el comportamiento del algoritmo en la función cuadrática dará alguna indicación sobre cómo convergerá el algoritmo en el caso de funciones generales.
79