Optimización en Ingenier´ıa - Departamento de Computación

Anuncio
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
Descargar