Optimizaci´ on continua no restringida on 2 de septiembre de 2003
1.
Opti Optim mizac zaci´ on on en una variable Problema Problema general: general: minimizar ϕ(x), ϕ :
R
→R
Caso especial muy util: u ´ til: minimizar ϕ(x) = f ( + λd)) f (x + λd con: f : R → R, x, d ∈
Rfijos,
λ ∈ Λ
Posibles dominios:
• Λ=R [0, ∞] • Λ = [0, [0, λmax ] • Λ = [0,
1.1. 1.1.
Crit Criter erio ioss de term termin inac aci´ i´ on on Generalmente, se construye una sucesi´ on on {λk } tal que ∗
l´ım λk = λ ,
k→∞
donde λ es un minimizador global o local. ∗
{λk } es infinita, de manera que el proceso debe detenerse para un valor de k finito. Algunos criterios de terminaci´ on on son: • |λk+1 − λk | ≤ λ •
λk+1−λk λ k
≤ λ, u opcionalmente
λk+1 −λk λ +1 k
• |ϕ(λk+1) − ϕ(λk )| ≤ ϕ
1
≤ λ
• |ϕ (λk )| ≤ ϕ (si se busca un punto cr´ıtico)
• bk − ak ≤ (si se construyen intervalos de certidumbre [ak , bk ]) C´omo escoger ?
• Debe ser dependiente en la precisi´ on, la cual depende a su vez de la plataforma (compilador y m´aquina). • maq = m´ın { : 1 + = 1} ( = de acuerdo a la plataforma) • = 1 = 1 + mientras s =1 = /2 s = 1 +
fin mientras
maq = 2
1.2.
M´ etodo de Newton Es un m´etodo para resolver g(λ) = 0 λk+1 = λ k −
g (λk ) g (λk )
Se puede usar como m´etodo de minimizaci´ on (maximizaci´ on) resolviendo ϕ (λ) = 0
ϕ (λk ) λk+1 = λ k − ϕ”(λk )
Desventajas:
• puede no converger, • puede converger a un maximizador, = 0, • se requiere ϕ”(λk )
• se necesitan primeras y segundas derivadas de ϕ.
1.3.
M´ etodo de la secante La idea es reemplazar en el m´etodo de Newton la segunda derivada (ϕ”) por una aproximaci´ on: ϕ (λk ) − ϕ (λk+1 ) ϕ”(λk ) = λk − λk+1
λk+1 = λ k −
λk−1 ϕ (λk )−λk ϕ (λk+1 ) ϕ (λk )−ϕ (λk+1 )
No es necesario evaluar la segunda derivada.
2
Desventajas:
• puede no converger, • puede converger a un maximizador, • se requiere ϕ (λk ) − ϕ (λk 1 ) = 0,
−
• se necesita calcular primeras \ derivadas de ϕ. En general, es posible reemplazar las primeras derivadas en el m´etodo de Newton por aproximaciones num´ericas.
1.4.
M´ etodos de encajonamiento La idea es refinar iterativamente un intervalo [ak , bk ] (llamado intervalo de certidumbre). Cada sucesivo intervalo debe estar contenido en el anterior: ak ≤ a k+1 y bk ≥ b k+1 La longitud de los intervalos debe tender a 0: l´ım bk − ak = 0
k→∞
Converge al valor o´ptimo si:
• La funci´on es cuasiconvexa: ∀x, y ∈ D, ∀σ ∈ [0, 1] f ((1 − σ)x + σy) ≤ m´ax{f (x), f (y)} • El valor o´ptimo λ ∈ [a1 , b1 ] ∗
1.4.1.
B´ usqueda secuencial
La idea es evaluar la funci´o n en m posiciones y usar estos valores para refinar el intervalo. Entradas: a, b, , m l = b − a mientras l ≥ δ = l/(m + 1) µ j = a + δj, j = 1, . . . , m µ = arg m´ın{ϕ(µ1 ), . . . , ϕ(µm )} a = µ − δ b = µ + δ l = b − a ∗
∗
∗
fin-mientras
λ = m´ın{a, µ , b} ∗
∗
3
Cu´al es el n´ umero o´ptimo de evaluaciones por iteraci´ on (m )?
• El objetivo es minimizar el n´umero total de evaluaciones: mk (k corresponde al n´ umero de iteraciones) • Asumiendo que el criterio de terminaci´ on es b k − ak ≤ , es posible demostrar que: m mk ≈ L0 = c(m)L0 log m2+1 donde L0 = log b0 a0 −
m 2 3 4 5 6 7
1.5.
c(m) 4.93 4.33 4.37 4.55 4.79 5.05
Otros m´ etodos Secci´on dorada (o a´urea) M´etodo de encajonamiento que tiene un mejor desempe˜ no que la b´ usqueda secuencial. Solo se realiza una evaluaci´ on por iteraci´ on y los puntos no est´an igualmente espaciados. Minimizaci´ on por interpolaci´ on cuadr´ atica La idea es encontrar tres valores t1 , t2 y t3 que permitan obtener el minimizador t p de la par´abola que pasa por los puntos (ti , ϕ(ti )) (i = 1, 2, 3). Este punto sirve como nuevo valor para la siguiente iteraci´ on. ∗
4
2.
Optimizaci´ on en varias variables Problema general: minimizar f (x), f : Rn → R Estrategia general (aplica a varios m´etodos): Dado un punto xk se construye una direcci´ on dk = 0 y se obtiene λk el cual es un k k minimizador de ϕ(λ) = f (x + λd ) cuando λ var´ıa en R: ∗
λk = arg m´ın f (xk + λdk ), λ ∈ xk+1 = xk + λk dk ∗
∗
5
R
2.1.
M´ etodo de Newton Es una generalizaci´ on del m´etodo para una variable: xk+1 = x k −
g(xk ) g (xk )
La anterior f´ ormula puede ser reescrita como: xk+1 = x k − (g (xk )) 1g(xk )
Si g :
n
R
−
→ Rn , la f´ormula se puede generalizar a: xk+1 = x k − (g (xk )) 1g(xk )
−
donde g (xk ) corresponde al jacobiano de la funci´ on g.
El m´etodo de Newton se expresa en dos partes: resolver f ”(xk )dk = −f (xk ) xk+1 = xk + dk
donde f ” es el hessiano y f es el gradiente.
6
2.2.
M´ etodo del gradiente o del descenso m´ as pendiente La idea es escoger la direcci´ on dk como la direcci´ on que produce mayor decenso. Esta direcci´ on corresponde al gradiente multiplicado por -1. El algoritmo es el siguiente: Entrada : x0 , g , MAXIT para k = 0,. . . ,MAXIT si f (xk ) ≤ g entonces parar
dk = − f (xk ) λk = arg m´ın f (xk + λdk ), λ ≥ 0 xk+1 = x k + λk dk
∗
∗
fin-para
7
2.3.
M´ etodo del gradiente conjugado El algoritmo es el siguiente: Entrada : x1 , g , MAXIT para K = 1, . . . ,MAXIT para k = 1,. . . , n si f (xk ) ≤ g entonces parar si k = 1 entonces dk = − f (xk ) sino 2
f (x )2 2 f (x 1)2 dk = − f (xk ) + αk dk
αk =
k
k−
1
−
fin-sino
λk = arg m´ın f (xk + λdk ), λ ≥ 0 xk+1 = x k + λk dk ∗
∗
fin-para
x1 = x n+1 fin-para
8
2.4.
M´ etodo c´ıclico coordenado El algoritmo es el siguiente: Entrada : x0 , x , MAXIT para k = 0, . . . ,MAXIT
y1 = x k para j = 1, . . . , n λ j = arg m´ın f (y j + λe j ) y j +1 = y j + λ j e j ∗
∗
fin-para
xk+1 = y n+1 si xk+1 − xk < x entonces parar fin-para
Donde e j corresponde al vector (e1,...,en ) con e j = 1 y ei = 0 para todo i = j .
9