Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instructores:
Luis Zerpa
Juan Colmenares
Febrero 2004
ndice General
1.
2.
Gradiente........................................................................................................................................... 3
3.
3.2.
3.3.
3.4.
3.4.1.
3.5.
3.5.1.
3.5.2.
3.5.3.
3.5.4.
3.5.5.
Ajuste Cbico.................................................................................................................. 11
3.5.6.
3.5.7.
Mtodo de Newton.......................................................................................................... 12
3.5.8.
Mtodo Quasi-Newton.................................................................................................... 13
3.5.9.
3.5.10.
3.6.
3.6.1.
3.6.2.
Mtodo de Newton.......................................................................................................... 20
3.6.3.
Levenberg-Marquardt ..................................................................................................... 22
1. Derivada Direccional
La derivada direccional permite tener informacin del comportamiento de la funcin si sus variables se
modifican siguiendo el sentido indicado por el vector gradiente.
La Derivada direccional de f en p segn el vector unitario
[ D f(p) ] es el producto escalar del gradiente en p, por :
D f(p) = f(p).
En qu sentido deberan desplazarse las variables de f, partiendo del punto p, para que los valores
de f crezcan mas rpidamente?
Como la rapidez est dada por : f(p).. En esta expresin se suponen ya conocidos f y p; faltando
conocer que haga mximo el producto escalar.
Siendo f(p). = f(p). Cos = f(p).(1). Cos
Donde : , es el ngulo formado por los vectores f(p) y
f(p). , Ser mximo si y slo si Cos es mximo, sea cuando
= 0 y f(p) con son colineales. Lo cual significa que el
vector unitario debe tener el mismo sentido que el vector
gradiente de f en p.
=
f ( p )
........
f ( p )
(*)
2. Gradiente
El gradiente de una funcin escalar de n variables f ( x1 , x 2 ,K , x n ) , denotado por f , es el vector ndimensional
f f
f
f =
,
,K ,
x
2
n
1
El gradiente de una funcin en un punto indica la direccin, a partir de ese punto, en la que dicha
funcin crece ms rpidamente y, adems, la direccin ortogonal a las curvas de nivel de f (curvas en
las que la funcin tiene un valor constante).
2
x1x 2
x1x n
x1
2
2 f
2 f
f
L
2
H f = x 2 x1
x 2 x n
x
2 f
2 f
2 f
L
x x
x n x 2
xn2
n 1
Una matriz cuadrada A es definida positiva si :
x T Ax > 0 x 0
y es negativa si la desigualdad es la contraria.
r
r
H( x0 ) es definida positiva y f = 0
r
r
H( x0 ) es semidefinida positiva y f = 0
r
r
H( x0 ) es indeifnida y f = 0
r
x0 es un mximo local
r
x0 no es un mximo local
r
x0 es un mnimo local
r
x0 no es un mnimo local
r
Teorema: Cualquier funcin f ( x ) definida en En con primeras derivadas y segundas derivadas
parciales continuas es cncava (convexa) en una regin suficientemente pequea alrededor de cualquier
r
mximo (mnimo) local x0 .
El gradiente y el Hessiano cumplen para funciones de varias variables el mismo rol que las
derivadas primera y segunda en funciones de una variable. Si la funcin tiene un extremo local el
gradiente se anula y es mximo o mnimo dependiendo de que la matriz Hessiana sea definida positiva
o negativa respectivamente.
Lo expuesto hasta aqu sugiere que para hallar extremos locales es necesario resolver la ecuacin
vectorial:
f ( x ) = 0
Sin embargo, hasta para funciones sencillas, la resolucin del sistema de ecuaciones que se deriva de
la ecuacin anterior es casi siempre ms complejo que la propia optimizacin. Es por ello que surgen
diversos mtodos que persiguen la solucin del problema original basndose en consideraciones
geomtricas.
Los mtodos de optimizacin basados en derivadas, se fundamentan en los conceptos de gradiente y
Hessiano, para determinar la direccin de desplazamiento sobre la superficie de la funcin objetivo.
En seudo cdigo:
algoritmo.setStartingPoint(Double Matrix point)
if (!algoritmo.checkStopCondition())
{
algoritmo.determinarDireccionDescenso();
algoritmo.avanzar();
}
min
f (x i 1 d )
donde d es la direccin de descenso. Hallado el ptimo se inicia una nueva iteracin de descenso.
Este sub-problema es sensiblemente ms sencillo que la optimizacin general ya que es un
problema de una dimensin con una nica variable .
La eleccin de un mtodo adecuado de bsqueda lineal es de gran importancia en un algoritmo de
optimizacin. La bsqueda lineal es responsable de un alto porcentaje del costo de la evaluacin de la
funcin objetivo.
Estos mtodos pueden ser con o sin uso de derivadas.
Esta regin de incertidumbre es determinada en cualquier caso por: las observaciones (sus valores
funcionales) y la suposicin de que f es unimodal.
Luego que encontremos los valores funcionales en N puntos dentro del intervalo cerrado [c1, c2]
c1 x1 xN-1 xN c2
8
la regin de incertidumbre es el intervalo [xk-1, xk+1] donde xk es el mnimo de los N puntos evaluados.
En ese intervalo de encuentra el mnimo.
La estrategia para seleccionar sucesivamente observaciones para obtener la regin de incertidumbre
ms pequea se describe a continuacin:
d1 = c2 c1 ;
F
d k = N k +1 d1
FN
donde F0 = F1 = 1
Donde cada nmero despus de los dos primeros representa la suma de los dos precedentes.
Procedimiento para la reduccin de la seccin de incertidumbre:
1. Especificar N
F
2. Calcular N 1
FN
F
3. Colocar simtricamente desde los extremos del intervalo inicial a distancia N 1 d 1 , dos
FN
observaciones
4. De acuerdo a donde se encuentre la muestra con menor valor funcional se determina la regin
F
de incertidumbre, d 2 = N 1 d1
FN
5. La tercera muestra es colocada simtricamente dentro de este nuevo intervalo con respecto a la
observacin ya incluida en el intervalo, de forma tal que la amplitud de la regin de
F
incertidumbre sea N 2 d1
FN
xl
xu
Primera
Iteracin
l0
l1
Segunda
Iteracin
l2
l2
l0 = l1 + l2
l1 l 2
=
l 0 l1
sustituyendo,
l1
l
= 2
l1 + l 2 l1
se toma el reciproco y haciendo R =
1+ R =
l2
, se llega a
l1
1
R
R2 + R 1 = 0
resolviendo para la raz positiva
R=
1 + 1 4( 1)
5 1
=
= 0.61803K este valor se conoce como la Razn Dorada
2
2
Se comienza con los valores extremos del intervalo xl, xu que contienen el extremo local de f(x).
10
A continuacin se presentan algunos mtodos de Bsqueda Lineal por ajuste de curvas. Estos se basan
en que en la mayora de los problemas, adems de asumir que la funcin objetivo es unimodal, tambin
se asume que posee cierto grado de suavidad (derivable). Entonces se pueden desarrollar tcnicas ms
eficientes que aprovechen esta propiedad. Tcnicas de esta naturaleza se basan en procedimientos de
ajuste de curvas suaves para estimar el mnimo.
f(x)
2
3
5
6
2x
x(m-3) x(m-2)
4x
8x
x(m-1)
x(m+1)
x(m)
x* x* = x +
donde x = x(a) - x(b)
(a )
(b )
(c )
2 f x 2f x + f x
[ ( ) ( )]
[ ( ) ( ) ( )]
Estos pasos completan la primera etapa del mtodo DSC. Para continuar, se realiza el mismo
procedimiento desde x * o x(c), si f(x(c)) < f( x * ), se reduce x y se inicia el procedimiento.
3.5.5. Ajuste Cbico
Dados xk-1 y xk junto a f(xk-1), f(xk-1), f(xk), y f(xk) es posible ajustar una ecuacin cbica en los puntos.
El punto xk+1 (mnimo) puede ser determinado como el punto mnimo relativo de esta ecuacin cbica.
f ' ( x k ) + u 2 u1
x k +1 = x k ( x k x k 1 )
f ' ( x k ) f ' ( x k 1 ) + 2u 2
donde,
f ( x k 1 ) f (x k )
u1 = f ' ( x k 1 ) + f ' ( x k ) 3
x k 1 x k
u 2 = u1 f ' ( x k 1 ) f ' ( x k )
2
11
f(x)
xk+1 = xk f (xk)
f(x)
xk
xk+1
1
2
f ' ' ( x k )( x x k )
2
f(x)
f ' (xk )
f ' ' (xk )
xk
xk+1
1
f ' ' (x k )
El mtodo puede ser visto como la resolucin iterativa de ecuaciones de la forma g(x) = 0, donde,
cuando es aplicada a minimizacin, hacemos g(x) f (xk)
x k +1 = x k
g (xk )
g ' (xk )
12
Implementacin
Para la implementacin de este mtodo es necesario calcular la primera y segunda derivada de la
funcin como derivadas direccionales, obteniendo un valor escalar, de la siguiente manera,
r
f ' ( x k ) = f ( x k ) d
r
r
f ' ' (xk ) = d T H (xk ) d
donde d es el vector unitario de la direccin de descenso
f ( x + x ) f ( x x )
2x
f ' ' (x ) =
f (x + x ) 2 f ( x ) + f ( x x )
x 2
Se sugiere y se acepta implcitamente que uno debe requerir que f(xk+1) < f(xk). Si tal inecuacin no se
cumple en algn sitio se debe emplear un mtodo especial para encontrar un mejor xk+1 que si la
satisfaga.
Esta construccin puede ser empleada para producir procedimientos efectivos con los restantes
mtodos de ajuste.
Intervalo aceptable
Prueba de Goldstein
Similarmente a la regla de Armijo, se considera que no es muy grande si () (0) + (0) ...(*)
con 0 < <
1
f ( x k )d k
0.2 0.8
Intervalo aceptable
15
{(x , y ) x [ 2, 2] y [ 2, 2]}
Como puede notarse en la grfica, esta funcin es unimodal, es decir, tiene un nico mnimo. Dicho
mnimo est ubicado en el punto (0,0). Supongamos que se asume como punto inicial, el punto (-1.7,
1.7635).
El gradiente de esta funcin en un punto cualquiera ( xo , yo ) , est dado por:
f = (2 xo ,2 y o )
16
x
1.5
0.5
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0
x
0.5
1.5
En la Figura 3.1 se muestran las curvas de nivel de la funcin as como tambin el punto inicial (con
una x) y la direccin del gradiente en dicho punto (con una flecha), y el punto en el que se ubica el
mnimo (con una o). Como puede observarse, las curvas de nivel corresponden a crculos concntricos
con centro en el origen. Segn el mtodo, el segundo punto estara ubicado sobre la recta que contiene
al vector direccin del gradiente, y a una distancia determinada por el valor de . En la Figura 3.2 se
ilustra la evolucin del mtodo para un = 0.25 . Los crculos representan las aproximaciones del
mnimo calculadas por el mtodo.
2
1.5
0.5
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0.5
1.5
Figura 10.4
Figura 3.2 Evolucin del mtodo del descenso ms rpido con =0.25,
para la funcin objetivo del ejemplo 1
17
1.5
0.5
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0.5
1.5
Figura 3.3 Evolucin del mtodo del descenso ms rpido con =0.9, para la funcin objetivo del
ejemplo 1
En la Figura 3.3 se ilustra nuevamente la aplicacin del mtodo, pero ahora con un valor = 0.9 .
Como puede observarse, el segundo punto se pasa del valor del mnimo para despus retornar y
estabilizarse en dicho valor.
En los dos casos anteriores, la direccin del gradiente siempre apunta hacia el mnimo global de la
funcin. Esto se debe a que las curvas de nivel son circulares. Cuando las curvas de nivel tienen otra
forma, la direccin del gradiente, que es ortogonal a la curva de nivel en el punto en el que se calcula,
no apunta necesariamente hacia el mnimo. En estos casos, la direccin de bsqueda del mnimo
cambia de una iteracin a otra, haciendo que el proceso sea ms lento.
Ejemplo 2: Se desea minimizar la funcin
f ( x , y ) = 20 + 3 x 2 + y 2
En la Figura 3.4 se muestra la superficie de esta funcin, evaluada en la regin
{( x , y ) x [ 2 , 2] y [ 2 , 2]}
18
1.5
0.5
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0.5
1.5
1
(x xi 1 )T H f (x xi 1 )
2
Dado que la aproximacin f a es una funcin de segundo orden, sta es unimodal, y su mnimo es una
buena aproximacin del mnimo de la funcin objetivo. El mnimo de la funcin f a se determina
haciendo f a' = 0 y calculando el valor de x i que satisface la ecuacin. Se obtiene entonces:
f + H f ( x i x i 1 ) = 0
(a)
(b)
Figura 3.6 Direcciones de bsqueda calculada por los mtodos de descenso ms rpido y de Newton.
Para una funcin con curvas de contorno: (a) circulares, y (b) elpticas
20
Ejemplo 3: Para efectos de comparacin, en este ejemplo se minimiza la misma funcin del ejemplo
anterior:
f ( x , y ) = 20 + 3 x 2 + y 2
utilizando el mtodo de Newton.
Como se vio anteriormente, el gradiente de esta funcin en un punto cualquiera ( x , y ) , est dado por:
f = (6 x ,2 y )
mientras que el Hessiano es la matriz:
6
Hf =
0
1
0
1 6
Hf =
0
2
1
2
La aproximacin de esta funcin utilizando la serie de Taylor es exacta, debido a que es una funcin
cuadrtica. Entonces, el mnimo que calcula el mtodo, coincide con el mnimo deseado. Por esta
razn, el mtodo encuentra el mnimo en una iteracin.
2
1.5
0.5
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0.5
1.5
Figura 3.7 Evolucin del mtodo de Newton, para la funcin objetivo del ejemplo 3
En la Figura 3.7 se muestra la evolucin del proceso de minimizacin para este ejemplo. Puede
observarse la convergencia del mtodo en una iteracin.
En los casos en los que la funcin no es cuadrtica, se hacen aproximaciones sucesivas del mnimo
utilizando la ecuacin:
x i = x i 1 H f 1 f
21
donde es positivo, hasta que se encuentra un valor cercano segn una tolerancia especificada. En
cada punto en los que se evale la ecuacin anterior, debe ocurrir que el Hessiano sea una matriz
positiva definida (todos sus valores propios son positivos), para que la direccin de bsqueda sea una
direccin descendente. Los valores propios de una matriz cuadrada A de dimensin n n , son las races
del polinomio:
det (I A)
el cual se conoce como polinomio caracterstico de la matriz A. I es la matriz identidad de dimensin
n n. En general, la condicin de matriz positiva definida se cumple en la vecindad del mnimo, pero
no existe garanta que ocurra en puntos lejanos al mismo. Existe un conjunto de modificaciones al
mtodo de Newton, para superar este inconveniente. Entre otros, puede citarse el mtodo de
Levenberg-Marquardt.
3.6.3. Levenberg-Marquardt
Est dado por la ecuacin:
1
xi = xi 1 (I + H f ) f
donde y son positivos e I es la matriz identidad. La idea es seleccionar de manera que la matriz
I H f sea positiva definida. La ecuacin anterior se aproxima al mtodo del descenso ms rpido si
, y al mtodo de Newton 0 . Usualmente se seleccionan valores iniciales grandes de , los
cuales se disminuyen a medida que nos aproximamos al mnimo.
Los tres mtodos discutidos hasta ahora son mtodos de optimizacin local, debido a que estn
basados nicamente en informacin proveniente de las derivadas de la funcin. Esto significa que si la
funcin objetivo es multimodal, es decir, tiene varios mnimos locales y globales, el mtodo encontrar
aquel mnimo (global o local) que est ms cercano al punto inicial seleccionado.
Ejemplo 4: Minimice la funcin:
f (x , y ) =
1
1 + 2( x 1.5 )2 + ( y + 1)2
0.6
1 + ( x + 1)2 + ( y 1.5 )2
En la Figura 3.8 se muestra la superficie definida por esta funcin. Como puede observarse la funcin
tiene dos mnimos (bimodal): uno local, ubicado en el punto (-1,1.5) y otro global, ubicado en el punto
(1.5,-1). Si se utiliza un mtodo basado en derivadas, se encontrar el mnimo ms cercano al punto
inicial seleccionado.
22
En la Figura 3.9 se muestran las curvas de nivel y la evolucin del mtodo del descenso ms rpido en
la bsqueda del mnimo, a partir de dos puntos iniciales: (-2.8,2.8), desde el cual se llega al mnimo
global y el otro, (2.8,-2.8) desde donde se llega al mnimo local. Utilizando el mtodo de Newton se
obtiene un resultado similar.
Existen algunas modificaciones a los mtodos basados en gradiente para convertirlos en mtodos de
optimizacin global, por ejemplo, comenzar el proceso iterativo desde varios puntos iniciales.
En todos los ejemplos anteriores la funcin objetivo est definida explcitamente, por lo que, el clculo
del gradiente y del Hessiano se hace de manera analtica. Sin embargo, este no es el caso en la mayora
de las aplicaciones reales de mtodos de optimizacin, en las cuales se hace necesario calcular
aproximaciones numricas tanto para el gradiente, como para el Hessiano.
3
-1
-2
-3
-3
-2
-1
0
x
23
Figura 3.9 Evolucin del mtodo del descenso ms rpido, para la funcin objetivo del ejemplo 4
En la prctica se utilizan estrategias de descenso que utilizan varios mtodos, de la siguiente manera:
1. Se emplea el mtodo de Newton clsico, si no hay descenso (esto lo responde bsqueda lineal)
2. Se emplea el mtodo de Levenberg-Marquardt con un inicial, k = 0.001, si no hay descenso
se incrementa en una razn, k = k
3. Si no hay descenso despus de varios intentos, se emplea el mtodo del descenso ms rpido.
24