Está en la página 1de 14

Mtodos Clsicos de Optimizacin para Problemas

No-Lineales sin Restricciones


Dr. Gonzalo Hernndez Oliva
UChile - Departamento de Ingeniera Matemtica

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:

Dada f : Rn R, campo escalar 2 veces diferenciable con continuidad,


encontrar x Rn , solucin de:

min f (x) (POSR)


xRn

Encontrar una solucin de este problema corresponde a encontrar un punto x que


satisface:
f (x) f (x) x Rn
Este punto x se denomina mnimo global de f sobre Rn .
Desde un punto de vista prctico, encontrar el mnimo o mximo global de una
funcin no-lineal cualquiera es un problema abierto en matemticas. Los mtodos
existentes slo obtienen mnimo locales.

1
Definicin 0: Un punto x es un mnimo local de f en Rn si existe r > 0 talque:

f (x) f (x) para kx xk r

El mnimo global de f ser el mnimo local de menor valor de la funcin objetivo.

Figura 1. Mnimos locales de una funcin de 2 variables

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)

x1 0
f (x)

0
f (x) = 0

x2
..
=
..
. .
f (x) 0
xn

2) La matriz hessiana 2 f (x) de f en x es definida positiva:


2 f (x) 2 f (x) 2 f (x)

x21 x1 x2 x1 xn
2 f (x) 2 f (x) 2 f (x)


x1 x2 x22 x2 xn
2 f (x) = .. .. ..
..
. . . .
2 f (x) 2 f (x) 2 f (x)
x1 xn x2 xn x2n

2
Dem: Se demuestra mediante la aproximacin de Taylor de 2 Orden de la funcin f
en torno a x.

Entonces, para obtener el mnimo local se debe resolver un sistema de ecuaciones no


lineales, en general complejo. Surge de esta forma la necesidad de aplicar mtodos
numricos.
Consideraremos mtodos numricos llamados de descenso, que pueden ser clasificados
en 3 grupos:



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.

2 Mtodo de Gradiente o de Cauchy


Sea f : Rn R diferenciable. La derivada direccional de f en la direccin d Rn
est dada por:

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

La solucin de este problema es:


f (x)
d=
kf (x)k
Y por lo tanto la direccin de mximo descenso de la funcin f es:

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:

f (x)t d < 0 (f (x))t d > 0

A travs del mtodo del gradiente, se busca definir una sucesin de puntos que tenga
la direccin de mximo descenso de la funcin f .

Definicin 3: Las curvas de nivel de f estn definidas por:

(f, ) = {x Rn tal que: f (x) = }

Lema 4: Sea d Rn una direccin de descenso de la funcin f en el punto x. Se define


la funcin unidimensional:
hx,d : R+ R
hx,d () = f (x + d) f (x) para x, d Rn fijos
Luego, si minimiza hx,d sobre R+ , entonces:

hx,d () < hx,d ( = 0) = 0 f (x + d) < f (x)

donde verifica:
h0x,d () = 0 f (x + d)t d = 0

Dem: Directa de las definiciones hechas para hx,d .


_ _
hx,d(0) 1 2

hx,d( ) = f( x + d ) - f(x)

para d direccin de descenso

hx,d()

Figura 2. Funcin Unidimensional 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

Calcular: k solucin del problema uni-dimensional:


minhxk ,dk () = f (xk + dk ) f (xk )
0
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)

Figura 3. Esquema iteracin del mtodo del Gradiente

Ejemplo: Se quiere resolver el problema de optimizacin bi-dimensional, ver ref. [1]:

min (x1 2)4 + (x1 2x2 )2


(x1 ,x2 )R2

En la siguiente tabla se muestran 7 iteraciones del mtodo del gradiente a partir


de x0 = (0.00, 3.00)

k xk f (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, determi-
nados 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 solu-


cin 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+1 k
x x x x

donde x es un punto estacionario de f : f (x) = 0. Este punto estacionario


depende el punto inicial utilizado.

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:

k = arg minf (xk + dk )


0

Ahora bien, si k = 0, significa que estamos en el ptimo en xk y el mtodo


finaliza. Si k > 0, k debe verificar la ecuacin:

df (xk + dk )
= 0 f (xk +k dk )t dk = 0 f (xk )t dk = (dk+1 )t dk = 0
d =k

5) Se llama mtodo del gradiente o de Cauchy, o de mximo descenso, a la iteracin


del mtodo anterior con la eleccin del paso k exacto.

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.

3.1 Mtodo del Gradiente Conjugado


Sea (PC) el problema de optimizacin cuadrtico definido por:

1
min q(x) = xt Qx bt x (PC)
xRn 2
donde Q es una matriz definida positiva

