Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmo Optimización No Lineal Sin Restricciones MA 33A
Algoritmo Optimización No Lineal Sin Restricciones MA 33A
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.
Introduccin
xRn
(POSR)
para kx xk r
Desde un punto de vista terico, las condiciones ms generales para que x sea mnimo
local de f son las siguientes:
Teorema 1: Un punto x es mnimo local de f si se verifican las siguientes condiciones:
1) x es un punto estacionario de f
f (x) = 0
f (x)
x1
f (x)
x2
..
.
f (x)
xn
0
0
..
.
2 f (x) =
2 f (x)
x21
2 f (x)
x1 x2
..
.
2 f (x)
x1 x2
2 f (x)
x22
..
.
2 f (x)
x1 xn
2 f (x)
x2 xn
..
.
2 f (x)
x1 xn
2 f (x)
x2 xn
..
.
2 f (x)
x2n
Primer Orden
Mtodos Descenso
Segundo Orden
Cuasi-Newton
Mtodo de Fletcher-Reeves
Mtodos de Newton
Variedades
Todos los mtodos numricos que se utilizan en la actualidad reducen este problema
a una secuencia de problemas unidimensionales.
dRn
kdk2 = 1
f (x)
kf (x)k
hx,d( ) = f( x + d ) - f(x)
para d direccin de descenso
hx,d()
De acuerdo a los resultados anteriores, se define la iteracin cannica del Mtodo del
Gradiente o Mximo Descenso, segn:
Etapa 2:
xk+1 = xk + k dk
k = k + 1 y volver a Etapa 1.
Curvas de Nivel de f
f(x2)
f(xo)
do
d1
f(x1)
f (xk )
k
xk
f (xk )
f (xk )
k
0 (0.00, 3.00) 52.00 (44.00, 24.00)
50.12
0.062
1 (2.70, 1.51) 0.34
(0.73, 1.28)
1.47
0.24
2 (2.52, 1.20) 0.09
(0.80, 0.48)
0.93
0.11
3 (2.43, 1.25) 0.04
(0.18, 0.28)
0.33
0.31
4 (2.37, 1.16) 0.02
(0.30, 0.20)
0.36
0.12
5 (2.33, 1.18) 0.01
(0.08, 0.12)
0.14
0.36
6 (2.30, 1.14) 0.009
(0.15, 0.08)
0.17
0.13
7 (2.28, 1.15) 0.007
(0.05, 0.08)
0.09
5
Observaciones:
1) En cada etapa k , llamado el paso del mtodo en la etapa (k + 1)-sima, debe
verificar:
f (xk + dk ) dk = 0
que en general ser una ecuacin difcil de resolver exactamente en . Por esta
razn se utilizan pasos k que sern aproximaciones del paso exacto, determinados por algn mtodo de eleccin de paso, como se ver ms adelante.
2) Dadas las condiciones de optimalidad sobre f (i.e. existencia nica de la solucin del problema (P)) se tiene que el mtodo posee una convergencia global,
i.e. para cualquier punto inicial la iteracin del mtodo converge, a la solucin
de (POSR).
3) La rapidez de convergencia del mtodo es lineal: Si xk es la sucesin de puntos
determinados por el mtodo del gradiente, se tiene que (0, 1) tal que:
k
k+1
x x x
x
4) Dos direcciones consecutivas generadas por el mtodo del gradiente son ortogonales, 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:
k = arg minf (xk + dk )
0
df (xk + dk )
= 0 f (xk +k dk )t dk = 0 f (xk )t dk = (dk+1 )t dk = 0
d
=k
6) Existen otros mtodos de gradiente que no consideran la eleccin del paso exacto, 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
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.
3.1
(PC)
1 si i = j
i t
j
(d ) Qd = ij
i, j = 1, ..., k
donde ij =
0 en otro caso
Por ejemplo, si Q = I, las direcciones son ortonormales.
Proposicin 6: Si {d1 , ..., dk } es un conjunto Q-conjugado, entonces {d1 , ..., dk } es de rango
mximo, i.e. los vectores di son linealmente independientes.
Dem: En efecto, sean i R; i = 1, ..., k, tal que:
k
X
i di = 0
i=1
i (dj )t Qdi =
i=1
k
X
i ij = j
i=1
j = 1, .., k
Luego j = 0 j = 1, ..., k.
El mtodo de direcciones conjugadas para (PC), suponiendo que no se tienen las
direcciones conjugadas ya calculadas, es el siguiente:
Etapa 1:
Etapa 2:
(g k )t dk
(dk )t Qdk
k+1
x = xk + kdk
Si xk+1 xk 0 = ST OP
Si no, seguir a Etapa 2.
Etapa 0:
k =
i = 0, ..., k 1
iv) k =
(g k )t g k
kg k k2
=
(dk )t Qdk
kdk k2Q
v) k =
(g k+1 )t g k+1
kg k+1 k2
=
(g k )t g k
kg k k2
3.2
Mtodo de Fletcher-Reeves
Corresponde a la versin del mtodo del gradiente conjugado en el caso de una funcin
f general. La iteracin se define de la siguiente manera:
METODO DE FLETCHER-REEVES
Etapa 0:
Etapa 1:
Etapa 2:
xk+1= xk + kdk
Si xk+1 xk 0 = ST OP
Si no, seguir a Etapa 2.
Calcular f (xk+1 )
f (xk+1 )t f (xk+1 )
k =
f (xk )t f (xk )
k+1
= f (xk+1 ) + k dk
d
k = k + 1 y volver a Etapa 1.
f (xk )
k
xk
f (xk )
f (xk )
k
0 (0.00, 3.00) 52.00 (44.00, 24.00)
50.12
0.062
1 (2.54, 1.21)
0.10
(0.87, 0.48)
0.99
0.11
2 (2.25, 1.10) 0.008
(0.16, 0.20)
0.32
0.10
3 (2.19, 1.09) 0.0017
(0.05, 0.04)
0.06
0.11
Su utilizan para lograr una buena eleccin del paso en cada iteracin de un mtodo de
optimizacin como alternativa a la determinacin del paso exacto. Sea k la iteracin
de un mtodo de optimizacin cualquiera y se quiere determinar un paso para la
sucesin minimizante:
xk+1 = xk + tk dk
Donde tk 0, dk es una direccin de descenso en xk de la funcin objetivo f , i.e:
(f (xk ))t dk > 0
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.
Etapa 2:
La Regla de Goldstein determina los criterios (a), (b) y (c) en el algoritmo general
de determinacin de paso. Sea:
h(t) = f (xk + tdk ) f (xk ) Para t 0
se tiene que:
h0 (t) = f (xk + tdk )t dk
h(0)
tg
td
t h'(0)m1
t h'(0)
t h'(0)m2
h(t)
REGLA DE GOLDSTEIN
Sean 0 < m1 < m2 < 1. Los criterios (a),(b) y (c) segn esta regla son:
Criterio (a):
Criterio (b):
Criterio (c):
Etapa 2:
Si F (x ) 0 = ST OP
1
Si no, calcular F (xk ), F (xk )
y seguir a 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 funcin f : Rn R, suficientemente regular. Es decir, se buscan los puntos estacionarios
de f .
METODO DE OPTIMIZACION DE NEWTON
Etapa 0:
Etapa 1:
Etapa 2:
Si f (xk ) 0 = ST OP
1
Si no, calcular 2 f (xk ), 2 f (xk )
y seguir a Etapa 2.
Calcular:
1
f (xk )
xk+1 = xk 2 f (xk )
k = k + 1 y volver a Etapa 1.
11
xk
f (xk )
f (xk )
(0.00, 3.00)
52.00
(44.00, 24.00)
(0.67, 0.33)
(1.11, 0.56)
3.13
0.63
(9.39, 0.04)
(2.84, 0.04)
(1.41, 0.70)
0.12
(0.80, 0.04)
(1.61, 0.80)
0.02
(0.22, 0.04)
(1.74, 0.87)
0.005
(0.07, 0.00)
2
k
f (x )
50.0 4.0
4.0 8.0
23.23 4.0
4.0 8.0
11.5 4.0
4.0 8.0
6.18 4.0
4.0 8.0
3.83 4.0
4.0 8.0
2.81 4.0
4.0 8.0
1
2 f (xk )
f (xk )
(0.67, 2.67)
(0.44, 0.23)
(0.30, 0.14)
(0.20, 0.10)
(0.13, 0.07)
(0.09, 0.04)
Observaciones:
1) La direccin del Mtodo de Newton:
h
i1
f (xk )
dk = 2 f (xk )
(1)
para < 1
Mtodos Cuasi-Newton
g k = f (xk )
(2)
1
donde S k es una matriz que aproxima a 2 f (xk )
y tk 0 minimiza f sobre
k
k
x g para 0 (paso exacto o aproximado).
Se presentarn 2 mtodos que permiten construir iterativamente la matriz S k de
manera que se verifiquen las siguientes condiciones:
i) Definida Positiva: Si S k es definida positiva = S k+1 tambin lo es
1
ii) Aproximacin de la matriz hessiana inversa de f : xk x , S k 2 f (x)
para k .
La forma de construir estos mtodos asegura:
Convergencia Global
Rapidez de convergencia mayor que lineal
Convergencia a un mnimo local
13
Etapa 1:
Etapa 2:
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.
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.
Etapa 1:
Etapa 2:
p (q ) S + S k q k (pk )t
(q k )t S k q k pk (pk )t
k+1
k
S
=S + 1+
(pk )t q k
(pk )t q k
(pk )t 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.
[2] D. G. Luenberger, Linear and Nonlinear Programming, Second Edition, John
Wiley and Sons, 1984.
14