Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Optimización en Ingenierı́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. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello El Concepto de Penalización Un método de penalización interior es el resultado de seleccionar una forma para Ω que forzará a los puntos estacionarios de P (x, R) a ser factibles. A estos métodos se les denomina también métodos de barrera, puesto que el término de penalización forma una barrera de valores de P a lo largo de la frontera de la región factible. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello El Concepto de Penalización Cualquier técnica útil de transformación debiera tener las siguientes caracterı́sticas: 1. Las soluciones al subproblema debieran aproximar una solución del problema de optimización no lineal. Esto es lı́m t→T <∞ x(t) = x∗ . 2. El problema de minimizar P (x, R) debiera ser similar en dificultad a minimizar f (x). Esto es, el método será poco útil si los subproblemas sin restricciones son excesivamente difı́ciles de resolver, sin importar qué tan fuerte sea la base teórica de la convergencia del método. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello El Concepto de Penalización 3. R(t+1) = F (R(t) debiera ser simple. Parece razonable esperar que el tiempo de cálculo asociado con la actualización de los parámetros de penalización sea pequeño comparado con el esfuerzo asociado con la solución de los subproblemas sin restricciones. Un esfuerzo grande se justificarı́a sólo en el caso en que se lidie con una función objetivo y con restricciones muy complejas. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Primero consideraremos la penalización parabólica usada para restricciones de igualdad: Ω = R{h(x)}2 (1) La gráfica de este tipo de penalización se muestra en el acetato siguiente. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Nótese que el término de penalización parabólico desalienta igualmente violaciones positivas o negativas de h(x). Además, es claro que al incrementar los valores de R, los valores estacionarios de P (x, R) aproximarán x∗ puesto que, en el lı́mite, al incrementar R, h(x(T ) ) = 0. Nótese también que Ω es continua y tiene derivadas continuas. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Consideremos ahora funciones de penalización para restricciones de desigualdad. Posiblemente la forma más simple es la denominada de barrera infinita que se muestra en la figura del acetato siguiente. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Esta función de penalización asigna una penalización infinita a todos los puntos infactibles y ninguna penalización a los puntos factibles. El uso de este término hace que P (x, R) sea discontinua a lo largo de la frontera de la región factible y, obviamente, ∇P no existe a lo largo de la frontera. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Evidentemente, las computadoras no pueden manejar verdaderas penalizaciones infinitas, ası́ que en la práctica, se usan números muy grandes. Por ejemplo, Siddall (1972) sugiere usar: Ω = 10 20 X |gj (x)| (2) j∈J¯ donde J¯ identifica el conjunto de restricciones violadas. Es decir: gj (x) < 0 Clase No. 16 para toda j ∈ J¯ (3) 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Otra forma útil es la penalización logarı́timica que se muestra en la figura del acetato siguiente. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Nótese que este término produce una penalización positiva para toda x tal que 0 < g(x) < 1 y una penalización negativa para toda x tal que g(x) > 1. De esta forma, se favorecen artificialmente los puntos interiores sobre los puntos de frontera. Podrı́an evitarse las penalizaciones negativas haciendo Ω = 0 para toda x tal que g(x) > 1, pero si hacemos eso, se introduce una discontinuidad en ∇P en la región interior cercana a la frontera. Nótese que en este caso se requiere de un procedimiento especial de recuperación para manejar puntos infactibles. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Otra función de penalización común es la denominada penalización inversa: 1 Ω=R g(x) (4) Esta penalización se ilustra gráficamente en el acetato siguiente. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Esta penalización es también de barrera, con dificultades similares asociadas a la evaluación de puntos infactibles. Es obvio que en este caso se asignan penalizaciones negativas a los puntos infactibles y se requieren chequeos adicionales. Por otra parte, a los puntos factibles cercanos a la frontera se les asignan penalizaciones rápidamente decrecientes conforme se penetra la región interior. P (x, R) y ∇P no existen a lo largo de la frontera de la región factible. Comenzando con un punto factible inicial, y una R positiva, se decrementa R hacia cero en el lı́mite. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Finalmente, consideremos la función de penalización de corchete: Ω = R < g(x) >2 (5) donde: α < α >= 0 si α ≤ 0 (6) si α > 0 Esta función de penalización se ilustra gráficamente en el siguiente acetato. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Nótese en primer término que el operador de corchete produce una función de penalización exterior. Por tanto, los puntos estacionarios de P (x, R) pueden ser infactibles. Por otra parte, nótese que los puntos factibles e infactibles son manejados igualmente bien por el término, y de hecho, no se asigna penalización a los puntos de frontera o a los puntos factibles. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización El operador de corchete produce una atractiva función de penalización. P (x, R) existe en todas partes (para una x finita) y es continua. R se elige positivo y se incrementa después de cada etapa de optimización sin restricciones. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización El cambio del factor de penalización R en secuencias sucesivas depende del tipo de función de penalización que se utilice (exterior o interior). Si el óptimo de la función sin restricciones es el verdadero óptimo del problema con restricciones (esto es, las restricciones no excluyen al óptimo de la función objetivo sin restricciones), un valor inicial de R = 0 (o cualquier otro valor de R) resolverá el problema con restricciones. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización De lo contrario, si las restricciones hacen que el óptimo de la función objetivo sin restricciones se vuelva infactible, debe aplicarse varias veces el algoritmo de optimización para problemas sin restricciones, usando una función objetivo penalizada. Cuando esto sucede, el óptimo restringido se encuentra usualmente en un punto de frontera (es decir, se trata de un punto que cae en al menos una superficie de restricción). Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización En el método de penalizaciones exteriores, puede usarse un punto factible o uno infactible como el punto inicial de la primera secuencia, mientras que en el método de penalizaciones interiores, se desea un punto inicial factible. En el caso del factor de penalización exterior, un valor inicial pequeño de R produce una solución cercana al óptimo sin restricciones. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Conforme se incrementa R en secuencias sucesivas, la solución mejora y finalmente se acerca al óptimo restringido. Con una penalización interior, sin embargo, un valor grande de R resulta en una solución factible alejada de los lı́mites impuestos por las restricciones. Conforme se disminuye R, la solución mejora y se acerca al óptimo restringido. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización A continuación presentamos el algoritmo del método de penalizaciones exteriores. Nótese, sin embargo, que debe definirse un factor de penalización R adecuado para cada problema y que éste, normalmente debe modificarse sucesivamente. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Algoritmo Paso 1: Elegir tolerancias 1 , 2 , una solución inicial X (0) , una función de penalización Ω y un factor de penalización incial R(0) . Elegir un parámetro c para actualizar R tal que 0 < c < 1 (para penalizaciones interiores) o c > 1(para penalizaciones exteriores). Hacer t = 0 Paso 2: Formar P (X (t) , R(t) ) = f (X (t) ) + Ω(R(t) , g (t) , h(t) ) Paso 3: Comenzando con una solución X (t) , encontrar X (t+1) tal que P (X (t+1) , R(t) ) sea mı́nima para una valor fijo de R(t) Usar 1 para terminar la búsqueda sin restricciones (t+1) (t) (t) (t−1) Paso 4: ¿Es P (X , R ) − P (X , R ) ≤ 2 ? Sı́, entonces reportar X (t+1) . Terminar De lo contrario, ir al Paso 5. Paso 5: Elegir R(t+1) = cR(t) . Hacer t = t + 1 e ir al Paso 2. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización La principal ventaja de este método es que con él se puede manejar cualquier tipo de restricción (convexa o no convexa). El algoritmo no toma en cuenta la estructura de las restricciones, por lo que puede manejar por igual restricciones lineales o no lineales. Este método, sin embargo, tiene también sus inconvenientes. En cada secuencia, la función penalizada se distorsiona un poco con respecto a la función objetivo original. Esto hace que la búsqueda sin restricciones se torne más lenta, con lo cual se requieren más evaluaciones de la función para alcanzar el óptimo. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Adicionalmente, si se tienen varias restricciones, esta transformación puede hacer que la función penalizada tenga óptimos locales artificiales hacia los cuales podrı́a verse atraı́do el algoritmo. No obstante, este algoritmo es uno de los más populares para manejo de restricciones. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización En la presencia de restricciones múltiples, se observa que el desempeño de este método mejora considerablemente si las restricciones se normalizan primero. Una restricción de desigualdad gj (X) ≥ 0 puede normalizarse de la manera siguiente: gj (X) ≥0 gmax donde gmax es el valor máximo de la restricción gj (X) en el espacio de búsqueda. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Diversos Términos de Penalización Hay muchos problemas de ingenierı́a que presentan restricciones del 0 tipo gj (X) ≤ bj . Estas restricciones pueden normalizarse usando: 0 gj (X) ≥0 1− bj Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Método de los Multiplicadores El problema principal del método de las penalizaciones es que la función penalizada se distorsiona en las secuencias posteriores y esto hace que los métodos de optimización para problemas sin restricciones tengan dificultades para optimizar dichas funciones distorsionadas. Existen, sin embargo, diversas técnicas para aliviar este problema. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Método de los Multiplicadores Un método posible es usar un parámetro de penalización R fijo, con un multiplicador por cada restricción. La violación de restricción es incrementada por el valor del multiplicador antes de calcular el término de penalización. Posteriormente, se extrae un término equivalente del término de penalización. Este método opera en secuencias sucesivas, actualizando cada vez los multiplicadores en una cierta manera predeterminada. Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Método de los Multiplicadores La función de penalización se modifica de la forma siguiente: J n o X (t) 2 (t) 2 (t) (t) P (x, σ , τ ) = f (x) + R (< gj (x) > +σj ) − (σj ) (7) j=1 K n o X (t) 2 (t) 2 +R (hk (x) + τk ) − (τk ) k=1 Clase No. 16 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Método de los Multiplicadores El factor de penalización R se mantiene constante a través de la ejecución. Los multiplicadores σj y τk se actualizan en secuencias sucesivas de la manera siguiente: (t+1) σj (t+1) τk Clase No. 16 (t) = gj (x(t) ) + σj , (t) = hk (x(t) ) + τk , j = 1, 2, . . . , J (8) k = 1, 2, . . . , K (9) 2007 Optimización en Ingenierı́a Dr. Carlos A. Coello Coello Método de los Multiplicadores Diferenciando el término P (x, σ (t) , τ (t) ), puede demostrarse que la solución final xT del procedimiento anterior es un punto de Kuhn-Tucker. Esta formulación no distorsiona la función objetivo original, sino que la mueve hacia el óptimo con restricciones. Por tanto, la complejidad de resolver la función penalizada sigue siendo la misma que la de la función original. Clase No. 16 2007