Definicin 5: Un conjunto de direcciones {d1 , ..., dk } de Rn , no nulas; k n se dir Q-


conjugado 2 a 2 si:

i t j 1 si i = 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

premultiplicando por (dj )t Q 6= 0, se tiene que:


k
X k
X
i (dj )t Qdi = i ij = j j = 1, .., k
i=1 i=1

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:

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.

Teorema 7: El mtodo del gradiente conjugado es un mtodo de direcciones conjugadas. Si


no termina en xk , entonces:

i) hg 0 , ..., g k i = hg 0 , Qg 0 , ..., Qk g 0 i

ii) hd0 , ..., dk i = hg 0 , Qg 0 , ..., Qk g 0 i

iii) (dk )t Qdi = 0 i = 0, ..., k 1

(g k )t g k kg k k2
iv) k = =
(dk )t Qdk kdk k2Q

(g k+1 )t g k+1 kg k+1 k2


v) k = =
(g k )t g k kg k k2

Dem: La demostracin se deja propuesta. Se puede ver en refs. [1, 2]

Observacin:
Como las direcciones conjugadas son Q-ortogonales entre si, el mtodo del gradi-
ente conjugado converje en a lo ms n iteraciones.

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:

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.

Ejemplo: Volviendo al problema de optimizacin bi-dimensional anterior, ver ref. [1]:

min (x1 2)4 + (x1 2x2 )2


(x1 ,x2 )R2

En la siguiente tabla se muestran 3 iteraciones del mtodo de Fletcher-Reeves


a partir de x0 = (0.00, 3.00)

k xk f (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

4 Mtodos Aproximados de Eleccin de Paso


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.

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:

h(t) = f (xk + tdk ) f (xk ) Para t 0

se tiene que:

h0 (t) = f (xk + tdk )t dk


h0 (0) = f (xk )t dk < 0
h(t) 0

tg td
h(0) t

t h'(0)m1

t h'(0)m2
t h'(0)

h(t)

Figura 4. Regla de Eleccin de Paso de Goldstein

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

En la prctica, se prueba con distintos valores para m1 y m2 .

5 Mtodos de 2o Orden: Newton - Kantorovich


El mtodo de Newton es un mtodo numrico que se utiliza para encontrar ceros de
una funcin. Sea F : Rn Rn un campo vectorial de clase 1 (Rn ). Un punto x Rn
ser un cero de F si:
F (x) = 0
El mtodo de Newton para este problema es el siguiente:

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 .

METODO DE OPTIMIZACION DE NEWTON


Etapa 0: Seleccionar un punto inicial x0 Rn
k=0
Etapa 1: Calcular
f(xk )
Si f (xk ) 0 = ST OP

1
Si no, calcular 2 f (xk ), 2 f (xk ) y seguir a Etapa 2.
Etapa 2: Calcular:
1
xk+1 = xk 2 f (xk ) f (xk )
k = k + 1 y volver a Etapa 1.

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]:

min (x1 2)4 + (x1 2x2 )2


(x1 ,x2 )R2

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:

1) La direccin del Mtodo de Newton:


h i1
dk = 2 f (xk ) f (xk )

es una direccin de descenso si y slo si: 2 f (xk ) es definida positiva, es decir:

(f (xk ))dk > 0 2 f (xk ) es definida positiva (1)

2) El mtodo de Newton en cada iteracin, considera una aproximacin cuadrtica


de la funcin objetivo, y define el nuevo punto de la sucesin minimizante como
el ptimo de la aproximacin cuadrtica de la funcin objetivo. Cerca de un
ptimo local de f , la aproximacin exacta.

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:

kxk+1 xk kxk xk2 para < 1

4) El principal problema del Mtodo de Newton es que la matriz 2 f (xk ) debe


ser definida positiva. Si se parte de un punto x0 suficientemente cercano a un
mnimo local, esto se verifica. En general se desconoce toda informacin acerca
de la solucin ptima del problema, y por lo tanto no se tiene un buen criterio
para escoger x0 .

5) Esto sugiere, que un buen mtodo de minimizacin es una combinacin del


Mtodo del Gradiente y del Mtodo de Newton: Inicialmente se aplica el
Mtodo del Gradiente que tiene convergencia global de velocidad lineal y luego
se aplica el Mtodo del Newton que tiene convergencia local de velocidad
cuadrtica.

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:

xk+1 = xk tk S k g k 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
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.

METODO BFGS (Broyden-Fletcher-Goldfarb-Shanno)


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 k k t t

k+1 k (q k )t S k q k pk (pk )t p (q ) S + S k q k (pk )t
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

También podría gustarte