Está en la página 1de 5

B usqueda en una Dimensi on

Departamento de Matem aticas, CSI/ITESM 1 de noviembre de 2009

Indice
14.1. Introducci on . . . . . . . . . . . 14.2. M etodo de la Secci on Dorada . 14.3. Ubicaci on del Intervalo . . . . . 14.4. Algoritmo Basado en la Secci on 14.5. Ejemplos . . . . . . . . . . . . 14.6. Tarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dorada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 3 4 4

14.1.

Introducci on

Algunos de los m etodos num ericos de b usqueda de o ptimos de una funci on en varias variables se basan en m etodos de b usqueda de optimos en una variable. Por ejemplo, el m etodo de ascenso m as r apido elige un punto dado y determina la direcci on de m aximo crecimiento en tal punto. Esta direcci on es la del gradiente de la funci on en dicho punto. As y partiendo del punto y siguiendo esta direcci on avanza para localizar el o ptimo en dicha direcci on. Imaginese avanzando en l nea recta y tomando en cuenta s olo la evaluaci on de la funci on para determinar el punto en la l nea con la mayor evaluaci on. Una vez alcanzado este punto, se determina la direcci on de m aximo crecimiento en tal punto y se repite el proceso de b usqueda. Por su valor pr actico, los m etodos de b usqueda en una dimensi on son dignos de revisar. Previo a revisar los m etodos, es importante saber si el o ptimo que buscamos existe y que no habr a m as de uno. Una funci on que efectivamente tiene un s olo o ptimo recibe un nombre especial: Denici on Una funci on es unimodal si s olo tiene un o ptimo (relativo o absoluto). En caso que tenga varios ptimos se dice multimodal. o Unimodal Multimodal

En general, tener la certeza de que el optimo buscado existe y es u nico, normalmente se asume que la funci on es unimodal y se revisan las respuestas del que entrega la aplicaci on del algoritmo a problemas espec cos. Veamos ahora uno de los m etodos m as usados para b usca de o ptimos en una variable.

14.2.

M etodo de la Secci on Dorada

El M etodo de la Secci on Dorada es un m etodo de b usqueda iterativo en una dimensi on (1 variable) donde se trata de ir aproximando un punto por medio de anidamiento. La estrategia de este m etodo se basa en tres puntos iniciales: dos considerados los extremos de un intervalo (x1 y x2 ) y el tercero (x3 ) entre los dos primeros de tal suerte que relaci on entre la distancia de este punto interno al extremo x2 (x2 x3 ) y la distancia entre los extremos (x2 x1 ) es siempre una constante: 51 x2 x3 = = = 0.618034 . . . x2 x1 2 Note que el punto x3 divide al segmento [x1 : x2 ] en dos partes: la parte [x1 : x3 ] es m as peque na que la parte [x3 : x2 ]: el segmento [x3 : x2 ] es el 60.80 % de [x1 : x2 ], mientras que [x1 : x3 ] tiene una longitud que es el 38.19 %. El m etodo itera generando un siguiente punto x4 en [x3 : x2 ] (la parte m as amplia) de manera que se cumple: x4 x1 = x2 x1 Note que las f ormulas convenientes para el c alculo de x3 y x4 son: x4 = (1 ) x1 + x2 . y x3 = x1 + (1 ) x2 . Y la raz on es porque en estas f ormulas no se requiere que x1 < x2 .
x4 x1 x2 x1

(1)

(2) Observemos las siguientes razones:

= =

((1 ) x1 + x2 )x1 x2 x1 x2 x1 x2 x1

x2 x3 x2 x1

= =

x2 ( x1 +(1 ) x2 ) x2 x1 x2 x1 x2 x1

x3 x1 x4 x1

= =

( x1 +(1 ) x2 )x1 (1 ) x1 + x2 x1 (1 )(x2 x1 ) (x 2 x 1 )

x2 x4 x2 x3

= =

x2 ((1 ) x1 + x2 ) x2 x1 (1 ) x2 (1 ) (x2 x1 ) (x 2 x 1 )

I1 I4 I2 I3 I5 1 x2 = =
I3 I1 I2 I1

= =

I4 I1 I5 I1

= =

I2 I4 I6 I4

= =

I5 I3 I6 I3

= 0.6180 . . . = 0.3819 . . .

I6 x1 x3 x4

Dependiendo de la funci on a maximizar, el algoritmo escoge tres puntos de los cuatro disponibles de manera que la situaci on se repite en las proporciones de los intervalos. En general, si Ii es la longitud del intervalo en la iteraci on i se cumple que: In = n 1 I1 Por tanto, conociendo el intervalo inicial (I1 ) y sabiendo a qu e precisi on se desea estimar el punto (In ), es f acil estimar el total de iteraciones requeridas para que este m etodo se aproxime al valor requerido: n=1+ ln(In ) ln(I1 ) ln( )

