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 : R
n
R, campo escalar 2 veces diferenciable con continuidad,
encontrar x R
n
, solucin de:
min
xR
n
f(x) (POSR)
Encontrar una solucin de este problema corresponde a encontrar un punto x que
satisface:
f(x) f(x) x R
n
Este punto x se denomina mnimo global de f sobre R
n
.
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
Denicin 0: Un punto x es un mnimo local de f en R
n
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 verican las siguientes condiciones:
1) x es un punto estacionario de f
f(x) =

f(x)
x
1
f(x)
x
2
.
.
.
f(x)
x
n

0
0
.
.
.
0

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

2
f(x) =

2
f(x)
x
2
1

2
f(x)
x
1
x
2


2
f(x)
x
1
xn

2
f(x)
x
1
x
2

2
f(x)
x
2
2


2
f(x)
x
2
x
n
.
.
.
.
.
.
.
.
.
.
.
.

2
f(x)
x
1
xn

2
f(x)
x
2
xn


2
f(x)
x
2
n

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 clasicados
en 3 grupos:
Mtodos Descenso

Primer Orden

Mtodo del Gradiente y Variedades


Mtodo del Gradiente Conjugado
Mtodo de Fletcher-Reeves
Segundo Orden

Mtodos de Newton
Variedades
Cuasi-Newton

DFP: Davidon - Fletcher - Powell
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 : R
n
R diferenciable. La derivada direccional de f en la direccin d R
n
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 R
n
tal que f(x) 6= 0, se debe resolver el problema:
min
dR
n
f(x)
t
d
kdk
2
= 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
Denicin 2: El vector d R
n
es una direccin de descenso de f, funcin diferenciable, en el
punto x R
n
si:
f(x)
t
d < 0 (f(x))
t
d > 0
A travs del mtodo del gradiente, se busca denir una sucesin de puntos que tenga
la direccin de mximo descenso de la funcin f.
Denicin 3: Las curvas de nivel de f estn denidas por:
(f, ) = {x R
n
tal que: f(x) = }
Lema 4: Sea d R
n
una direccin de descenso de la funcin f en el punto x. Se dene
la funcin unidimensional:
h
x,d
: R
+
R
h
x,d
() = f(x + d) f(x) para x, d R
n
jos
Luego, si minimiza h
x,d
sobre R
+
, entonces:
h
x,d
() < h
x,d
( = 0) = 0 f(x + d) < f(x)
donde verica:
h
0
x,d
() = 0 f(x + d)
t
d = 0
Dem: Directa de las deniciones hechas para h
x,d
.

h
x,d
()
h
x,d
(0)
_
h
x,d
( ) = f( x + d ) - f(x)

2
_
para d direccin de descenso
Figura 2. Funcin Unidimensional h
x,d
De acuerdo a los resultados anteriores, se dene la iteracin cannica del Mtodo del
Gradiente o Mximo Descenso, segn:
4
METODO DEL GRADIENTE O MAXIMO DESCENSO
Etapa 0: Seleccionar un punto inicial x
0
R
n
k = 0
Etapa 1: Calcular f(x
k
)
Si kf(x
k
)k = 0 = STOP
Si no, seguir a Etapa 2.
Etapa 2: d
k
= f(x
k
)
Calcular:
k
solucin del problema uni-dimensional:
min
0
h
x
k
,d
k() = f(x
k
+ d
k
) f(x
k
)
x
k+1
= x
k
+
k
d
k
k = k + 1 y volver a Etapa 1.
f(x
2
)
d
1 d
o
f(x
1
)
f(x
o
)
Curvas de Nivel de f
Figura 3. Esquema iteracin del mtodo del Gradiente
Ejemplo: Se quiere resolver el problema de optimizacin bi-dimensional, ver ref. [1]:
min
(x
1
,x
2
)R
2
(x
1
2)
4
+ (x
1
2x
2
)
2
En la siguiente tabla se muestran 7 iteraciones del mtodo del gradiente a partir
de x
0
= (0.00, 3.00)
k x
k
f(x
k
) f(x
k
)

