Академический Документы
Профессиональный Документы
Культура Документы
o =
|
Tcnicas para a Operao de SEE 20
20 EEL6000 Mtodos Numricos de Otimizao
Backtracking Line Search
Escolha o > 0, , c
1
e (0,1). Inicializeo = o
Repita at Verificar f(x
k
+ op
k
) s f(x
k
) + c
1
oVf
k
T
p
k
o = o
End (Repita)
o
k
= o
o = 1 para Newton e Quase-Newton (diferentes valores para Gradiente
e Gradiente Conjugado)
Na prtica pode variar em cada iterao interpolao (adiante)
Deve-se garantir que e[
low
,
high
], tal que 0 <
low
<
high
< 1
Algoritmo garante que o algum valor fixado inicialmente ou
pequeno (mas no muito) o suficiente para atender a condio de
decrscimo suficiente
Adequado para Newton. Menos apropriado para Quase-Newton e
Gradiente
Tcnicas para a Operao de SEE 21
21 EEL6000 Mtodos Numricos de Otimizao
Interpolao...(1)
Baseada em valores conhecidos da funo e de
suas derivadas
Pode ser visto com um aprimoramento do algoritmo de
backtracking
Objetivo
Descobrir o que satisfaz as condies de decrscimo suficiente,
sem ser muito pequeno
Procedimento que fornece valores decrescentes de o, de modo
que no seja muito menor que seu predecessor
Condio de decrscimo suficiente
|(o
k
) |(0) + c
1
o
k
|'(0)
eficiente pois calcula Vf(x) o mnimo possvel
Tcnicas para a Operao de SEE 22
22 EEL6000 Mtodos Numricos de Otimizao
Dado o
0
, se|(o
0
) |(0) + c
1
o
0
|'(0), pare. Caso
contrrio, em [0,o
0
] contm um passo aceitvel
Com |(0), |'(0) e |(o
0
) realiza-se a seguinte interpolao
quadrtica
2
0 0
2
0
( ) (0) '(0)
( ) '(0) (0)
q
| |
| o | o |
| o = o + | o+ |
|
o
\ .
| |
2
0
1
0 0
'(0)
2 ( ) (0) '(0)
| o
o =
| o | | o
cujo mnimo dado por
Se a condio |(o
1
) s |(0) + c
1
o
1
|'(0) atendida, ento
a busca terminada. Caso contrrio, constri-se uma
funo cbica com base em |(0), |'(0), |(o
0
) e |(o
1
)
Interpolao...(2)
Tcnicas para a Operao de SEE 23
23 EEL6000 Mtodos Numricos de Otimizao
Funo cbica
Interpolao...(3)
3 2
0 0 ( ) '( ) ( )
c
a b | o = o + o + o| + |
2 2
1 1
0 1
2 2 3 3
0 0 0 1 1 0 0 1
( ) (0) '(0)
1
( ) (0) '(0) ( )
a
b
| o | | o (
o o ( (
=
(
( (
| o | | o o o o o o o
onde
Diferenciando |
c
(o) encontra-se o mnimo o
2
e [0,o
1
]
2
2
3 '(0)
3
b b a
a
+ |
o =
Se necessrio, deve-se fazer uma nova interpolao
cbica com |(0), |'(0) e os dois mais recentes valores
de | at satisfazer o decrscimo suficiente
Se qualquer o
i
muito prximo ou muito menor que
o
i-1
, ento faz-se o
i
=o
i
/2 (Safeguard)
Tcnicas para a Operao de SEE 24
24 EEL6000 Mtodos Numricos de Otimizao
Algoritmo de Wolfe
Escolha o
1
> 0 eo
max
. Faa o
0
= 0 e i = 1
Repita (i s 10)
Avalie |(o
i
)
Se |(o
i
) > |(0) + c
1
o
i
|'(0) ou [|(o
i
) > |(o
i-1
) e i >1]
ZOOM(o
i-1
, o
i
) o
*
e PARE
Avalie |'(o
i
)
Se||'(o
i
)| s c
2
|'(0)
Faao
i
= o
*
e PARE
Se|'(o
i
) > 0
ZOOM(o
i
, o
i-1
) o
*
e PARE
Escolhao
i+1
e (o
i
, o
max
) e faai=i+1
End (Repita)
Tcnicas para a Operao de SEE 25
25 EEL6000 Mtodos Numricos de Otimizao
ZOOM(o
lo
, o
hi
)
a. O intervalo (o
lo
, o
hi
) c o que atende as condies de Wolfe
b. o
lo
d o menor da funo objetivo at a presente iterao e atende decrscimo
suficiente
c. o
hi
escolhido de modo que |'(o
lo
)(o
hi
o
lo
) < 0
Repita ( j s 10 )
Interpole(Quadrtica ou Cbica) para descobrir
um valor candidatoo
j
e (o
lo
, o
hi
)
Avalie|(o
j
)
Se [|(o
j
) > |(0) + c
1
o
j
|'(0)] ou[|(o
j
) > |(o
1o
)]
Faa o
hi
= o
j
Seno
Avalie|'(o
j
)
Se ||'(o
j
)| s c
2
|'(0)
Faa o
*
= o
j
e PARE
Se |'(o
j
)(o
hi
o
lo
) > 0
Faa o
hi
= o
lo
o
lo
= o
j
End (Repita)
Tcnicas para a Operao de SEE 26
26 EEL6000 Mtodos Numricos de Otimizao
Exemplo Numrico Ilustrativo
= + - + + -
2 2 2 2
1 2 1 2
( 11) ( 7) f x x x x
Tcnicas para a Operao de SEE 27
27 EEL6000 Mtodos Numricos de Otimizao
Exemplo Numrico Ilustrativo
[ ]
T
0
5 0 x =-
0
304
( )
98
f x
-
=
0
0
0
0
( )
( )
0,9958
0,0917
f x
p
f x
p
=-
=
-
p
0
Tcnicas para a Operao de SEE 28
28 EEL6000 Mtodos Numricos de Otimizao
( ) =f(x
0
+ p
0
)
|(o)
l(o) = 340 0,0305o
o
|(0) =340
|'(0)= 305,29
o aceitvel
Tcnicas para a Operao de SEE 29
29 EEL6000 Mtodos Numricos de Otimizao
Exemplo II
[ ]
T
1
2,5 1,5 x =
1
37
( )
20
f x
-
=
-
1
1
1
1
( )
( )
0,8797
0,4755
f x
p
f x
p
=-
=
p
0
p
1
Tcnicas para a Operao de SEE 30
30 EEL6000 Mtodos Numricos de Otimizao
( ) =f(x
1
+ p
1
)
|(o)
l(o) = 15,625 0,0042o
o
|(0) =15,625
|'(0)= 42,060
o aceitvel
Tcnicas para a Operao de SEE 31
31 EEL6000 Mtodos Numricos de Otimizao
Interpolao Quadrtica (0,10)
Casox
0
|(o)
|(0)=340 |'(0)= 305,29 |'(10)=161,797
o
o
1 o
*
= 5,31
2
1 1
2
1
( ) (0) '(0)
( ) '(0) (0)
q
| |
| o | o|
| o = o +| o+|
|
o
\ .
| |
2
*
1
1 1
'(0)
2 ( ) (0) '(0)
| o
o =
| o | | o
Tcnicas para a Operao de SEE 32
32 EEL6000 Mtodos Numricos de Otimizao
Notas & Referncias
Algoritmos que usam apenas valores de f
k
podem
ser ineficientes pois o mnimo precisa ser refinado
a um intervalo preciso
Principais classes so dadas pelas mtodos da Seo urea e
de Fibonnaci
Tipicamente armazenam trs pontos que determinam um
intervalo que contm um minimizador unidimensional
T. H. Cormen, C. E. Leisserson, and R. L. Rivest, Introduction to Algorithms,
MIT Press, 1990.
R. P. Brent, Algorithms for minimization without derivatives, Prentice Hall,
Englewood Cliffs, N.J., 1973
M. Bazaraa, H. Sherali, and C. Shetty, Nonlinear Programming, Theory and
Applications.,JohnWiley & Sons, New York, second ed., 1993.
Referncias
OBRIGADO!
Prof. Erlon Cristian Finardi
erlon.finardi@ufsc.br