Está en la página 1de 39

A LGORITMOS PARA P ROBLEMAS DE

O PTIMIZACIN S IN R ESTRICCIONES
M ULTIDIMENSIONALES
Prof. Jaime Carrasco
Mtodos de Optimizacin
Clase 7

Primavera 2014

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

T EOREMA DE TAYLOR M ULTIDIMENSIONAL


El teorema de Taylor arma que si
f : Rn ! R es de clase C 1 en x, entonces
f (x + d )

f (x ) + rf (x )T d + o (kd k)

f : Rn ! R es de clase C 2 en x, entonces
f (x + d )

1
f (x ) + rf (x )T d + d T r2 f (x ) d + o kd k2
2

La notacin o ( ) signica:
o (kd k)
= 0,
lim
kd k!0 kd k

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

lim

kd k!0

o kd k2

kd k2

Universidad Mayor

= 0.

D IRECCIN DE D ESCENSO
Si x es un mnimo local de f 9 > 0, tal que
f (x + d ) < f (x ) , 8d 2 B (0, ) ,
luego, por Taylor,
f (x + d )

f (x ) + rf (x )T d + o (kd k) < f (x )

, rf (x )T d + o (kd k) < 0.

Tomando kd k sucientemente pequea, va ha implicar que


rf (x )T d < 0.

Por otro lado, si rf (x )T d < 0, para cierta direccin d 2 Rn ,


vamos a tener
f (x + d ) f (x )
kd k

rf (x )T d o (kd k)
+
kd k
kd k

f (x + d ) f (x )
< 0, kd k < , f (x + d )
kd k
Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

rf (x )T d
< 0,
kd k
f (x ) < 0, 8d 2 B (0, )

D IRECCIN DE D ESCENSO

D EFINICIN
Diremos que d es una direccin de descenso en x si cumple
rf (x )T d < 0.
Dos ejemplos clsicos:
Direccin de Mximo Descenso:
d=
Direccin de Newton:
h
i
d=
r2 f (x )

rf (x )

rf (x ) ,

Se le ocurre alguna otra?

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

r2 f (x )

M TODO G ENERAL DE D ESCENSO


A LGORITMO
1

Tomamos x 0 2 Rn y una tolerancia e > 0, k = 0.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO G ENERAL DE D ESCENSO


A LGORITMO
1
2

Tomamos x 0 2 Rn y una tolerancia e > 0, k = 0.


Hacemos gk = rf (xk ).
Si kgk k < e. Entonces xk lo tomamos como la aproximacin al
mnimo.
Si kgk k > e. Entonces vamos al paso 3.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO G ENERAL DE D ESCENSO


A LGORITMO
1
2

Tomamos x 0 2 Rn y una tolerancia e > 0, k = 0.


Hacemos gk = rf (xk ).
Si kgk k < e. Entonces xk lo tomamos como la aproximacin al
mnimo.
Si kgk k > e. Entonces vamos al paso 3.
Dado un punto xk 2 Rn , hallar una direccin de descenso dk , i.e.,
tal que
rf (xk ) dk < 0
Esta direccin siempre existe, a no ser que rf (xk ) = 0. En tal caso
xk es posible mnimo

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO G ENERAL DE D ESCENSO


A LGORITMO
1
2

Tomamos x 0 2 Rn y una tolerancia e > 0, k = 0.


Hacemos gk = rf (xk ).
Si kgk k < e. Entonces xk lo tomamos como la aproximacin al
mnimo.
Si kgk k > e. Entonces vamos al paso 3.
Dado un punto xk 2 Rn , hallar una direccin de descenso dk , i.e.,
tal que
rf (xk ) dk < 0
Esta direccin siempre existe, a no ser que rf (xk ) = 0. En tal caso
xk es posible mnimo
Hallar un paso k tal que
f (xk + dk ) < f (xk )

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO G ENERAL DE D ESCENSO


A LGORITMO
1
2

Tomamos x 0 2 Rn y una tolerancia e > 0, k = 0.


Hacemos gk = rf (xk ).
Si kgk k < e. Entonces xk lo tomamos como la aproximacin al
mnimo.
Si kgk k > e. Entonces vamos al paso 3.
Dado un punto xk 2 Rn , hallar una direccin de descenso dk , i.e.,
tal que
rf (xk ) dk < 0
Esta direccin siempre existe, a no ser que rf (xk ) = 0. En tal caso
xk es posible mnimo
Hallar un paso k tal que
f (xk + dk ) < f (xk )

Hacer, xk +1 = xk + k dk
Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODOS DE D ESCENSO

D ISTINTAS E LECCIONES

DE

D IRECCIN

La condicin, kgk k < e (numricamente) () gk = rf (xk ) = 0


