Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmo Optimizacion No Lineal Sin Restricciones MA 33A
Algoritmo Optimizacion No Lineal Sin Restricciones MA 33A
07 de Mayo 2006
Abstract
En este apunte veremos una breve descripcin de la teora y mtodos que
se utilizan para enfrentar problemas de optimizacin no-lineales sin restrcciones.
La no presencia de restricciones puede ser vista en un comienzo como una grave
limitacin, sin embargo, la razn del porque dedicamos tiempo a resolver este
tipo de problemas desde el punto de vista de la optimizacin, es que existe toda
una metodologa que permite tratar problemas de optimizacin no-lineales con
restriccciones como problemas de optimizacin no-lineales sin restricciones: Los
Mtodos de Penalizacin.
1 Introduccin
Nos interesa resolver el problema siguiente:
1
Definicin 0: Un punto x es un mnimo local de f en Rn si existe r > 0 talque:
Desde un punto de vista terico, las condiciones ms generales para que x sea mnimo
local de f son las siguientes:
2
Dem: Se demuestra mediante la aproximacin de Taylor de 2 Orden de la funcin f
en torno a x.
Mtodo del Gradiente y Variedades
Primer Orden Mtodo del Gradiente Conjugado
Mtodo de Fletcher-Reeves
Mtodos Descenso Mtodos de Newton
Segundo Orden
Variedades
DFP: Davidon - Fletcher - Powell
Cuasi-Newton
BFGS
Todos los mtodos numricos que se utilizan en la actualidad reducen este problema
a una secuencia de problemas unidimensionales.
Df (x; d) = f (x)t d
Para obtener la direccin de mximo descenso de la funcin f en un punto x Rn
tal que f (x) 6= 0, se debe resolver el problema:
min f (x)t d
dRn
kdk2 = 1
d = f (x)
3
Definicin 2: El vector d Rn es una direccin de descenso de f , funcin diferenciable, en el
punto x Rn si:
A travs del mtodo del gradiente, se busca definir una sucesin de puntos que tenga
la direccin de mximo descenso de la funcin f .
donde verifica:
h0x,d () = 0 f (x + d)t d = 0
hx,d( ) = f( x + d ) - f(x)
hx,d()
De acuerdo a los resultados anteriores, se define la iteracin cannica del Mtodo del
Gradiente o Mximo Descenso, segn:
4
METODO DEL GRADIENTE O MAXIMO DESCENSO
Etapa 0: Seleccionar un punto inicial x0 Rn
k=0
Etapa 1: Calcular f (xk )
Si kf (xk )k = 0 = ST OP
Si no, seguir a Etapa 2.
Etapa 2: d = f (xk )
k
Curvas de Nivel de f
f(x2)
f(xo)
do d1
f(x1)
5
Observaciones:
4) Dos direcciones consecutivas generadas por el mtodo del gradiente son ortogo-
nales, ver figura 3. En efecto: supongamos que estamos en la iteracin k + 1 del
mtodo; la determinacin del paso exacto k obtiene el hecho anterior, pues:
6) Existen otros mtodos de gradiente que no consideran la eleccin del paso ex-
acto, sino que un paso elegido segn reglas que dan una buena aproximacin
del paso exacto; o que consideran un paso constante para todas las iteraciones.
Luego, en general, se considera un algoritmo del gradiente con eleccin de paso
variable segn algn criterio:
0
x Rn
dk = f (xk ) , k 0
xk+1 = xk + k dk
6
3 Mtodos de Direcciones Conjugadas
Por tener velocidad lineal, la convergencia del mtodo del gradiente es lenta, an en
el caso de funciones cuadrticas. Luego, se busca un mtodo de convergencia ms
rpida. Una manera posible de acelerar esta convergencia es utilizar la nocin de
direcciones conjugadas u ortogonales.
1
min q(x) = xt Qx bt x (PC)
xRn 2
donde Q es una matriz definida positiva
Luego j = 0 j = 1, ..., k.
7
METODO DEL GRADIENTE CONJUGADO
Etapa 0: Seleccionar un punto inicial x0 Rn
k=0
g 0 = q(x0 ) = Qx0 b
d0 = q(x0 )
Etapa 1:
(g k )t dk
k =
(dk )t Qdk
x = xk + kdk
k+1
Si xk+1 xk 0 = ST OP
Si no, seguir a Etapa 2.
Etapa 2:
g k+1 = q(xk+1 ) = Qxk+1 b
(g k+1 )t Qdk
k =
(dk )t Qdk
d k+1 = g k+1 + k dk
k = k + 1 y volver a Etapa 1.
i) hg 0 , ..., g k i = hg 0 , Qg 0 , ..., Qk g 0 i
(g k )t g k kg k k2
iv) k = =
(dk )t Qdk kdk k2Q
Observacin:
Como las direcciones conjugadas son Q-ortogonales entre si, el mtodo del gradi-
ente conjugado converje en a lo ms n iteraciones.
8
METODO DE FLETCHER-REEVES
Etapa 0: Seleccionar un punto inicial x0 Rn
k=0
d0 = f (x0 )
Etapa 1: Calcular k solucin del problema unidimensional:
k = arg minf (xk + dk )
0
xk+1= xk + kdk
Si xk+1 xk 0 = ST OP
Si no, seguir a Etapa 2.
Etapa 2: Calcular f (xk+1 )
f (xk+1 )t f (xk+1 )
k =
f (xk )t f (xk )
dk+1 = f (xk+1 ) + k dk
k = k + 1 y volver a Etapa 1.
La idea del algoritmo para determinacin del paso tk , ser calcular un intervalo [tg , td ],
0 tg td en el cual se pueda escoger tk [tg , td ] y se asegure una buena eleccin
en todo el intervalo.
9
ALGORITMO GENERAL DE CLCULO DE PASO
Etapa 0: Inicialmente tg = td = 0. Sea t > 0 un paso tentativo
inicial.
Etapa 1: Analizamos t:
- Si el criterio (a) se satisface: tk = t
- Si el criterio (b) se satisface entonces el paso t es
muy grande. Se define td = t, y se sigue a la etapa 2.
- Si criterio (c) se satisface entonces el paso t es muy
pequeo. Se define tg = t, y se sigue a la etapa 2.
Etapa 2: Nuevo paso tentativo:
- Si td = 0, se define un nuevo t, mayor que tg :
t = 10tg
Y se vuelve a la etapa 1.
- Si td 6= 0, se define un nuevo t en el intervalo (tg , td ).
La eleccin ms utilizada es:
tg + td
t=
2
Y se vuelve a la etapa 1.
La Regla de Goldstein determina los criterios (a), (b) y (c) en el algoritmo general
de determinacin de paso. Sea:
se tiene que:
tg td
h(0) t
t h'(0)m1
t h'(0)m2
t h'(0)
h(t)
10
REGLA DE GOLDSTEIN
Sean 0 < m1 < m2 < 1. Los criterios (a),(b) y (c) segn esta regla son:
Criterio (a): m2 h0 (0)t h(t) m1 h0 (0)t
Criterio (b): h(t) > m1 h0 (0)t
Criterio (c): h(t) < m2 h0 (0)t
METODO DE NEWTON-KANTOROVICH
Etapa 0: Seleccionar un punto inicial x0 Rn
k=0
Etapa 1: Calcular
F(xk )
Si F (x ) 0 = ST OP
k
1
Si no, calcular F (xk ), F (xk ) y seguir a Etapa 2.
Etapa 2: Calcular:
1
xk+1 = xk F (xk ) F (xk )
k = k + 1 y volver a Etapa 1.
Este mtodo se puede aplicar a la bsqueda de los ceros del gradiente de una fun-
cin f : Rn R, suficientemente regular. Es decir, se buscan los puntos estacionarios
de f .
11
Ejemplo: En la tabla siguiente se aplica el mtodo de Newton al problema de optimizacin
bi-dimensional a partir de x0 = (0.00, 3.00), ver ref. [1]:
2
1
k xk f (xk ) f (xk ) k
f (x ) 2 f (xk ) f (xk )
50.0 4.0
0 (0.00, 3.00) 52.00 (44.00, 24.00) (0.67, 2.67)
4.0 8.0
23.23 4.0
1 (0.67, 0.33) 3.13 (9.39, 0.04) (0.44, 0.23)
4.0 8.0
11.5 4.0
2 (1.11, 0.56) 0.63 (2.84, 0.04) (0.30, 0.14)
4.0 8.0
6.18 4.0
3 (1.41, 0.70) 0.12 (0.80, 0.04) (0.20, 0.10)
4.0 8.0
3.83 4.0
4 (1.61, 0.80) 0.02 (0.22, 0.04) (0.13, 0.07)
4.0 8.0
2.81 4.0
5 (1.74, 0.87) 0.005 (0.07, 0.00) (0.09, 0.04)
4.0 8.0
Observaciones:
3) El punto inicial x0 no puede ser arbitrario, ya que para que el mtodo converja,
la direccin dk debe ser de descenso. Esta corresponde a la principal desventaja
12
del mtodo: su convergencia local. Sin embargo, su rapidez de convergencia es
su mayor ventaja, posee convergencia de velocidad cuadrtica, es decir:
6 Mtodos Cuasi-Newton
En cada iteracin del mtodo de Newton es necesario calcular la inversa de la matriz
hessiana de f en xk de manera exacta, lo que es costoso computacionalmente, O(n3 )
operaciones aritmticas. Por esto razon, se propone un mtodo iterativo de la forma:
Convergencia Global
13
METODO DFP (Davidon-Fletcher-Powell)
Etapa 0: Seleccionar un punto inicial x0 Rn
Inicializar S0 = Inn
k=0
Etapa 1: Calcular k k
k g = f (x )
Si g 0 = ST OP
Si no, calcular xk+1 = xk tk S k g k
donde tk 0 se escoge segn regla de Goldstein
y seguir a Etapa 2.
Etapa 2: Calcular:
pk = xk+1 xk q k = g k+1 g k
pk (pk )t S k q k (q k )t S k
S k+1 = S k + k t k
(p ) q (q k )t S k q k
k = k + 1 y volver a Etapa 1.
References
[1] M. Bazaraa, H. D. Sherali and C. M. Shetty, Nonlinear Programming: Theory
and Algorithms, Second Edition, John Wiley and Sons, 1993.
14