Método de la Sección Dorada

Anuncio
Optimización
Búsqueda en una Dimensión
Dr. E Uresti
ITESM
Búsqueda en una Dimensión
Profr. E. Uresti - p. 1/19
Introducción
Algunos de los métodos numéricos de búsqueda de óptimos de una
función en varias variables se basan en métodos de búsqueda de
óptimos en una variable. Por ejemplo, el método de ascenso más
rápido elige un punto dado y determina la dirección de máximo
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
crecimiento en tal punto. Esta dirección es la del gradiente de la
función en dicho punto. Así, y partiendo del punto y siguiendo esta
dirección, avanza para localizar el óptimo en dicha dirección.
Imaginese avanzando en línea recta y tomando en cuenta sólo la
evaluación de la función para determinar el punto en la línea con la
mayor evaluación. Una vez alcanzado este punto, se determina la
dirección de máximo crecimiento en tal punto y se repite el proceso
de búsqueda. Por su valor práctico, los métodos de búsqueda en
una dimensión son dignos de revisar.
Búsqueda en una Dimensión
Profr. E. Uresti - p. 2/19
Previo a revisar los métodos, es importante saber
si el óptimo que buscamos existe y que no habrá
más de uno. Una función que efectivamente tiene
un sólo óptimo recibe un nombre especial:
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Definición
Una función es unimodal si sólo tiene un
óptimo (relativo o absoluto). En caso que
tenga varios óptimos se dice multimodal.
Búsqueda en una Dimensión
Profr. E. Uresti - p. 3/19
Unimodal
Búsqueda en una Dimensión
Multimodal
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Profr. E. Uresti - p. 4/19
Método de la Sección Dorada
La estrategia de este método 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ón entre la distancia
de este punto interno al extremo x2 (x2 − x3 ) y la distancia entre los
extremos (x2 − x1 ) es siempre una constante:
√
x2 − x3
5−1
=
= τ = 0.618034 . . .
x2 − x1
2
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Note que el punto x3 divide al segmento [x1 : x2 ] en dos partes: la
parte [x1 : x3 ] es más pequeña que la parte [x3 : x2 ]: el segmento
[x3 : x2 ] es el 61.80 % de [x1 : x2 ], mientras que [x1 : x3 ] tiene una
longitud que es el 38.19 %.
x1
Búsqueda en una Dimensión
x3
x2
Profr. E. Uresti - p. 5/19
El método itera generando un siguiente punto x4 en [x3 : x2 ] (la
parte más amplia) de manera que se cumple:
x4 − x1
=τ
x2 − x1
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Note que las fórmulas convenientes para el cálculo de x3 y x4 son:
x4 = (1 − τ ) x1 + τ x2 .
y
x3 = τ x1 + (1 − τ ) x2 .
Y la razón es porque en estas fórmulas no se requiere que x1 < x2 .
x1
Búsqueda en una Dimensión
x3
x4
x2
Profr. E. Uresti - p. 6/19
Observemos las siguientes razones:
x4 −x1
x2 −x1
x2 −x3
x2 −x1
x3 −x1
x4 −x1
x2 −x4
x2 −x3
=
((1−τ ) x1 +τ x2 )−x1
x2 −x1
=
τ x2 −τ x1
x2 −x1
=
x2 −(τ x1 +(1−τ ) x2 )
x2 −x1
=
τ x2 −τ x1
x2 −x1
=τ
=τ
=
(τ x1 +(1−τ ) x2 )−x1
(1−τ ) x1 +τ x2 −x1
=
(1−τ )(x2 −x1 )
τ (x2 −x1 )
=
x2 −((1−τ ) x1 +τ x2 )
x2 −τ x1 −(1−τ ) x2
=
(1−τ ) (x2 −x1 )
τ (x2 −x1 )
Búsqueda en una Dimensión
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
=
=
1−τ
τ
1−τ
τ
=τ
=τ
Profr. E. Uresti - p. 7/19
I1
I4
I5
I2
τ =
I3
I1
=
I4
I1
=
I2
I4
=
I5
I3
= 0.6180 . . .
1−τ =
I2
I1
=
I5
I1
=
I6
I4
=
I6
I3
= 0.3819 . . .
I3
I6
x1
x3 x4
Búsqueda en una Dimensión
x2
Profr. E. Uresti - p. 8/19
Dependiendo de la función a maximizar, el algoritmo escoge tres
puntos de los cuatro disponibles de manera que la situación se
repite en las proporciones de los intervalos. En general, si Ii es la
longitud del intervalo en la iteración i se cumple que:
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
In = τ n−1 I1
Por tanto, conociendo el intervalo inicial (I1 ) y sabiendo a qué
precisión se desea estimar el punto (In ), es fácil estimar el total de
iteraciones requeridas para que este método se aproxime al valor
requerido:
ln(In ) − ln(I1 )
n=1+
ln(τ )
Búsqueda en una Dimensión
Profr. E. Uresti - p. 9/19
Ubicación del Intervalo
El método de la sección dorada requiere de la ubicación de los tres
primeros puntos x1 , x2 y x3 como se describen anteriormente.
Cuando el método se aplica a la determinación de un máximo de
una función f (x), los puntos deben satisfacer:
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
f (x1 ) < f (x3 ) y f (x3 ) ≥ f (x2 ).
Es decir, la función sube y cae. Al procedimiento para encontrar
tales puntos recibe el nombre de Ubicación del Intervalo de Trabajo
(Bracketing).
x1
Búsqueda en una Dimensión
x3
x2
Profr. E. Uresti - p. 10/19
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.
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Si f (x1 ) ≥ f (x3 ) habrá que buscar hacia atrás cambiando
intercambiando los puntos y el signo del incremento. Si
f (x1 ) < f (x3 ), el incremento se agranda en la proporción τ por
medio de la fórmula s = s/τ .
f (x1 ) < f (x3 )
x1
x3
Búsqueda en una Dimensión
f (x1 ) ≥ f (x3 )
x3 = x1
x1 = x3
s = −s
Profr. E. Uresti - p. 11/19
Un siguiente punto se genera hacia adelante
x2 = x3 + s.
Si f (x3 ) ≥ f (x2 ) los tres puntos buscados están determinados. Si
f (x3 ) < f (x2 ), entonces el procedimiento se repite tomando
x1 = x3 , x2 = x3 y s = s/τ . Observe que el intervalo de bracketing
va creciendo en la proporción 1/τ (≈ 1.618).
f (x3 ) ≥ f (x2 )
τs
x1
f (x3 ) < f (x2 )
s
x3
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
τs
x2
Búsqueda en una Dimensión
x1
s
x3
x1
s/τ
x2
x3
x2
Profr. E. Uresti - p. 12/19
Crecimiento del intervalo de Bracketing
f (x1 ) < f (x3 )
f (x1 )
f (x3 ) ≥ f (x2 )
f (x3 )
f (x2 )
(1 + τ1 ) s
1
τ
s
x1
Búsqueda en una Dimensión
x3
s
x2
Profr. E. Uresti - p. 13/19
Algoritmo Basado en la Sección 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.]
Búsqueda en una Dimensión
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Profr. E. Uresti - p. 14/19
Casos en la comparación de f4 vs f3
I1
I1
I4
I2
x1
I5
I4
I3
I2
I5
I3
x3 x4
x2
x1
x3 x4
x1 x3
x2
x2
x3 x1
Búsqueda en una Dimensión
x2
Profr. E. Uresti - p. 15/19
Ejemplos
Aplique el algoritmo anterior para encontrar el máximo de la función
f (x) = −x2 − 1
partiendo de x1 = −1 y con un primer intervalo de s = 0.5.
Búsqueda en una Dimensión
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Profr. E. Uresti - p. 16/19
Ejemplos
Aplique el algoritmo anterior para encontrar el máximo de la función
f (x) = −x2 − 1
partiendo de x1 = −1 y con un primer intervalo de s = 0.5.
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Determinación de la dirección de avance
x1
f (x1 )
s
x3 = x1 + s
f (x3 )
¿f (x1 ) < f (x3 )?
-1.0
-2.0
0.5
-0.5
-1.25
sí
Búsqueda en una Dimensión
Profr. E. Uresti - p. 16/19
Ejemplos
Aplique el algoritmo anterior para encontrar el máximo de la función
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
f (x) = −x2 − 1
partiendo de x1 = −1 y con un primer intervalo de s = 0.5.
Determinación de la dirección de avance
x1
f (x1 )
s
x3 = x1 + s
f (x3 )
¿f (x1 ) < f (x3 )?
-1.0
-2.0
0.5
-0.5
-1.25
sí
Ubicación
x1
f (x1 )
s
x3
f (x3 )
s = s/τ
x2 = x3 + s
f (x2 )
f2 ≤ f3
-1.0
-2.0
0.5
-0.5
-1.25
0.80906
0.30906
-1.09552
no
-0.5
-1.25
0.80906
0.30906
-1.09552
1.30916
1.61822
-3.61864
sí
Búsqueda en una Dimensión
Profr. E. Uresti - p. 16/19
Ejemplos
Aplique el algoritmo anterior para encontrar el máximo de la función
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
f (x) = −x2 − 1
partiendo de x1 = −1 y con un primer intervalo de s = 0.5.
Determinación de la dirección de avance
x1
f (x1 )
s
x3 = x1 + s
f (x3 )
¿f (x1 ) < f (x3 )?
-1.0
-2.0
0.5
-0.5
-1.25
sí
Ubicación
x1
f (x1 )
s
x3
f (x3 )
s = s/τ
x2 = x3 + s
f (x2 )
f2 ≤ f3
-1.0
-2.0
0.5
-0.5
-1.25
0.80906
0.30906
-1.09552
no
-0.5
-1.25
0.80906
0.30906
-1.09552
1.30916
1.61822
-3.61864
sí
Refinamiento
s
x1
f (x1 )
x3
f (x3 )
x2
f (x2 )
x4 = (1 − τ ) x1 + τ x2
f (x4 )
2.1182
-.5
-1.25
.30915
-1.0956
1.61822
-3.6186
.80900
-1.6545
1.3090
.80900
-1.6545
.30915
-1.0956
-.5
-1.25
.00004
-1.
.80896
.30915
-1.0956
.00004
-1.
-.5
-1.25
-.19090
-1.0364
.49994
-.19090
-1.0364
.00004
-1.
.30915
-1.0956
.11813
-1.0140
.30896
.11813
-1.0140
.00004
-1.
-.19090
-1.0364
-.072854
-1.0053
.19094
-.072854
-1.0053
.00004
-1.
.11813
-1.0140
.045174
-1.0020
.11800
.045174
-1.0020
.00004
-1.
-.072854
-1.0053
-.027768
-1.0008
.072924
-.027768
-1.0008
.00004
-1.
.045174
-1.0020
.017311
-1.0003
Búsqueda en una Dimensión
Profr. E. Uresti - p. 16/19
Encuentre el punto óptimo (máximo) por el método de Mayor
Ascenso combinado con el método de la sección dorada a las
funciones:
f (x, y, z) = −3 x2 − 2 x y − 6 x − 3 y 2 − 2 y − z 2
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Partiendo de P (2, 2, 1) y tomando s = 1 en cada aplicación de la
sección dorada.
Búsqueda en una Dimensión
Profr. E. Uresti - p. 17/19
Encuentre el punto óptimo (máximo) por el método de Mayor
Ascenso combinado con el método de la sección dorada a las
funciones:
f (x, y, z) = −3 x2 − 2 x y − 6 x − 3 y 2 − 2 y − z 2
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Partiendo de P (2, 2, 1) y tomando s = 1 en cada aplicación de la
sección dorada.
Solución
La dirección de máximo crecimiento es la del gradiente:
∇ f =< −6 x − 2 y − 6, −2 x − 6 y − 2, −2 z >
Así ∇ f (P ) =< −22, −18, −2 >; por tanto, la dirección unitaria de
máximo crecimiento es: v =< −0.77208, −0.63169, −0.070188 >.
De donde, la función f (x, y, z) restringida a P + t · v queda:
g(t) = f (x = P1 +t v1 , y = P2 +t v2 , z = P3 +t v3 ) = −49.0+28.497 t−3.9657 t2
Búsqueda en una Dimensión
Profr. E. Uresti - p. 17/19
Apliquemos ahora el método de la sección dorada a
g(t) = −49.0 + 28.497 t − 3.9657 t2
partiendo de t = 0 y con s = 1.
Búsqueda en una Dimensión
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
Profr. E. Uresti - p. 18/19
Tarea
1. Use el método de la sección dorada para determinar con una
tolerancia de 0.05 la solución óptima de :
Max
x2 + 2 x
Sujeto a
−3 ≤ x ≤ 5
Introducción
GS
Bracketing
B y GS
Ejemplos
Tarea
2. Use el método de la sección dorada para determinar con una
tolerancia de 0.05 la solución óptima de :
Max
x − ex
Sujeto a
−1 ≤ x ≤ 3
3. Encuentre el punto máximo por el método de Mayor Ascenso
combinado con el método de la sección 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ón de la sección 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ón de la sección
dorada.
Búsqueda en una Dimensión
Profr. E. Uresti - p. 19/19
Descargar