14.3.

Ubicaci on del Intervalo

El m etodo de la secci on dorada requiere de la ubicaci on de los tres primeros puntos x1 , x2 y x3 como se describen anteriormente. Cuando el m etodo se aplica a la determinaci on de un m aximo de una funci on f (x), los puntos deben satisfacer: f (x1 ) < f (x3 ) y f (x3 ) f (x2 ). Es decir, la funci on sube y cae. Al procedimiento para encontrar tales puntos recibe el nombre de Ubicaci on del Intervalo de Trabajo (Bracketing). La estrategia inicia a partir de un punto x1 y teniendo un incremento de x inicial s. Se genera un siguiente punto x3 = x1 + s. Si f (x1 ) f (x3 ) habr a que buscar hacia atr as cambiando intercambiando los puntos y el signo del incremento. Si f (x1 ) < f (x3 ), el incremento se agranda en la proporci on por medio de la f ormula s = s/ . Un siguiente punto se genera hacia adelante x2 = x3 + s. Si f (x3 ) f (x2 ) los tres puntos buscados est an determinados. Si f (x3 ) < f (x2 ), entonces el procedimiento se repite tomando x1 = x3 y x2 = x3 . Observe que el intervalo de bracketing va creciendo en la proporci on 1/ . La siguiente gura ilustra c omo se va agrandando el intervalo en el caso de bracketing. Crecimiento del intervalo de Bracketing
f (x 3 ) f (x 2 )

f (x 1 ) < f (x 3 )

f (x1 )

f (x3 )
1 )s (1 +

f (x 2 )

s x1 x3

s x2

14.4.

Algoritmo Basado en la Secci on Dorada

Veamos ahora el algoritmo de b usqueda de el m aximo de una funci on en una dimensi on basado en la raz on dorada. [1.] Inicie con un punto x1 y un incremento s; tome f1 f (x1 ). [2.] Tome x3 x1 + s y f3 f (x3 ). [3.] Si (f1 > f3 ), intercambie (x1 , f1 ) y (x3 , f3 ) y tome s s. [4.] Tome s s/ , x2 x3 + s, y f2 f (x2 ). [5.] Si (f3 > f2 ), vaya a [7.] [6.] Tome (x1 , f1 ) (x3 , f3 ) y (x3 , f3 ) (x2 , f2 ) y vaya a [4.] [7.] Tome x4 (1 ) x1 + x2 y f4 f (x4 ). [8.] Si (f3 f4 ), tome (x2 , f2 ) (x1 , f1 ) y (x1 , f1 ) (x4 , f4 ); vaya a [10.] [9.] Tome (x1 , f1 ) (x3 , f3 ) y (x3 , f3 ) (x4 , f4 ); [10.] SiCriterio de paro = OK, termine; caso contrario vaya a [7.]

La siguiente gura aclara la elecci on del nuevo intervalo de anidamiento del o ptimo. En ella los puntos en rojo representan los nuevos punto del intervalo donde se reiniciar a el ciclo. Note que se preservan las relaciones en los nuevos intervalos. Casos en la comparaci on de f4 vs f3

I1 I4 I2 I5 I3 I4 I2

I1 I5 I3

x1

x3 x4 x1 x3

x2 x2

x1 x2

x3 x4 x3 x1

x2

14.5.

Ejemplos

1. Aplique el algoritmo anterior para encontrar el m aximo de la funci on f (x ) = x2 1 partiendo de x1 = 1 y con un primer intervalo de s = 0.5. 2. Encuentre el punto optimo (m aximo) por el m etodo de Mayor Ascenso combinado con el m etodo de la secci on dorada a las funciones: f (x, y, z ) = 3 x2 2 x y 6 x 3 y 2 2 y z 2 4

Partiendo de P (2, 2, 1) y tomando s = 1 en cada aplicaci on de la secci on dorada.

14.6.

Tarea

1. Use el m etodo de la secci on dorada para determinar con una tolerancia de 0.05 la soluci on o ptima de : Max x2 + 2 x Sujeto a 3 x 5 2. Use el m etodo de la secci on dorada para determinar con una tolerancia de 0.05 la soluci on o ptima de : Max x ex Sujeto a 1 x 3 3. Encuentre el punto m aximo por el m etodo de Mayor Ascenso combinado con el m etodo de la secci on dorada a las funciones: a ) f (x, y ) = (x 3)2 (y 1)2 partiendo de P (2, 2) y tomando s = 1 en cada aplicaci on de la secci on dorada. b ) f (x, y ) = 3 x2 2 x y 6 x 3 y 2 2 y 3 partiendo de P (2, 2) y tomando s = 1 en cada aplicaci on de la secci on dorada.