Optimizaci ´ on
Escuela de Ingenier´ıa Inform ´atica de Oviedo
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 1 / 19
Introducci ´ on
Problema general de optimizaci ´on (minimizaci ´on)
Dadof : Ω ⊂ Rn→ Rfindx∗∈ Ωtal quef (x∗) ≤f (x )para todox ∈ Ω.
f se llamafunci ´on objetivo, yΩelconjunto de soluciones posibles.
Escribimos
minx ∈Ωf (x ).
Casos principales
Optimizaci ´on sin constricciones:Ω = Rn
Optimizaci ´on con constricciones:Ω ( Rn, habitualmente determinada por un conjunto de constricciones dadas por igualdades o desigualdades,
h(x ) = 0, g(x ) ≤ 0, etc.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 2 / 19
Hecho:
No hay t ´ecnicas generales para resolver el problema de optimizaci ´on global.
Por lo tanto, habitualmente se resuelve de forma d ´ebil.
Optimizaci ´on local
Encontrarx∗∈ Ωtal quef (x∗) ≤f (x )para todox tal quekx − x∗k ≤ R,
Excepci ´on
Sif es una funci ´on estrictamente convexa yΩes un conjunto estrictamente convexo, entoncesf tiene un m´ınimo local y ´unico (y global) enΩ.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 3 / 19
Repaso de la teor´ıa de optimizaci ´ on local
En una variable: Resolver el problema de optimizaci ´on paraf : R → R: Encontrar el conjunto depuntos cr´ıticosxc(f0(xc) =0).
Sif00(xc) >0entoncesxc es un m´ınimo local.
nvariables: Resolver el problema de optimizaci ´on paraf : Rn→ R:
Encontrar los puntos cr´ıticosxc, que satisfacen∇f (xc) =0, es decir,
∂x1f (xc) =0, ∂x2f (xc) =0, . . . , ∂xnf (xc) =0
Calcular el Hessiano enxc
H(f )(xc) =
∂xixjf (xc))
n
i,j=1. Si esta matriz es definida positiva,xc es un m´ınimo local.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 4 / 19
M ´etodos de descenso
Se ˜nalar que:
Encontrar un m´ınimo local es, en general, m ´as f ´acil que el problema de resolver ecuaciones no lineales
g(x∗) = ∇f (x∗) =0 porque
Podemos evaluarf, adem ´as de∇f,
La matriz Hessiana es definida positiva cerca de la soluci ´on.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 5 / 19
M ´etodos de descenso
Si tenemos un puntoxk, y conocemos unadirecci ´on de descensodk, es decir, una direcci ´on en la cual
f (xk+ αdk) <f (xk) for all0 < α ≤ αmax, entonces podemos descender y avanzar un punto hacia el m´ınimo:
xk +1=xk + αkdk, dondeαk es unalongitud de paso.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 6 / 19
M ´etodo del gradiente
Si la funci ´on es diferenciable podemos usar la f ´ormula de Taylor
f (xk+ αkdk) ≈f (xk) + αk(∇f )Tdk =f (xk) + αk
n
X
i=1
∂xif (xk)dik.
Esto significa que eldecremento local m ´as r ´apido para la funci ´on objetivo se consigue cuando nos movemos en direcci ´on opuesta al gradiente enla direcci ´on de m ´axima pendiente
dk = −∇f (xk) = −gk.
Una forma para escoger la longitud de paso es realizar una minimizaci ´on sobre una l´ınea unidimensional:
αk =arg minαf (xk + αdk), de la que solo necesitamosuna soluci ´on aproximada.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 7 / 19
M ´etodo del gradiente
Si suponemos que tenemos la l´ınea exactaαk =arg minαφ(α), donde φ(α) =f (xk+ αdk). Entonces tenemos que resolver
φ0(α) = ∇f (xk + αdk)Tdk =0, lo que implica
∇f (xk + αdk)T ⊥ dk = −∇f (xk).
Esto supone que el m ´etodo sigue unatrayectoria en zigzag hacia el m´ınimo.
Error
El m ´etodo del gradiente tiene convergencia lineal con coeficiente de convergencia
C ∝ 1 − r
1 + r, donder = λmin(H) λmax(H) = 1
κ2(H),
es inversamente proporcional al n ´umero de condici ´on de la matriz Hessiana.
Por lo tanto, el m ´etodo del gradiente puede tener una convergencia muy lenta si la matriz Hessiana est ´a mal condicionada.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 8 / 19
M ´etodo de Newton
Sea la f ´ormula de Taylor de orden dos def f (xk+ ∆x ) = f (xk) + ∇f (xk)T∆x +1
2(∆x )TH(xk)∆x ,
con∆x = x − xk. Tenemos un extremo cuando el diferencial con respecto a
∆x es cero, es decir, cuando
∇f (xk)T +H(xk)∆x = 0.
Entonces
∆x = −H(xk)−1∇f (xk)T ⇒ xk +1=xk− H(xk)−1∇f (xk)T.
Se ˜nalar que:
El m ´etodo es exacto para funciones objetivo cuadr ´aticas. En este casoH(x )es constante.
Equivale a usar el m ´etodo de Newton-Raphson para resolver el sistema no lineal∇f (x∗) =0.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 9 / 19
Problemas del m ´etodo de Newton
Para funciones objetivo no lineales, el m ´etodo de Newton necesita resolver un sistema lineal en cada pasocostoso.
Puede no converger si el punto inicial no es adecuado, o puede converger a un punto de silla o a un m ´aximo:no fiable.
Para tratar de salvar estas dificultades se usan variantes om ´etodos de cuasi-Newton:
xk +1=xk − αkHk−1∇f (xk)T,
donde0 < αk <1yHk es una aproximaci ´on de la matriz Hessiana.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 10 / 19
Optimizaci ´on con constricciones
Formulaci ´ on general
Problema general de optimizaci ´on con constricciones Dadof : Rn→ R, encontrarx ∈ Rnque stisfaga
x ∈Rminnf (x ),
h(x ) = 0 (constricciones igualdad), g(x ) ≤ 0 (constricciones desigualdad).
Asumimos que las funcionesf , g yhson suaves.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 11 / 19
Optimizaci ´on con constricciones
Multiplicadores de Lagrange: una ´ unica igualdad
Una constricci ´on igualdadh(x ) = 0corresponde a una superficie den − 1 dimensiones cuyo vector normal es∇h.
Para una ´unica constricci ´on igualdad suave, el gradiente de la funci ´on objetivo debe ser paralelo al vector normal a la superficie de constricci ´on:
∇f k ∇h ⇒existe unλtal que∇f + λ∇h = 0,
dondeλes elmultiplicador de Lagrangecorrespondiente a la constricci ´on h(x ) = 0.
Para calcular el m´ınimo hemos de tener en cuenta las dos ecuaciones:
∇f + λ∇h = 0 h(x ) = 0
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 12 / 19
Optimizaci ´on con constricciones
Multiplicadores de Lagrange: m igualdades
Cuando tenemosmigualdades,
h1(x ) = h2(x ) = . . . = hm(x ),
generalizamos haciendo que la direcci ´on de descenso−∇f debe estar en el subespacio generado por los vectores normales a las constricciones:
∇f +
m
X
i=1
λi∇hi = ∇f + (∇h)Tλ =0,
El Jacobiano tiene como vectores fila los vectores normales
∇h = ∂hi
∂xj
ij
.
Esta es unacondici ´on necesaria de ´optimo de primer orden.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 13 / 19
Optimizaci ´on con constricciones
Multiplicadores de Lagrange: ´ unica desigualdad
En la soluci ´onx∗, dada una constricci ´on desigualdadgi(x ) ≤ 0esta puede ser
activa, sigi(x∗) =0, inactiva, sigi(x∗) <0.
Para desigualdades, exite un signo o sentido para los vectores normales a la constricci ´on:
para una constricci ´on activa, te puedes mover en el sentido de−∇gpero no en el sentido de∇g.
Esto significa, que en este caso
∇f = −µ∇g, dondeµ >0.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 14 / 19
Optimizaci ´on con constricciones
Multiplicadores de Lagrange: r desigualdades
La generalizaci ´on es la misma que para las igualdades
∇f +
r
X
i=1
µi∇gi = ∇f + (∇g)Tµ =0,
pero con la condici ´on
µi =0 para constricciones inactivas, µi >0 para constricciones activas.
Poniendo igualdades y desigualdades juntas tenemos lacondici ´on necesaria de primer orden de Karush-Kuhn-Tucker: Existen los multiplicadores de Lagrangeλ ∈ Rmyµ ∈ Rr tal que:
∇f + (∇h)Tλ + (∇g)Tµ =0, µ ≥0 y µTg(x ) = 0.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 15 / 19
Optimizaci ´on con constricciones
Funci ´ on Lagrangiana
Podemos reescribir la ecuaci ´on
∇f + (∇h)Tλ + (∇g)Tµ =0 como
∇xL = 0, dondeLes lafunci ´on Lagrangiana
L(x , λ, µ) = f (x ) +
m
X
i=1
λihi(x ) +
r
X
i=1
µigi(x ),
o, en notaci ´on vectorial,
L(x , λ, µ) = f (x ) + λTh(x ) + µTg(x ).
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 16 / 19
Optimizaci ´on con constricciones
Constricciones igualdad
Las condiciones necesarias de primer orden para problemas de constricci ´on igualdad vienen, por lo tanto, dadas por las condiciones estacionarias:
∇xL(x∗, λ∗) = ∇f (x∗) + ∇h(x∗)Tλ∗=0,
∇λL(∗, λ∗) =h(x∗) =0.
Tener en cuenta que tambi ´en haycondiciones necesarias y suficientes de segundo ordensimilares a las de la optimizaci ´on sin constricciones.
La soluci ´on no es un m ´aximo ni un m´ınimo de la funci ´on Lagrangiana (de hecho, para problemas convexos es un punto de silla, m´ınimo parax y m ´aximo paraλ).
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 17 / 19
Optimizaci ´on con constricciones
El enfoque por penalizaci ´ on
La idea es convertir un problema con constricciones:
x ∈Rminnf (x ), h(x ) = 0,
en un problema sin constriciones, minimizando la funci ´on con un t ´ermino de penalizaci ´on
Lα(x ) = f (x ) + αkh(x )k22=f (x ) + αh(x )Th(x ), dondeαes unpar ´ametro de penalizaci ´on.
Se pueden usarfunciones de penalizaci ´onque no sean una suma de cuadrados.
Si la constricci ´on se cumple de forma exacta, entoncesLα(x ) = f (x ). Si α → ∞el no cumplir la constricci ´on se penaliza cada vez m ´as, y la igualdad debe ser satisfecha con mayor precisi ´on.
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 18 / 19
Optimizaci ´on con constricciones
M ´etodo de penalizaci ´ on
Teniendo en cuenta lo anterior: para una sucesi ´on mon ´otona divergente α1< α2< . . ., si resolvemos una sucesi ´on de problemas sin constricci ´on
xk =x (αk) =arg min
x
nLk(x ) = f (x ) + αkh(x )Th(x )o , y la soluci ´on deber´ıa converger al ´optimox∗,
xk → x∗=x ( lim
k →∞αk).
Podr´ıamos usarxk como punto inicial, por ejemplo, del m ´etodo de Newton.
Tener en cuenta que el problema se vuelve peor condicionado cuandoα crece.
Un enfoque mejor usa los multiplicadores de Lagrange en conjunci ´on con el m ´etodo de penalizaci ´on (Lagrangiana aumentada).
(Dpto. de Matem ´aticas-UniOvi) Computaci ´on Num ´erica Optimizaci ´on 19 / 19