(tericamente).

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODOS DE D ESCENSO

D ISTINTAS E LECCIONES

DE

D IRECCIN

La condicin, kgk k < e (numricamente) () gk = rf (xk ) = 0


(tericamente).
La direccin de descenso da a origen a distintos mtodos:

dk =

8
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
:

r f ( xk )
i 1
h
rf (xk )
r 2 f ( xk )
i 1
h
rf (xk ) , > 0
r2 f (xk ) + I

Hk rf (xk )

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

Mximo Descenso

Newton Puro

Newton Modicado

Quasi-Newton

M TODOS DE D ESCENSO

D ISTINTAS E LECCIONES

DE

D IRECCIN

La condicin, kgk k < e (numricamente) () gk = rf (xk ) = 0


(tericamente).
La direccin de descenso da a origen a distintos mtodos:

dk =

8
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
:

r f ( xk )
i 1
h
rf (xk )
r 2 f ( xk )
i 1
h
rf (xk ) , > 0
r2 f (xk ) + I

Hk rf (xk )

Mximo Descenso

Newton Puro

Newton Modicado

Quasi-Newton

Cuando r2 f (xk ) 0, escogemos > 0 tal que r2 f (xk ) + I


(Newton Modicado).

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODOS DE D ESCENSO

M TODOS

DE

Q UASI -N EWTON

En los mtodos de Quasi-Newton, la matriz Hk es una aproximacin de


i 1
h
.
la matriz r2 f (xk )
DFP (Davidon-Fletcher-Powell)
Hk + 1 = Hk +

pk pkT

Hk qk qkT Hk

pkT qk

qkT Hk qk

BFGS (de Broyden-Fletcher-Goldfarb-Shanno)


!
pk qkT Hk + Hk qk pkT
qkT Hk qk pk pkT
Hk + 1 = Hk + 1 +
qkT pk
pkT qk
pkT qk
donde pk +1 = xk +1

xk y qk +1 = gk +1

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

gk .

Universidad Mayor

M TODOS DE D ESCENSO

C OM CALCULAMOS

EL PASO ?... DOS FORMAS ...

Llamemos () = f (xk + dk ), luego : R ! R


1

Busqueda lineal exacta (BLE):

min () = min f (xk + dk ) ! k


0

Busqueda lineal Inexacta (BLI):


Dados 0 < < < 1. Se busca un tal que satisfaga (A) y (W ):
(A ) Armijo:
()

(0) + 0 (0)

(W ) Wolfe:
0 ()

0 (0) .

Obtenemos un conjunto de valores para k , acotados inferior y


superiormente.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A NLISIS

DEL

P ROBLEMA

E JEMPLO
Consideremos el siguiente problema:
min f (x1 , x2 ) = x12 + x22 x1

3x1

Busquemos los puntos crticos:

rf (x1 , x2 ) =

2x1 + x22
2x1 x2

! x1 = 0 o x2 = 0
p
3
!
0,
3 ,
,0 .
2

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

0
0

E JEMPLO

A NLISIS

DEL

P ROBLEMA

Adems

r 2 f ( x1 , x2 ) =
r2 f 0,

2p
2 3

3 =

r2 f

3
,0
2

2 2x2
2x2 2x1
p
2 3
0
2
0

0
3

0 (ni

0)

Por lo tanto, el punto 32 , 0 satisface condiciones sucientes de segundo


orden, luego es un mnimo.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Recordemos que f (x1 , x2 ) = x12 + x22 x1

3x1 .

Primera Iteracin (k = 0)
1

Tomemos x 0 = (0, 1).

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Recordemos que f (x1 , x2 ) = x12 + x22 x1

3x1 .

Primera Iteracin (k = 0)
1
2

Tomemos x 0 = (0, 1).


d 0 = rf (0, 1) = ( 2, 0)T = (2, 0), krf (0, 1)k = 2 (se
puede comparar con una tolerancia e).

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Recordemos que f (x1 , x2 ) = x12 + x22 x1

3x1 .

Primera Iteracin (k = 0)
1
2

Tomemos x 0 = (0, 1).


d 0 = rf (0, 1) = ( 2, 0)T = (2, 0), krf (0, 1)k = 2 (se
puede comparar con una tolerancia e).
Hagamos una BLE:
() = f ((0, 1) + (2, 0)) = 42 4
min () ! 0 () = 8
0

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

4 = 0 ! 0 =

Universidad Mayor

1
2

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Recordemos que f (x1 , x2 ) = x12 + x22 x1

3x1 .

Primera Iteracin (k = 0)
1
2

Tomemos x 0 = (0, 1).