f(x
k
)


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
vericar:
f(x
k
+ d
k
) d
k
= 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 x
k
es la sucesin de puntos
determinados por el mtodo del gradiente, se tiene que (0, 1) tal que:

x
k+1
x

x
k
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 gura 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 min
0
f(x
k
+ d
k
)
Ahora bien, si
k
= 0, signica que estamos en el ptimo en x
k
y el mtodo
naliza. Si
k
> 0,
k
debe vericar la ecuacin:
df(x
k
+ d
k
)
d

=
k
= 0 f(x
k
+
k
d
k
)
t
d
k
= 0 f(x
k
)
t
d
k
= (d
k+1
)
t
d
k
= 0
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:

x
0
R
n
x
k+1
= x
k
+
k
d
k
d
k
= f(x
k
) ,
k
0
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 denido por:
min
xR
n
q(x) =
1
2
x
t
Qx b
t
x (PC)
donde Q es una matriz denida positiva
Denicin 5: Un conjunto de direcciones {d
1
, ..., d
k
} de R
n
, no nulas; k n se dir Q-
conjugado 2 a 2 si:
(d
i
)
t
Qd
j
=
ij
i, j = 1, ..., k donde
ij
=

1 si i = j
0 en otro caso
Por ejemplo, si Q = I, las direcciones son ortonormales.
Proposicin 6: Si {d
1
, ..., d
k
} es un conjunto Q-conjugado, entonces {d
1
, ..., d
k
} es de rango
mximo, i.e. los vectores d
i
son linealmente independientes.
Dem: En efecto, sean
i
R; i = 1, ..., k, tal que:
k
X
i=1

i
d
i
= 0
premultiplicando por (d
j
)
t
Q 6= 0, se tiene que:
k
X
i=1

i
(d
j
)
t
Qd
i
=
k
X
i=1

ij
=
j
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:
7
METODO DEL GRADIENTE CONJUGADO
Etapa 0: Seleccionar un punto inicial x
0
R
n
k = 0
g
0
= q(x
0
) = Qx
0
b
d
0
= q(x
0
)
Etapa 1:

k
=
(g
k
)
t
d
k
(d
k
)
t
Qd
k
x
k+1
= x
k
+
k
d
k
Si

x
k+1
x
k

0 = STOP
Si no, seguir a Etapa 2.
Etapa 2:
g
k+1
= q(x
k+1
) = Qx
k+1
b

k
=
(g
k+1
)
t
Qd
k
(d
k
)
t
Qd
k
d
k+1
= g
k+1
+
k
d
k
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 x
k
, entonces:
i) hg
0
, ..., g
k
i = hg
0
, Qg
0
, ..., Q
k
g
0
i
ii) hd
0
, ..., d
k
i = hg
0
, Qg
0
, ..., Q
k
g
0
i
iii) (d
k
)
t
Qd
i
= 0 i = 0, ..., k 1
iv)
k
=
(g
k
)
t
g
k
(d
k
)
t
Qd
k
=
kg
k
k
2
kd
k
k
2
Q
v)
k
=
(g
k+1
)
t
g
k+1
(g
k
)
t
g
k
=
kg
k+1
k
2
kg
k
k
2
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 dene de la siguiente manera:
8
METODO DE FLETCHER-REEVES
Etapa 0: Seleccionar un punto inicial x
0
R
n
k = 0
d
0
= f(x
0
)
Etapa 1: Calcular
k
solucin del problema unidimensional:

k
= arg min
0
f(x
k
+ d
k
)
x
k+1
= x
k
+
k
d
k
Si

x
k+1
x
k

0 = STOP
Si no, seguir a Etapa 2.
Etapa 2: Calcular f(x
k+1
)

