Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SIN RESTRICCIONES
OPTIMIZACION
En optimizacion sin restricciones se minimiza una funcion objetivo que
depende de variables reales sin restricciones sobre los valores de esas variables. La formulacion matematica es:
(OSR)
min f (x)
xIR
(t, x) = x1 + x2 e(x3 t)
+ x5 cos(x6 t)
Los n
umeros reales xi , i = 1, . . . , 6 son los parametros del modelo. Se
desea seleccionarlos de manera que los valores del modelo (tj , x) ajusten
los datos observados yj tanto como sea posible. Para establecer el objetivo
como un problema de optimizacion, se agrupan los parametros xi en un
vector de incognitas (x1 , . . . , x6 )t y se denen los residuos
rj (x) = yj (tj , x),
j = 1, . . . , m
que miden la discrepancia entre el modelo y los datos observados. La estimacion de x se obtendra resolviendo el problema:
(MC)
Caracterizaci
on de un mnimo
1.1
Qu
e es una soluci
on?
1.2
C
omo reconocer un mnimo local?
Figura 2: Caso = 1
EJEMPLO:
f (x1 , x2 ) = x21 + x22 + x1 x2 + x1 + 2x2 =
x
1
2
x1
1
x1 x2
+ 1 2
=
2
x2
x2
2
f (x1 , x2 ) =
2x1 + x2 + 1
2x2 + x1 + 2
f (x1 , x2 ) =
2
2
Figura 3: Caso = 2
Figura 4: Caso = 6
1.3
Problemas no regulares
Existen muchos problemas interesantes en los que las funciones involucradas pueden ser no diferenciables e incluso discontinuas.
Si la funcion esta formada por unos pocos trozos regulares con discontinuidades entre los trozos, puede ser posible encontrar el mnimo
analizando cada trozo por separado.
Si la funcion es continua en todo punto pero es no diferenciable en
ciertos puntos, puede identicarse la solucion analizando los subgradientes, o los gradientes generalizados que son una generalizacion del
concepto de gradiente al caso no regular.
Una visi
on de conjunto de los algoritmos
2.1
Dos estrategias: B
usqueda de lnea y Regi
on de confianza
B
usqueda de lnea:
el algoritmo elige una direccion dk
busca a lo largo de esa direccion desde el iterante actual a un
nuevo iterante con un menor valor de la funcion objetivo
la distancia que debe moverse el iterante puede encontrarse resolviendo de manera aproximada el siguiente problema de minimizacion unidimensional que consiste en encontrar un paso t tal
que:
(BL)
t>0
Regi
on de confianza:
se construye una funcion modelo mk (x) cuyo comportamiento cerca del iterante actual xk es similar al de la funcion objetivo f .
como el modelo mk puede no ser una buena aproximacion de f
cuando x esta lejos de xk , restringimos la b
usqueda de un optimo
de mk en alguna region en torno a xk . Es decir encontramos
el candidato dk resolviendo de manera aproximada el siguiente
subproblema:
min mk (xk + d)
d
2.2
Direcciones de b
usqueda para m
etodos con b
usqueda lineal
direcci
on de mayor descenso:
Entre todas las direcciones en que podemos movernos desde xk la
direccion dk = f (xk ) es aquella a lo largo de la cual f decrece
mas deprisa.
Sin embargo si el condicionamiento de la matriz hessiana en el
optimo es grande la convergencia es muy lenta.
direcci
on de Newton:
Esta direccion se deriva de la aproximacion de Taylor de segundo
orden en f (xk + d):
1
f (xk + d) f (xk ) + dt f (xk ) + dt 2 f (xk )d
2
La direccion de Newton es entonces dk = 2 f (xk )1 f (xk ).
Si el hessiano 2 f (xk ) es denido positivo, dk es una direccion
de descenso y minimiza el modelo dado por la aproximacion de
Taylor. En ese caso el paso ideal en la b
usqueda lineal es 1.
Los metodos usando la direccion de Newton son muy rapidos pero
costosos puesto que hay que calcular y almacenar el hessiano.
direcciones de cuasi-Newton:
Constituyen una atractiva alternativa a la direccion de Newton
puesto que no necesitan el calculo del hessiano y tienen convergencia superlineal.
En lugar del hessiano 2 f (xk ) utilizan una aproximacion Bk que
se actualiza en cada paso usando los gradientes de f en esa iteracion y la anterior. La direccion es entonces dk = Bk1 f (xk ).
m
etodos no lineales de gradiente conjugado: en este caso la
direccion tiene la forma dk = f (xk ) + k dk1 , donde k es un
escalar que asegura que dk y dk1 son conjugados.
2.3
Modelos para m
etodos con regi
on de confianza
sujeto a d k
k f (xk )
f (xk )
10
(OSR)
min f (x)
n
xIR
Una condicion suciente para que d sea una direccion de descenso es que
se verique
f (x)t d < 0
11
METODO
DE DESCENSO (ALGORITMO A1)
1. Elegir x0 IRn , k = 0.
2. Si f (xk ) = 0, PARAR.
no dado)
3. Test de convergencia: (por ejemplo f (xk ) < , peque
si se verica, PARAR
si no se verica, continuar
4. Elegir una direccion de descenso dk .
5. Elegir un paso tk > 0 vericando f (xk + tk dk ) < f (xk )
6. Hacer xk+1 = xk + tk dk , k = k + 1 e ir a 2
Hay metodos de descenso que no se pueden considerar dentro del algoritmo A1. Este es el caso, por ejemplo de los metodos con regi
on de
confianza.
Se obtienen algoritmos especficos precisando en A1 las reglas de eleccion de dk y tk .
La convergencia ser
a dudosa si dk tiende a ser normal a f (xk ). Para
evitar eso puede pedirse la hip
otesis:
(H2) Existe > 0, tal que f (xk )t dk < dk f (xk ).
12
Reglas de b
usqueda lineal
13
BUSQUEDA
LINEAL ESQUEMATICA
Etapa 0 Se parte de t > 0 dado y se inicializan tp = 0 y tg = 0.
Etapa 1 Se prueba t:
si t cumple (a), se termina.
si t cumple (b), se hace tg = t y se va a la etapa 2.
si t cumple (c), se hace tp = t y se va a la etapa 2.
Etapa 2
Si no se ha encontrado ning
un tg se calcula un nuevo t+ > tp
(EXTRAPOLACION: supongamos que no disponemos de cota superior. Se quiere que t+ sea claramente m
as grande que t, entonces hacemos t+ = at con a > 1 fijado.). Se hace t = t+ .
Si se tiene un tg (i.e. tg = 0) se calcula un nuevo t (tp , tg )
(INTERPOLACION:
Si se tiene ya un tg debe encontrarse un
nuevo t netamente entre tp y tg . Lo mas simple es hacer:
tp + tg
2
es decir una interpolacion por dicotoma (la longitud de confianza
se divide por 2).
Una alternativa m
as adecuada es utilizar una tecnica de interpolacion c
ubica (ver F. BONNANS et al.). ). Se hace t = t+ .
t+ =
Se vuelve a la etapa 1.
La eleccion del t inicial en la etapa 0 no concierne a la b
usqueda lineal.
Debe ser inicializado por el algoritmo de optimizacion.
La b
usqueda lineal es entonces una sucesion de reducciones del intervalo
de conanza [tp , tg ] eventualmente precedido de una sucesion de extrapolaciones mientras tg = 0.
14
Vamos a dar algunas reglas para denir (a), (b), (c). Esta claro que no es
adecuado elegir un t cercano al optimo (pues la b
usqueda lineal sera muy
larga) y realmente solo estamos interesados en reducir el valor de f .
Las reglas que veremos son las de Wolfe, Goldstein-Price y Armijo.
Regla de Wolfe Es el metodo que parece mas inteligente. Se eligen 0 <
m1 < m2 < 1 y los casos (a), (b), (c) se denen como:
no para tener
(a) si q(t) q(0) + m1 tq (0) (paso sucientemente peque
descenso) y q (t) m2 q (0) (paso no demasiado peque
no, para
que el algoritmo no se ralentice), entonces el paso es adecuado y
se termina.
(b) si q(t) > q(0) + m1 tq (0) entonces tg = t (el paso t es demasiado
grande).
(c) si q(t) q(0) + m1 tq (0) y q (t) < m2 q (0) entonces tp = t (el paso
t es demasiado peque
no).
La interpretacion es la siguiente, se pide por una parte que f descienda
sucientemente y por otra parte la derivada debe aumentar lo bastante
para que xk+1 no sea excesivamente proximo a xk (lo cual dara lugar
a un metodo muy lento).
15
Regla de Goldstein-Price
Para funcionar la regla de Wolfe necesita conocer q (t), es decir conocer
f (xk + tdk )
para cada ensayo de un paso t y esto puede ser muy costoso en la
practica.
La regla de Goldstein-Price es una regla alternativa que evita este
problema. Se eligen 0 < m1 < m2 < 1 y los casos (a), (b), (c) se
denen como:
16
Algoritmo de gradiente
18
Condicionamiento
y(x) = A1 x
y se dene:
h(y) = f (x(y)) = f (Ay)
Minimizar h respecto a y equivale a minimizar f respecto a x en el sentido
de que los optimos son los mismos. Pero esta equivalencia es enga
nosa y
falsa numericamente. Aplicando la regla de la cadena el gradiente de h esta
dado por la formula:
h(y) = At f (Ay)
Entonces se
nalemos lo siguiente:
partiendo de un x dado el metodo de gradiente aplicado a f genera el
iterante siguiente de la forma:
x+ = x tf (x)
partiendo de y = A1 x, el metodo de gradiente aplicado a h genera el
iterante siguiente de la forma:
y+ = y tAt f (x)
al que corresponde:
x+ = A(y+ ) = A(y tAt f (x)) = x tAAt f (x)
es decir el efecto del cambio de variable viene a ser multiplicar las
direcciones por AAt (lo que cambia todo salvo en el caso de que A sea
ortogonal).
Utilizando esto pueden encontrarse cambios de variables adecuados de
manera que los metodos de gradiente se comporten lo mejor posible.
Esto es lo que se llama un precondicionamiento. El precondicionamiento mas simple es el diagonal que lo que hace es ajustar los factores de escala.
xi
para i = 1, . . . , n y se minimiza con respecto a la variable
Se toma yi =
xi
y. Se tiene una gran ventaja en tomar como xi una amplitud nominal de
los xi lo que hace que los yi no tengan dimension.
19
M
etodo de Newton y variantes
Algoritmo de Newton
1. Elegir x0 IRn , k = 0.
no dado)
2. Test de convergencia: (por ejemplo f (xk ) < , peque
si se verica, PARAR
si no se verica, continuar
on del sistema lineal:
3. Calcular la direccion de Newton dN
k soluci
2 f (xk )dN
k = f (xk )
4. xk+1 = xk + dN
k , k = k + 1. Ir a 2.
20
21
7.1
Variantes del m
etodo de Newton
M
etodo de Newton discreto En algunos casos el calculo exacto de 2 f (x)
es imposible o demasiado costoso pero se puede obtener una aproxi
macion, que llamaremos H(x),
por diferencias nitas sobre f .
no.
donde ei es el i-esimo vector de una base y es peque
Sin embargo si n es grande, el calculo de n gradientes es costoso. En
22
M
etodo de Newton con regi
on de confianza
sujeto a y x0 2
23
sujeto a y xk 2 k
f (xk ) f (yk )
.
f (xk ) qk (yk )
24
M
etodos cuasi-Newton
(OSR)
minn f (x)
xIR
y = f (
x) f (x)
25
9.1
F
ormula de Broyden y f
ormula sim
etrica de rango 1
B:
t
= B + (y Bs)s ,
B
st s
conocida como formula de Broyden.
26
9.2
F
ormula de Powell sim
etrica Broyden (PSB)
(PB)
B
min B
simetrica y tal que Bs
= y.
B
Bij2 ]1/2
i=1 j=1
la u
nica solucion del problema viene dada por el siguiente resultado:
La solucion u
nica del problema (PB) asociada a la norma de Frobenius
viene dada por la f
ormula PSB:
t
t
t
P SB = B + (y Bs)s + s(y Bs) s (y Bs) sst .
B
st s
(st s)2
Observaci
on: La norma de Frobenius no siempre esta bien adaptada
al problema. Por ejemplo, si n = 2 y
2
H(x) = f (x) =
104 0
0 1
la matriz:
B=
104
0
0 104
H(x) =
27
1 0
0 104
9.3
F
ormula de Davidon-Fletcher-Powell (DFP)
Sea W una matriz simetrica, denida positiva. Se introduce para el problema (PB) la norma:
BW,F = W BW F
Es interesante elegir una matriz W proxima a H(
x)1/2 .
Por supuesto, 2 f (
x) es desconocido , por tanto es logico imponer:
W 2 s = y.
de manera u
Esta condicion basta para determinar B
nica:
Sea W una matriz simetrica, definida positiva verificando W 2 s = y. La
soluci
on del problema (PB) asociada a la norma matricial . W,F viene
dada por la f
ormula DFP:
(y Bs)y t + y(y Bs)t st (y Bs) t
yy .
BDF P = B +
st y
(st y)2
9.4
F
ormula de Broyden-Fletcher-Goldfarb-Shanno (BFGS)
=M
1 . Puede comprobarse que B
se obtiene de B
Sea B = M 1 y B
por la relacion:
t
t
BF GS = B + yy Bss B .
B
st y
st Bs
28
9.5
Convergencia de los m
etodos cuasi-Newton
29
10
10.1
M
etodos de gradiente conjugado
Gradiente conjugado para un criterio cuadr
atico
Se considera el problema
1
minn f (x) = xt Ax bt x
2
xIR
(PC)
si k = j
n
1 t
dk Adk x2k bt x
minn
x
IR k=1 2
Hacer xk+1 = xk + tk dk
3. Si k + 1 = n + 1 PARAR. En otro caso, calcular:
dk+1 = vk+1 +
k
ck+1j dj
j=1
con
ck+1j =
t
(f (xj+1 ) f (xj ))
vk+1
,
t
dj (f (xj+1) f (xj ))
Hacer k = k + 1 y volver a 2.
30
j = 1, . . . , k
Se
nalemos que el calculo de las direcciones conjugadas no necesita el
conocimiento explcito de A. Basta poder calcular el gradiente en un punto.
El caso particular del algoritmo anterior cuando vk = f (xk ) se llama m
etodo de gradiente conjugado. Naturalmente si f (xk ) = 0 el
nalar que se ha minimizado
algoritmo se para. Si f (xk ) = 0 se puede se
f en el hiperplano generado por las k 1 direcciones dj que es identico
al hiperplano generado por las k 1 direcciones f (xj ). El algoritmo de
gradiente conjugado aplicado a las funciones cuadraticas esta dado por:
Algoritmo de gradiente conjugado (CG1)
1. Elegir x1 , d1 = f (x1 ). Si d1 = 0, PARAR. k = 1.
2. Calcular tk = arg min f (xk + tdk ).
t0
Hacer xk+1 = xk + tk dk
3. Si k + 1 = n + 1 o f (xk ) = 0, PARAR. En otro caso, calcular:
dk+1 = f (xk+1 ) +
f (xk+1)2
dk
f (xk )2
Hacer k = k + 1 y volver a 2.
t=
f (x)t d
dt Ad
NOTA:
La convergencia del metodo de gradiente conjugado es mucho mejor que
la del metodo de gradiente con paso optimo.
31
10.2
El algoritmo de gradiente conjugado puede extenderse a una funcion objetivo no cuadratico. Existen varias maneras, equivalentes en el caso cuadratico,
de denir la direccion de descenso. Las dos mas conocidas son:
M
etodo de Fletcher-Reeves
dk = f (xk ) +
f (xk )2
dk1
f (xk1 )2
M
etodo de Polak-Ribi`
ere
f (xk )t (f (xk ) f (xk1 ))
dk1
dk = f (xk ) +
f (xk1 )2
En este caso es muy costoso calcular un paso t optimo. Como la condicion
de conjugacion necesita f (xk+1 )t dk = 0, se tomara en la b
usqueda lineal
una condicion del tipo:
|f (xk + tdk )t dk | 1 |f (xk )t dk |
f (xk + tdk ) f (xk ) + 2 tf (xk )t dk
con 2 = 104 y 1 [0.1, 0.9].
Con estas condiciones en la b
usqueda lineal se tiene el siguiente resultado
de convergencia:
Si el hessiano 2 f (x) es definido positivo y sus valores propios estan en
[m , M ] con 0 < m < M < +, entonces el algoritmo de Polak-Ribi`ere
asociado a una b
usqueda lineal exacta con o sin redireccionamiento verifica
que existe > 0 tal que:
f (xk )t dk < dk f (xk )
En consecuencia la sucesion generada por el algoritmo converge hacia la
soluci
on x del problema.
El algoritmo de Polak-Ribi`ere tiene mejores propiedades numericas que
el de Fletcher-Reeves.
32
10.3
M
etodos cuasi-Newton con memoria limitada
yy t Bsst B
t
st y
s Bs
t
yk1yk1
sk1stk1
De esta manera el calculo de la nueva direccion solo necesita operaciones sencillas y el almacenamiento de dos vectores. As, el metodo
es aplicable a problemas de gran tama
no.
Estos metodos estan estrechamente relacionados con los algoritmos de
gradiente conjugado:
usqueda lineal es exacta,
Por ejemplo, si Dk1 es la identidad y la b
el algoritmo sin memoria es el algoritmo de gradiente conjugado de
Polak-Ribiere.
La ventaja de los algoritmos cuasi-Newton sin memoria respecto al
gradiente conjugado es que no necesitan una regla de b
usqueda lineal
costosa (se utilizan con la regla de Wolfe que asegura que Bk es denida
positiva).
33
11
(MC)
p
ri (x)ri (x)
i=1
2
f (x) =
p
ri (x)ri (x) +
t
i=1
p
ri (x)2 ri (x)
i=1
r1 (x)t
..
A(x) =
.
rp (x)t
Un calculo elemental da:
f (x) = A(x)t r(x)
2
p
i=1
34
ri (x)2 ri (x)
11.1
M
etodo de Gauss-Newton
p
1
1
min k (d) =
(ri (xk ) + ri (xk )t d)2 = A(xk )d + r(xk )2
2 i=1
2
dIRn
4. xk+1 = xk + dGN
, k = k + 1. Ir a 2.
k
11.2
M
etodos con convergencia global
11.2.1
M
etodos con b
usqueda lineal
36
11.2.2
M
etodo de Levenberg-Marquardt
Algoritmo de Levenberg-Marquardt
1. Elegir x0 IRn , k = 0.
no dado)
2. Test de convergencia: (por ejemplo f (xk ) < , peque
si se verica, PARAR
si no se verica, continuar
solucion del problema:
3. Calcular dLM
k
1
min k (d) ; d2 k
2
dIRn
k
4. Si f (xk + dLM
k ) < f (x ) se verica hacer
xk+1 = xk + dLM
k , si no xk+1 = xk .
5. Actualizar k . Hacer k = k + 1. Ir a 2.
37
11.2.3
M
etodos penalizando el desplazamiento
k
min k (d) + d2
2
dIRn
donde el coeciente de penalizacion k se aumenta si xk + dPk no es sensiblemente mejor que xk , en otro caso se disminuye.
y de dPk estan estrechamente ligados.
Los problemas de calculo de dLM
k
y dPk estan caracteEn efecto, como estos problemas son convexos, dLM
k
rizados por los sistemas de optimalidad:
A(xk )t A(xk )dLM
+ dLM
= A(xk )t r(xk )
k
k
0,
1
( dLM
2 k ) = 0
2 k
y
A(xk )t A(xk )dPk + k dPk = A(xk )t r(xk )
Entonces dLM
es solucion del problema penalizado si k = y, recprocak
1
mente, si se toma = dPk 2 , dPk es solucion del problema:
2
38
11.3
11.3.1
M
etodos de cuasi-Newton adaptados
Principio
p
p
1
ri (x)2 es la matriz:
2 i=1
ri (x)2 ri (x)
i=1
p
i=1 ri (xk )
ri (xk ) lo
11.3.2
Ecuaciones de cuasi-Newton
i=1
11.3.3
Escalado y c
alculo efectivo de Bk
k =
(rk+1 )t rk
(rk )t rk
k =
rk 2
rk1 2
k = min{1,
40
(sk )t yk
}
(sk )t Bk sk
Bibliografa b
asica:
D. BERTSEKAS : Nonlinear Programming. Athena Scientic. 1995.
F. BONNANS - J. Ch. GILBERT - C. LEMARECHAL - C. SAGASTIZABAL : Optimisation Numerique: aspects theoriques et pratiques.
SMAI-Springer Verlag, 1997.
R. FLETCHER : Practical Methods of Optimization. Wiley, 1987.
D.G. LUENBERGER : Programacion lineal y no lineal. AddisonWesley Iberoamericana, 1989.
J. NOCEDAL - S.J. WRIGHT : Numerical Optimization. Springer
Verlag, 1999.
41