d 0 = rf (0, 1) = ( 2, 0)T = (2, 0), krf (0, 1)k = 2 (se
puede comparar con una tolerancia e).
Hagamos una BLE:
() = f ((0, 1) + (2, 0)) = 42 4
min () ! 0 () = 8
0

x 1 = x 0 + 0 d 0 = (0, 1) +

1
2

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

4 = 0 ! 0 =

(2, 0) = (1, 1).

Universidad Mayor

1
2

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Segunda Iteracin (k = 1)
2. k = 1, rf x 1 = rf (1, 1) = (0, 2), krf (1, 1)k = 2,
d 1 = (0, 2) = (0, 2).

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Segunda Iteracin (k = 1)
2. k = 1, rf x 1 = rf (1, 1) = (0, 2), krf (1, 1)k = 2,
d 1 = (0, 2) = (0, 2).
3. Hagamos una BLI: (A) : Tomemos = 0.1 y = 0.9
() = f x 1 + d 1 = f (1, 1 2) = (1 2)2 2,
0 () = 4 (1 2)
(0) + 0 (0)

()

(1

2)2

1 + 0.1 ( 4)

De aqu se concluye que


42

3. 6

0 () 1

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

3.6
= 0. 9
4

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Segunda Iteracin (k = 1)
3. ...Para la condicin de Wolfe (W ), tenemos:
0 (0)
0.9 ( 4)

0 ()
4 (1 2)
4

0.2

0 () 1

0.2
= 0.05
4

Se concluye que 1 2 [0.05, 1. 05]. Tomemos 1 =


= 0, i.e. es el paso de BLE).

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

1
2

(que justamente

E JEMPLO

A PLICANDO EL MTODO DE MXIMO DESCENSO

Segunda Iteracin (k = 1)
3. ...Para la condicin de Wolfe (W ), tenemos:
0 (0)
0.9 ( 4)

0 ()
4 (1 2)
4

0.2

0 () 1

0.2
= 0.05
4

Se concluye que 1 2 [0.05, 1. 05]. Tomemos 1 =


= 0, i.e. es el paso de BLE).

4. x 2 = x 1 + 1 d 1 = (1, 0).

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

1
2