k
=
f(x
k+1
)
t
f(x
k+1
)
f(x
k
)
t
f(x
k
)
d
k+1
= f(x
k+1
) +
k
d
k
k = k + 1 y volver a Etapa 1.
Ejemplo: Volviendo al problema de optimizacin bi-dimensional anterior, ver ref. [1]:
min
(x
1
,x
2
)R
2
(x
1
2)
4
+ (x
1
2x
2
)
2
En la siguiente tabla se muestran 3 iteraciones del mtodo de Fletcher-Reeves
a partir de x
0
= (0.00, 3.00)
k x
k
f(x
k
) f(x
k
)

f(x
k
)


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:
x
k+1
= x
k
+ t
k
d
k
Donde t
k
0, d
k
es una direccin de descenso en x
k
de la funcin objetivo f, i.e:
(f(x
k
))
t
d
k
> 0
La idea del algoritmo para determinacin del paso t
k
, ser calcular un intervalo [t
g
, t
d
],
0 t
g
t
d
en el cual se pueda escoger t
k
[t
g
, t
d
] y se asegure una buena eleccin
en todo el intervalo.
9
ALGORITMO GENERAL DE CLCULO DE PASO
Etapa 0: Inicialmente t
g
= t
d
= 0. Sea t > 0 un paso tentativo
inicial.
Etapa 1: Analizamos t:
- Si el criterio (a) se satisface: t
k
= t
- Si el criterio (b) se satisface entonces el paso t es
muy grande. Se dene t
d
= t, y se sigue a la etapa 2.
- Si criterio (c) se satisface entonces el paso t es muy
pequeo. Se dene t
g
= t, y se sigue a la etapa 2.
Etapa 2: Nuevo paso tentativo:
- Si t
d
= 0, se dene un nuevo t, mayor que t
g
:
t = 10t
g
Y se vuelve a la etapa 1.
- Si t
d
6= 0, se dene un nuevo t en el intervalo (t
g
, t
d
).
La eleccin ms utilizada es:
t =
t
g
+ t
d
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(x
k
+ td
k
) f(x
k
) Para t 0
se tiene que:
h
0
(t) = f(x
k
+ td
k
)
t
d
k
h
0
(0) = f(x
k
)
t
d
k
< 0
h(t) 0
h'(0)
h'(0)m
1
h'(0)m
2
h(0)
t
t
t
t
t
d
t
g
h(t)
Figura 4. Regla de Eleccin de Paso de Goldstein
10
REGLA DE GOLDSTEIN
Sean 0 < m
1
< m
2
< 1. Los criterios (a),(b) y (c) segn esta regla son:
Criterio (a): m
2
h
0
(0)t h(t) m
1
h
0
(0)t
Criterio (b): h(t) > m
1
h
0
(0)t
Criterio (c): h(t) < m
2
h
0
(0)t
En la prctica, se prueba con distintos valores para m
1
y m
2
.
5 Mtodos de 2
o
Orden: Newton - Kantorovich
El mtodo de Newton es un mtodo numrico que se utiliza para encontrar ceros de
una funcin. Sea F : R
n
R
n
un campo vectorial de clase
1
(R
n
). Un punto x R
n
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 x
0
R
n
k = 0
Etapa 1: Calcular F(x
k
)
Si

F(x
k
)

0 = STOP
Si no, calcular F(x
k
),

F(x
k
)

1
y seguir a Etapa 2.
Etapa 2: Calcular:
x
k+1
= x
k

F(x
k
)

1
F(x
k
)
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 : R
n
R, sucientemente regular. Es decir, se buscan los puntos estacionarios
de f.
METODO DE OPTIMIZACION DE NEWTON
Etapa 0: Seleccionar un punto inicial x
0
R
n
k = 0
Etapa 1: Calcular f(x
k
)
Si

f(x
k
)

0 = STOP
Si no, calcular
2
f(x
k
),

2
f(x
k
)

1
y seguir a Etapa 2.
Etapa 2: Calcular:
x
k+1
= x
k

2
f(x
k
)

1
f(x
k
)
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 x
0
= (0.00, 3.00), ver ref. [1]:
min
(x
1
,x
2
)R
2
(x
1
2)
4
+ (x
1
2x
2
)
2
k x
k
f(x
k
) f(x
k
)
2
f(x
k
)

