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.

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)

xRn

(POSR)

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.

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) = 0

f (x)
x1
f (x)
x2

..
.

f (x)
xn

0
0
..
.

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

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

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:

Primer Orden

Mtodos Descenso
Segundo Orden

Cuasi-Newton

Mtodo del Gradiente y Variedades


Mtodo del Gradiente Conjugado

Mtodo de Fletcher-Reeves

Mtodos de Newton
Variedades

DFP: Davidon - Fletcher - Powell


BFGS

Todos los mtodos numricos que se utilizan en la actualidad reducen este problema
a una secuencia de problemas unidimensionales.

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:


d=

f (x)
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)

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:

METODO DEL GRADIENTE O MAXIMO DESCENSO


Etapa 0:
Etapa 1:

Etapa 2:

Seleccionar un punto inicial x0 Rn


k=0
Calcular f (xk )
Si kf (xk )k = 0 = ST OP
Si no, seguir a Etapa 2.
k
d = f (xk )
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 ,x2 )R2

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

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


de x0 = (0.00, 3.00)

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

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

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

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
2
donde Q es una matriz definida positiva
xRn

(PC)

Definicin 5: Un conjunto de direcciones {d1 , ..., dk } de Rn , no nulas; k n se dir Qconjugado 2 a 2 si:

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

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


k
X

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:

METODO DEL GRADIENTE CONJUGADO

Etapa 1:

Seleccionar un punto inicial x0 Rn


k=0
g 0 = q(x0 ) = Qx0 b
d0 = q(x0 )

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 =

g k+1 = q(xk+1 ) = Qxk+1 b


(g k+1 )t Qdk
k =
(dk )t Qdk
k+1
d
= 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

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

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

METODO DE FLETCHER-REEVES
Etapa 0:

Etapa 1:

Seleccionar un punto inicial x0 Rn


k=0
d0 = f (x0 )
Calcular k solucin del problema unidimensional:
k = arg minf (xk + dk )
0

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.

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


min

(x1 ,x2 )R2

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

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


a partir de x0 = (0.00, 3.00)

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

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.

ALGORITMO GENERAL DE CLCULO DE PASO


Etapa 0:
Etapa 1:

Etapa 2:

Inicialmente tg = td = 0. Sea t > 0 un paso tentativo


inicial.
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.
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

h(0)

tg

td

t h'(0)m1

t h'(0)

t h'(0)m2

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):
Criterio (b):
Criterio (c):

m2 h0 (0)t h(t) m1 h0 (0)t


h(t) > m1 h0 (0)t
h(t) < m2 h0 (0)t

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

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:
Etapa 1:

Etapa 2:

Seleccionar un punto inicial x0 Rn


k=0
Calcular
F(xk )

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:

Seleccionar un punto inicial x0 Rn


k=0
Calcular
f(xk )

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

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 ,x2 )R2

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

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 )

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.

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:

Etapa 1:

Etapa 2:

Seleccionar un punto inicial x0 Rn


Inicializar S0 = Inn
k=0
k
k
Calcular
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.
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:

Etapa 1:

Etapa 2:

Seleccionar un punto inicial x0 Rn


Inicializar S0 = Inn
k=0
k
k
Calcular
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.
Calcular:
pk = xk+1 xk q k = g k+1 g k
k k t t

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

También podría gustarte