(que justamente

E JEMPLO

A PLICANDO EL MTODO DE N EWTON

A partir del ltimo punto encontrado con el mtodo de mximo descenso,


apliquemos Newton Puro:
Primera Iteracin (k = 0)
1

Hacemos x 0 = (1, 0)T , k = 0.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE N EWTON

A partir del ltimo punto encontrado con el mtodo de mximo descenso,


apliquemos Newton Puro:
Primera Iteracin (k = 0)
1
2

Hacemos x 0 = (1, 0)T , k = 0.


rf x 0 = ( 1, 0), rf x 0 = 1, x 0 no es un punto crtico,
luego vamos al paso 3.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE N EWTON

A partir del ltimo punto encontrado con el mtodo de mximo descenso,


apliquemos Newton Puro:
Primera Iteracin (k = 0)
1
2

Hacemos x 0 = (1, 0)T , k = 0.


rf x 0 = ( 1, 0), rf x 0 = 1, x 0 no es un punto crtico,
luego vamos al paso 3.
Calculamos x 1 :

r2 f x 0 =
x1

= x0

x1

1
0

r2 f x 0
2
0

0
2

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

2
0

0
2

rf x 0
1

1
0

Universidad Mayor

3
2

! x1 = x .

E JEMPLO

A PLICANDO EL MTODO DE N EWTON M ODIFICADO

Primera Iteracin (k = 0)
1

x 0 = (0, 1), k = 0.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE N EWTON M ODIFICADO

Primera Iteracin (k = 0)
1
2

x 0 = (0, 1), k = 0.
Sabemos que este punto no es ptimo, as que vamos al paso 3.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

E JEMPLO

A PLICANDO EL MTODO DE N EWTON M ODIFICADO

Primera Iteracin (k = 0)
1
2
3

x 0 = (0, 1), k = 0.
Sabemos que este punto no es ptimo, as que vamos al paso 3.
Tenemos que:
2
2

r2 f x 0 =

2
0

0 y es singular

Luego debemos encontrar un 0 > 0, tal que


2
2
d0 =

2
0

+ 0
4
2

2
2

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

1
0

0
1
1

0 ! 0 = 2
2
0

Universidad Mayor

1
1

E JEMPLO

A PLICANDO EL MTODO DE N EWTON M ODIFICADO

...Primera Iteracin (k = 0)
4. Hagamos una BLE:
() = f x 0 + d 0 = f (, 1 ) = 2 + (1 )2 3
Detengmonos un momento, para encontrar el paso 0 , debemos
resolver ecuacin
0 () = 0 ( ! 0 = 1. 548 6)
0 () no siempre es sencilla (por ejemplo, un polinomio, cuyo grado
es 2), y por ende encontrar los ceros en forma algebraica, puede
ser muy dicultoso. Ahora bin, existen una cantidad de mtodos
unidimensionales para resolver este problema muy ecientes.
Algunos de ellos son: Mtodo de Biseccin, Mtodo de
Newton-Biseccin, Mtodo de Falsa posicin, entre otros. Tarea:
Investigar los mtodos mencionados.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

A LGORITMO
1

Encontrar a0 y b0 en [a, b ] tales que f (a0 ) < 0 y f (b0 ) > 0. Si eso


no es posible, el mnimo de f se encuentra en uno de los extremos a
o b. Poner k = 0.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

A LGORITMO
1

Encontrar a0 y b0 en [a, b ] tales que f (a0 ) < 0 y f (b0 ) > 0. Si eso


no es posible, el mnimo de f se encuentra en uno de los extremos a
o b. Poner k = 0.
k = a k +b k y calcular f 0 x k .
Calcular el punto medio xm
m
2

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

A LGORITMO
1

Encontrar a0 y b0 en [a, b ] tales que f (a0 ) < 0 y f (b0 ) > 0. Si eso


no es posible, el mnimo de f se encuentra en uno de los extremos a
o b. Poner k = 0.
k = a k +b k y calcular f 0 x k .
Calcular el punto medio xm
m
2
k
Si f 0 xm

k , e ir al paso 4.
> 0, poner ak +1 = ak , bk +1 = xm

k
Si f 0 xm

k, b
< 0, poner ak +1 = xm
k +1 = bk , e ir al paso 4.

k
Si f 0 xm

k es el mnimo de f en [a, b ]. Parar.


= 0, xm

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

A LGORITMO
1

Encontrar a0 y b0 en [a, b ] tales que f (a0 ) < 0 y f (b0 ) > 0. Si eso


no es posible, el mnimo de f se encuentra en uno de los extremos a
o b. Poner k = 0.
k = a k +b k y calcular f 0 x k .
Calcular el punto medio xm
m
2
k
Si f 0 xm

k , e ir al paso 4.
> 0, poner ak +1 = ak , bk +1 = xm

k
Si f 0 xm

k, b
< 0, poner ak +1 = xm
k +1 = bk , e ir al paso 4.

k
Si f 0 xm

k es el mnimo de f en [a, b ]. Parar.


= 0, xm

Poner k + 1 ! k, e ir al paso 2.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

B USCANDO EL PASO

El grco de la funcin g () := 0 () = 32

2 es:

y 80
60
40
20
-4

-2

Puesto que 0 (0) = 2 < 0 y 0 (2) = 6 > 0,


1
Tomamos a0 = 0 y b0 = 2, i.e., buscamos el cero de 0 en [0, 2],
k = 0.

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

B USCANDO EL PASO

El grco de la funcin g () := 0 () = 32

2 es:

y 80
60
40
20
-4

-2

Puesto que 0 (0) = 2 < 0 y 0 (2) = 6 > 0,


1
Tomamos a0 = 0 y b0 = 2, i.e., buscamos el cero de 0 en [0, 2],
k = 0.
b0
2
Luego calculamos x 0 = a0 +
= 1. Calculamos 0 x 0 = 1 < 0.
2

Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

B USCANDO EL PASO

El grco de la funcin g () := 0 () = 32

2 es:

y 80
60
40
20
-4

-2

Puesto que 0 (0) = 2 < 0 y 0 (2) = 6 > 0,


1
Tomamos a0 = 0 y b0 = 2, i.e., buscamos el cero de 0 en [0, 2],
k = 0.
b0
2
Luego calculamos x 0 = a0 +
= 1. Calculamos 0 x 0 = 1 < 0.
2
0
0
3
Si x = 1 < 0, hacemos a1 = x 0 = 1 y b1 = b0 = 2. (Ir al
paso 2)
Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor

M TODO DE B ISECCIN

B USCANDO EL PASO

El grco de la funcin g () := 0 () = 32

2 es:

y 80
60
40
20
-4

-2

Puesto que 0 (0) = 2 < 0 y 0 (2) = 6 > 0,


1
Tomamos a0 = 0 y b0 = 2, i.e., buscamos el cero de 0 en [0, 2],
k = 0.
b0
2
Luego calculamos x 0 = a0 +
= 1. Calculamos 0 x 0 = 1 < 0.
2
0
0
3
Si x = 1 < 0, hacemos a1 = x 0 = 1 y b1 = b0 = 2. (Ir al
paso 2)
4
k = k + 1.
Prof. Jaime Carrasco Mtodos de Optimizacin Clase 7

Universidad Mayor