2
f(x
k
)

1
f(x
k
)
0 (0.00, 3.00) 52.00 (44.00, 24.00)

50.0 4.0
4.0 8.0

(0.67, 2.67)
1 (0.67, 0.33) 3.13 (9.39, 0.04)

23.23 4.0
4.0 8.0

(0.44, 0.23)
2 (1.11, 0.56) 0.63 (2.84, 0.04)

11.5 4.0
4.0 8.0

(0.30, 0.14)
3 (1.41, 0.70) 0.12 (0.80, 0.04)

6.18 4.0
4.0 8.0

(0.20, 0.10)
4 (1.61, 0.80) 0.02 (0.22, 0.04)

3.83 4.0
4.0 8.0

(0.13, 0.07)
5 (1.74, 0.87) 0.005 (0.07, 0.00)

2.81 4.0
4.0 8.0

(0.09, 0.04)
Observaciones:
1) La direccin del Mtodo de Newton:
d
k
=
h

2
f(x
k
)
i
1
f(x
k
)
es una direccin de descenso si y slo si:
2
f(x
k
) es denida positiva, es decir:
(f(x
k
))d
k
> 0
2
f(x
k
) es denida positiva (1)
2) El mtodo de Newton en cada iteracin, considera una aproximacin cuadrtica
de la funcin objetivo, y dene 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 x
0
no puede ser arbitrario, ya que para que el mtodo converja,
la direccin d
k
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:
kx
k+1
xk kx
k
xk
2
para < 1
4) El principal problema del Mtodo de Newton es que la matriz
2
f(x
k
) debe
ser denida positiva. Si se parte de un punto x
0
sucientemente cercano a un
mnimo local, esto se verica. 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 x
0
.
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 x
k
de manera exacta, lo que es costoso computacionalmente, O(n
3
)
operaciones aritmticas. Por esto razon, se propone un mtodo iterativo de la forma:
x
k+1
= x
k
t
k
S
k
g
k
g
k
= f(x
k
) (2)
donde S
k
es una matriz que aproxima a

2
f(x
k
)

1
y t
k
0 minimiza f sobre
x
k
g
k
para 0 (paso exacto o aproximado).
Se presentarn 2 mtodos que permiten construir iterativamente la matriz S
k
de
manera que se veriquen las siguientes condiciones:
i) Denida Positiva: Si S
k
es denida positiva =S
k+1
tambin lo es
ii) Aproximacin de la matriz hessiana inversa de f: x
k
x , S
k

2
f(x)

1
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 x
0
R
n
Inicializar S
0
= I
nn
k = 0
Etapa 1: Calcular g
k
= f(x
k
)
Si

g
k

0 = STOP
Si no, calcular x
k+1
= x
k
t
k
S
k
g
k
donde t
k
0 se escoge segn regla de Goldstein
y seguir a Etapa 2.
Etapa 2: Calcular:
p
k
= x
k+1
x
k
q
k
= g
k+1
g
k
S
k+1
= S
k
+
p
k
(p
k
)
t
(p
k
)
t
q
k

S
k
q
k
(q
k
)
t
S
k
(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 x
0
R
n
Inicializar S
0
= I
nn
k = 0
Etapa 1: Calcular g
k
= f(x
k
)
Si

g
k

0 = STOP
Si no, calcular x
k+1
= x
k
t
k
S
k
g
k
donde t
k
0 se escoge segn regla de Goldstein
y seguir a Etapa 2.
Etapa 2: Calcular:
p
k
= x
k+1
x
k
q
k
= g
k+1
g
k
S
k+1
= S
k
+

1 +
(q
k
)
t
S
k
q
k
(p
k
)
t
q
k

p
k
(p
k
)
t
(p
k
)
t
q
k

p
k
(q
k
)
t
S
t
+ S
k
q
k
(p
k
)
t

(p
k
)
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