Escolar Documentos
Profissional Documentos
Cultura Documentos
= 1 105
-
Soluo Inicial para mtodo do gradiente, cuja norma euclidiana seja maior que
trs:
(!) = (3, 4)!
(!)
3! + 4! = 5 > 3
1
Aps todas as caractersticas do problema definidas, o algoritmo est encapsulado
em um loop que verifica se (!) ! menor que . O loop tambm verifica se a
quantidade de iteraes para o mtodo do gradiente no foi excedido, para isto, iremos
definir o inicio com k = 0.
Com as informaes acima apresentadas, o algoritmo inicia chamando a funo
fun.m, responsvel por calcular (!) . A funo fun.m tem como entrada o valor do
vetor soluo (!) (nesta primeira iterao (!) ) e retorna ao topo.m o valor de (!) e
(!) . Vejamos a seguir os passos dados:
(!)
(!)
A funo x! , !
(!)
x ! , !
f x (!)
f 3,4 =
f 1 , 2
x!
=
f 1 , 2
x!
Aps calculados, estes dados retornam para o topo.m onde sero utilizados na
prxima funo a ser chamada metodoGradiente.m, esta ser responsvel por calcular a
norma do gradiente a fim de garantir que o processo esteja convergindo a soluo que
minimiza a funo dada. A funo metodoGradiente.m nesta iterao tem como entrada
o vetor 3,4 = (268, 524)! e , como sada, a norma euclidiana deste vetor.
(!)
3,4
+ !
!
= 588.55756000 >
A norma euclidiana do gradiente aplicado ao valor inicial (!) maior que , ou
seja, devemos continuar o processo iterativo. O valor da norma retornado ao topo.m
para fazer o teste da convergncia antes do incio da prxima iterao. O prximo passo
gerar ! e ! () para formar a funo = ! , ! , onde valor de ser
descoberto atravs do mtodo de Newton. Atravs do topo.m, a funo funAlpha.m ser
chamada, as entradas para esta iterao so (!) = (!) = (3,4)! e tambm (!) =
3,4 = (268, 524)! , a sada ser a funo , vejamos:
! = !
f !
! = 3 268
!
! = ! f !
! = 4 524
Atravs do mtodo de Newton iremos descobrir o valor de que minimiza a
funo (), ou seja, este tambm um problema de otimizao de funes, para isto,
utilizaremos mais uma funo chamada metodoNewton, cuja entradas so (), itmax e
. Para a primeira iterao no mtodo do gradiente, temos 22 iteraes no mtodo de
Newton, visto que o processo repetitivo, iremos mostrar as duas primeiras (n = 0 e n = 1)
e as duas ltimas (n = 21 e n = 22) iteraes , o valor inicial para 5. A frmula abaixo
seria utilizada na obteno da raiz de utilizando mtodo de Newton.
!!! = !
(! )
(! )
No entanto, estamos interessados no min ! , ! temos que trabalhar sobre a
derivada de ! , ! como a funo principal no mtodo de Newton, conforme a frmula
que iremos mostrar a seguir, tambm iremos precisar da segunda derivada de ! , ! .
Ento a frmula utilizada foi a seguinte:
!!! = !
(! )
(! )
Logo aps, calcula-se !!! e calcula-se o erro que dado por ! !!! que
far com que o mtodo de Newton se repita at que o erro seja menor que . Ao fim de
cada iterao ! recebe o valor de !!! , o contador de iteraes n incrementado para
tambm servir como critrio de parada caso seja necessrio. Vejamos:
n = 0:
! = 5
! = !
! !
1072 4 268! ! 1584 6 792! ! 4192(4 524! )!
=
!! !
861888 4 268! ! + 1254528 + 6589824(4 524! )!
= 3.33595800
= 2.29936370 1013
continuar
n = 1:
! !
1072 4 268! ! 1584 6 792! ! 4192(4 524! )!
! = ! !!
=
!
861888 4 268! ! + 1254528 + 6589824(4 524! )!
= 2.22659640
! (+1 ) = 1072 4 268+1 3 1584 6 792+1 1 4192(4 524+1 )3
= 6.81293060 1012
continuar
O processo continua ao longo de n = 2 at n = 20 nas quais sero omitidas.
Teremos as seguintes finalizaes para o processo iterativo do mtodo de Newton:
n = 21:
!!
! !"
1072 4 268!" ! 1584 6 792!" ! 4192(4 524!" )!
= !" !!
=
!"
861888 4 268!" ! + 1254528 + 6589824(4 524!" )!
= 0.00914097
! (+1 ) = 1072 4 268+1 3 1584 6 792+1 1 4192(4 524+1 )3
= 35.708025
continuar
n = 22:
!" = !!
! !!
1072 4 268!! ! 1584 6 792!! ! 4192(4 524!! )!
=
!! !!
861888 4 268!! ! + 1254528 + 6589824(4 524!! )!
= 0.00913617
= 0.054551486
parar
Realizado o processo iterativo do mtodo de Newton, o ltimo valor calculado para
, neste caso, !" = 0.00913617 que equivale ao proposto no problema, este
(!) (!)
retornado ao topo.m onde ser calculado os novos valores para (!) = (!) = (! , ! )!
que sero dados por:
!
!
!
= 3 0.00913617 268 !
!
= ! f !
= 0.55150629
!
= ! f !
!
= 4 0.00913617 524 !
= 0.78735336
Achado os novos valores para (!) , incrementamos o contador de iteraes k do
mtodo do gradiente, e portanto, podemos repetir todo o processo acima apresentado
para a segunda iterao do mtodo de gradiente. Apenas para resumir os resultados
obtidos, acompanhe na tabela abaixo os resultados para as demais iteraes:
k
0
1
2
3
4
5
6
7
8
9
()
804.00000000
8.09040869
2.99905231
1.61992167
1.09474203
0.98610815
0.98354632
0.98352982
0.98352976
0.98352976
()
268.00000000
12.46727442
-1.87045490
2.68934491
-0.63403233
0.16802468
-0.00864965
0.00082913
-0.00003305
0.00000307
()
524.00000000
-6.37649637
-3.65709838
-1.37548895
-1.23965490
-0.08593769
-0.01691175
-0.00042410
-0.00006462
-0.00000165
()
588.55756000
14.00330800
4.10767210
3.02068630
1.39238690
0.18872620
0.01899536
0.00093130
0.00007258
0.00000348
()
0.00913617
0.06759077
0.16345506
0.12884831
0.10695132
0.14478087
0.09137859
0.14719282
0.09122017
0.14761085
n
22
18
12
11
9
5
4
3
3
3
()
0.55150629
-0.29116637
0.01456894
-0.33194861
-0.26413801
-0.28846477
-0.28767438
-0.28779642
-0.28779341
-0.28779386
()
-0.78735336
-0.35636107
0.24141015
0.41863958
0.55122231
0.56366444
0.56520981
0.56527224
0.56527813
0.56527837
(!)
O mesmo cdigo converge para o mesmo valor x! e x! para diferentes (!) ,
mudando o nmero iteraes no mtodo do gradiente e de Newton.
()
()
, () , () ao longo
das iteraes:
-
(!)
(!)
Grfico de (!) = ! , !
(!)
(!)
assume um
nmero muito alto se comparado aos demais resultados de outras iteraes, portanto a
visualizao fica prejudicada, deste modo, podemos ver as demais iteraes
desconsiderando a primeira para uma melhor visualizao:
Grfico de (!)
O problema encontrado que na primeira iterao, (!) assume um nmero
muito alto se comparado as demais resultados de outras iteraes, portanto a visualizao
fica prejudicada, deste modo, podemos ver as demais iteraes desconsiderando a
primeira para uma melhor visualizao, vale tambm ressaltar que alguns pontos se
sobrepe um ao outro.
Para a anlise de convergncia, analisar (!) ! mais til, podemos ver que
os valores tendem a zero, o que esperado visto que uma das condies que a norma
seja menor que a tolerncia = 1 105 .
Grfico de (!) :
3. Nmero de iteraes do mtodo de Newton em cada iterao do mtodo do
gradiente:
Iterao k
Mtodo do Gradiente
0
1
2
3
4
5
6
7
8
9
Nmero de Iteraes n
do Mtodo de Newton
22
18
12
11
9
5
4
3
3
3
()
() = () = ( , ) = (. , . )
De modo a ter uma comparao, atravs da funo fminsearch do prprio Matlab
foi encontrado:
(!) = (0.28777203, 0.56524650)!
Como podemos ver, o valor encontrado pelo algoritmo desenvolvido no Matlab, se
aproxima bem com o valor de duas outras fontes, os valores comeam a diferir a partir do
quinto algarismo significativo pela funo fminsearch, e diferindo no oitavo algarismo
significativo pelo WolframAlpha.
Nmero de Iteraes n
do Mtodo de Newton
22
5
4
4
3
3
3
2
2
2
10
(!)
x ! , !
Considerando o valor encontrado na ultima iterao como o ponto a ser analisado:
(!) (!)
(! , ! ) = (0.28779386, 0.56527837)
!
!
= 12(1 + 1)! + 2
!
!
= 242 ! + 2
!
=0
! !
!
!
(!)
(!)
x ! , !
(!)
(!)
x ! , !
= 8.0869
= 9.6690
!
(!) (!)
x! , ! = 0
! !
(!)
(!)
x ! , !
! !
!
(!) (!)
x , !
! ! !
!
(!) (!)
x , !
! ! !
!
! !
(!)
(!)
x ! , !
(!)
(!)
(!)
= (1 + 1)! +
(1 + 2 1)! + 2(2 )! .
11