UNIVERSIDADE DE SO PAULO
FACULDADE DE FILOSOFIA, CINCIAS E LETRAS DE RIBEIRO PRETO
MATEMTICA APLICADA A NEGCIOS
Mtodos Hbridos para Resoluo de Problemas de
Programao No-Linear
RIBEIRO PRETO, NOVEMBRO DE 2007
ii
RAPHAEL SANTUCCI NERY
Mtodos Hbridos para Resoluo de Problemas de
Programao No-Linear
Monografia de concluso do curso de Matemtica Aplicada a Negcios da Faculdade de Filosofia, Cincias e Letras de Ribeiro Preto, com colaborao da Faculdade de Economia, Administrao e Contabilidade de Ribeiro Preto da Universidade de So Paulo.
Orientadora: Prof. Dr. Vanessa Rolnik Artioli
RIBEIRO PRETO, NOVEMBRO DE 2007
i
1 ndice
2 Resumo ................................................................................................................................ 1 3 Cronograma ......................................................................................................................... 2 4 Introduo............................................................................................................................ 3 5 Mtodos Irrestritos............................................................................................................... 8
5.1 Mtodos Unidimensionais Irrestritos............................................................................ 8 5.1.1 Mtodo de Fibonacci Fibonacci Search Method ............................................ 8 5.1.2 Mtodo da Razo urea Search By Golden Section....................................... 9 5.1.3 Busca por ajuste de curva .................................................................................... 10
Mtodo de Newton Newtons Method ............................................................... 10 Mtodo da Falsa Posio Method of False Position.......................................... 11 Ajuste Cbico Cubic Fit .................................................................................... 12 Ajuste Quadrtico Quadratic Fit ....................................................................... 12
5.2 Critrios de Parada de uma Busca Unidimensional.................................................... 13 5.2.1 Teste da Porcentagem.......................................................................................... 14 5.2.2 Critrio de Armijo ............................................................................................... 14 5.2.3 Teste de Goldstein ............................................................................................... 15 5.2.4 Teste de Wolfe..................................................................................................... 15
5.3 Mtodos n-dimensionais Irrestritos ............................................................................ 15 5.3.1 Mtodo da Inclinao Mxima The Steepest Descent Method ..................... 16 5.3.2 Mtodo de Newton n-dimensional Newtons Method................................... 20 5.3.3 Mtodos de Direes Conjugadas ....................................................................... 22
Mtodo dos Gradientes Conjugados Conjugate Gradient Method.................... 24 Mtodo Geral dos Gradientes Conjugados............................................................... 25 Mtodo Fletcher-Reeves........................................................................................... 26 Mtodo Polak-Ribiere .............................................................................................. 27
5.3.4 Mtodos Quasi-Newton....................................................................................... 28 Mtodo de Newton Modificado................................................................................ 28 Mtodo Clssico de Newton Modificado ................................................................. 29 Mtodo Davidon-Fletcher-Powell ............................................................................ 30
6 Mtodos Restritos .............................................................................................................. 31 6.1 Restries de Igualdade .............................................................................................. 31 6.1.1 Condies de 1 ordem ........................................................................................ 31 6.1.2 Condies de 2 ordem ........................................................................................ 32
6.2 Restries de Desigualdade ........................................................................................ 33 6.2.1 Condies de 1 ordem ........................................................................................ 33 6.2.2 Condies de 2 ordem ........................................................................................ 34
7 Implementaes ................................................................................................................. 36 7.1 Busca Unidimensional................................................................................................ 37 7.2 Busca n-dimensional .................................................................................................. 38 7.2.1 Caso Quadrtico .................................................................................................. 38 7.2.2 Caso no-Quadrtico ........................................................................................... 39
8 Simulated Annealing.......................................................................................................... 41 8.1 O mtodo computacional Simulated Annealing......................................................... 42
ii
8.2 Implementao do Simulated Annealing.................................................................... 44 8.2.1 Exemplo unidimensional ..................................................................................... 45 8.2.2 Exemplo bidimensional ....................................................................................... 48
9 Mtodos Hbridos .............................................................................................................. 51 9.1 Simulated Annealing com Inclinao Mxima .......................................................... 54 9.2 Simulated Annealing com Gradientes Conjugados .................................................... 54 9.3 Comparaes e resultados .......................................................................................... 55
10 Aplicao: problema de tomografia por impedncia eltrica.......................................... 57 10.1 Resultados com o Simulated Annealing................................................................... 60 10.2 Resultados do hbrido Simulated Annealing com Gradientes Conjugados.............. 61
11 Concluso ........................................................................................................................ 62 12 Referncias Bibliogrficas............................................................................................... 63 Anexo A Mtodo de Newton Unidimensional .................................................................. 64 Anexo B Mtodo da Inclinao Mxima caso quadrtico................................................. 65 Anexo C Gradiente Conjugado caso no-quadrtico ........................................................ 68 Anexo D Fletcher-Reeves caso no-quadrtico................................................................. 72 Anexo E Mtodo Simulated Annealing unidimensional.................................................... 76 Anexo F Mtodo Simulated Annealing n dimensional...................................................... 79 Anexo G Hbrido Simulated Annealing com Inclinao Mxima Estratgia 1.............. 82 Anexo H - Hbrido Simulated Annealing com Inclinao Mxima Estratgia 2............... 89 Anexo I - Hbrido Simulated Annealing com Gradientes Conjugados Estratgia 1.......... 96 Anexo J - Hbrido Simulated Annealing com Gradientes Conjugados Estratgia 2 ....... 104
1
2 Resumo
Este trabalho um estudo dos mtodos iterativos para resoluo de problemas de
otimizao no qual a funo objetivo extremamente no linear e repleta de extremos
locais, pontos de sela, regies praticamente planas entre outras caractersticas topolgicas.
Dessa forma, para se alcanar o mnimo global deve-se utilizar uma tcnica de
otimizao apropriada, com destaques para o Simulated Annealing (SA) que possui ao
menos duas caractersticas positivas: a princpio, escapam de pontos de mnimo local e no
dependem da aproximao inicial da soluo. Apesar de ser uma tcnica robusta, o SA
requer alto tempo computacional empregado e apresenta dificuldade de realizar uma busca
refinada em regies promissoras.
Com objetivo de contornar tais obstculos, recentemente surgiram os algoritmos
hbridos que misturam um algoritmo de busca global com um de busca local, e so
algoritmos deste tipo que sero desenvolvidos neste trabalho.
Palavras-chave: Otimizao. Busca Global. Simulated Annealing. Meta-heurstica.
Mtodos Hbridos.
2
3 Cronograma
Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Descrio das etapas de estudo
Pesquisa bibliogrfica X X X X X X X X
Estudos preliminares dos aspectos
tericos de otimizao X
Estudo e implementao de mtodos
Iterativos irrestritos X X
Estudo e implementao de mtodos
Iterativos restritos X X
Estudo e implementao do Simulated
Annealing X X
Estudo e implementao dos mtodos
hbridos X X
Testes com um problema prtico e
comparao dos resultados X X
Escrita e Reviso do TCC X X
3
4 Introduo
As tcnicas de otimizao aparecem com freqncia em diversas reas. Na Economia,
por exemplo, h um objetivo claro de maximizar os lucros de uma empresa, minimizar o
custo de produzir um dado nvel de produo. Na Medicina deseja-se obter o menor erro
funcional para o problema inverso de tomografia por impedncia eltrica, dentre outros.
Os problemas reais modelados como problemas de otimizao geram funes e
restries que variam consideravelmente. Os problemas podem ser lineares ou no
lineares, irrestritos ou restritos, unidimensionais ou multidimensionais e a busca pode ser
pelo timo global ou pelo timo local. Resolver analiticamente um problema de
otimizao, muitas vezes, no uma tarefa trivial, sendo preciso recorrer s tcnicas
iterativas e computacionais. Existem diversas tcnicas iterativas de otimizao para os
mais diversos tipos de problema, porm no existe uma tcnica de propsito geral.
O objetivo deste projeto promover um estudo dos mtodos de otimizao no linear
em seu aspecto terico, prtico e comparativo. O desenvolvimento se deu nas seguintes
etapas:
Estudo das propriedades bsicas de solues e algoritmos, envolvendo os
conceitos de funes cncavas e convexas, condies de primeira e segunda
ordens, minimizao e maximizao de funes convexas, convergncia global
dos algoritmos de descida.
Estudo dos os mtodos iterativos para busca do timo local, implementao dos
mtodos mais relevantes, validao de cada um deles atravs de exemplos da
literatura e comparao do desempenho entre os mtodos implementados como
tempo computacional, eficincia e preciso do resultado.
Estudos e implementao do Simulated Annealing para obteno do timo
global
Implementao de mtodos hbridos
Testes extensivos dos mtodos implementados.
4
No segundo item, alguns dos mtodos a serem estudados para otimizao irrestrita so:
mtodo da inclinao mxima, mtodo de Newton, mtodo de Fibonacci para funes
unidimensionais, mtodo dos gradientes conjugados, mtodos Quasi-Newton, mtodo de
Powell (que usa somente valores da funo objetiva), mtodo Fletcer-Powell. Para
otimizao restrita sero estudados os mtodos dos multiplicadores de Lagrange e
condies Kuhn-Tuker.
A formulao geral para um problema de otimizao
otimizar f(x1,x2,...,xn)
s.a. gi(x1,x2,...,xn) =ai i=0,,m1
hj(x1,x2,...,xn) bj j=0,,m2
por otimizar entenda-se maximizar ou minimizar. A funo f(x1,x2,...,xn)
conhecida por funo objetivo e funo de n variveis , s.a. abreviao para sujeito
a, gi representam m1 restries de igualdade e hj, m2 restries de desigualdade. Se m1 +
m2 = 0 tem-se o caso de programao irrestrita. Os valores de x1, x2,..., xn que satisfazem
todas as m1 + m2 restries e que maximizam ou minimizam a funo f a soluo do
problema de otimizao.
A soluo procurada para o problema, ou ponto timo, classificada como global
(absoluto, relativo ao domnio todo) ou local (relativo a uma determinada regio). A figura
a seguir destaca alguns pontos importantes. O ponto P5 um mnimo global, que o ponto
em que a funo atinge seu menor valor absoluto entre todos os pontos do domnio; P4 e P6
so mnimos locais, ou seja, pontos de menor valor para a funo em uma vizinhana finita
e no nos extremos dessa vizinhana; P2 ponto de mximo e P3; de inflexo. J os pontos
P1 e P7 so chamados de pontos de borda nos quais a derivada primeira no se anula,
portanto no so pontos crticos da funo objetivo. Porm, dependendo do problema em
questo, por exemplo, nos problemas restritos, necessrio buscar o ponto timo na borda.
5
P4
P5
P6
P2
P3
P7
P1
Figura 1 - Ilustrao de pontos extremos: P1 e P7: de borda, P2: mximo local,
P3: inflexo, P4 e P6: mnimos locais e P5: mnimo global.
Por definio, uma funo dita ser convexa num espao real se, para x1, x2
pertencentes ao domnio e todo , 0 1, a desigualdade
f(x1 + (1 - )x2) f(x1) + (1 - )f(x2)
for satisfeita (LUENBERGER, 1984). Isso significa que, uma funo convexa se a regio
acima da curva convexa, ou seja, dados quaisquer dois pontos acima da curva existe um
segmento de reta que liga esses dois pontos e no corta a curva, conforme figura abaixo.
(a) (b)
Figura 2 - Exemplo de funo (a) convexa, (b) no-convexa.
Os mtodos iterativos para otimizao no-linear, em geral, partem de um ponto inicial
x0 e calcula por uma determinada regra uma seqncia { xi } que deve convergir, no
sentido de alcanar uma soluo to prxima quanto se queira e que o computador permita
da soluo tima x*. Os mtodos existentes diferem entre si pela regra com que os novos
pontos so calculados. Normalmente, o ponto xk+1 (soluo da iterao k+1) obtido
deslocando xk (soluo da iterao k) uma distncia k na direo dk, ou seja,
6
xk+1 = xk + k.dk
O novo ponto xk+1 melhor que o anterior xk se a funo objetivo f satisfizer f(xk+1) <
f(xk) para o problema de minimizao ou satisfizer f(xk+1) > f(xk) para o problema de
maximizao. As iteraes cessam quando algum critrio de parada pr-estabelecido for
satisfeito como, por exemplo, | f | < ( pequeno) (BARD, 1974).
Como exemplo, o mtodo da inclinao mxima um dos mais antigos e mais
conhecidos mtodos para minimizao de uma funo de vrias variveis. O mtodo da
inclinao mxima baseado na inclinao do gradiente e, portanto, a direo escolhida
para o clculo do novo ponto no processo iterativo :
dk = - f(xk) para maximizao
dk = f(xk) para maximizao
A escolha tima para a distncia de deslocamento do ponto, k, aquela que minimiza
a funo objetivo ao longo da direo dk. A escolha do k timo justifica o estudo dos
mtodos de busca em linha como Fibonacci e Golden Search.
Na prtica, mtodos baseados na inclinao do gradiente e com critrios de parada do
tipo |f|
7
Neste contexto, destaca-se o mtodo Simulated Annealing (SA) ou recozimento
simulado que possui ao menos duas caractersticas positivas: a princpio, escapam de
pontos de mnimo local e no dependem da aproximao inicial da soluo.
As idias que formam a base do Simulated Annealing tm analogia com a
termodinmica, especialmente na maneira com que os lquidos congelam e cristalizam e os
materiais se resfriam e enrijecem. Essas idias foram publicadas pela primeira vez por
Metropolis et al. em 1953, o qual apresentou um algoritmo para simulao do processo
fsico chamado annealing (ou resfriamento lento). Este algoritmo simula o resfriamento de
um material que inicialmente submetido a altas temperaturas e, em seguida, resfriado
lenta e gradualmente, permitindo um tempo amplo para a redistribuio dos tomos
enquanto eles perdem a mobilidade. Trinta anos depois, Kirkpatrick et al. (1983)
mostraram que o algoritmo de Metropolis poderia ser aplicado a problemas de otimizao.
Apesar de ser uma tcnica extremamente robusta, o SA apresenta, ao menos, duas
dificuldades quando aplicados funes altamente no lineares: alto tempo computacional
empregado e dificuldade de realizar uma busca refinada em regies promissoras. Com
objetivo de contornar tais dificuldades, recentemente surgiram os algoritmos hbridos que
misturam um algoritmo de busca global com um de busca local. possvel, por exemplo,
associar o Simulated Annealing com o mtodo da inclinao mxima ou o Simulated
Annealing com gradientes conjugados.
8
5 Mtodos Irrestritos
O objetivo desenvolver o estudo de diversas tcnicas iterativas utilizadas para a
resoluo de problemas de minimizao irrestritos de busca local. O conhecimento
aprofundado dessas tcnicas essencial para a preparao, estudo e desenvolvimento de
ferramentas mais eficientes quanto velocidade de convergncia e facilidade de
implementao. A seguir sero apresentados os mtodos estudados, suas caractersticas,
vantagens e desvantagens.
5.1 Mtodos Unidimensionais Irrestritos
5.1.1 Mtodo de Fibonacci Fibonacci Search Method
Este mtodo determina o valor mnimo de uma funo f unimodal (apenas um
mnimo relativo), sobre um intervalo fechado [ ]21 ,cc , que conhecido como regio ou intervalo de incerteza.
A idia encontrar, pelo menos aproximadamente, o mnimo de f em um certo
nmero de pontos a partir de uma regio de incerteza.
Aps determinar N pontos nxxx ,...,, 21 com 21 ,...,, 21 cxxxc N a regio de
incerteza ser reduzida ao intervalo [ ]11 , + kk cc centrado em kx , sendo o ponto de mnimo
entre os N pontos.
Pode-se ento resumir o procedimento para reduo da largura do intervalo de
incerteza da seguinte maneira:
9
Os dois primeiros pontos so medidos simetricamente uma distncia de
11 d
F
F
N
N
a partir das extremidades do intervalo inicial, de acordo com qual desses
o menor valor, um intervalo =2d 11 d
F
F
N
N
determinado.
O terceiro ponto medido simetricamente no novo intervalo de incerteza
com respeito aos pontos j no intervalo. O resultado o novo intervalo de incerteza
=3d 12 d
F
F
N
N
Assim, em geral, cada ponto sucessivo colocado no intervalo de incerteza atual
simetricamente com o ponto j existente no intervalo.
Abaixo apresentado o algoritmo deste mtodo:
21
10
cx
cx
N =
=
1
1
121
dF
Fd
ccd
N
kN
k
=
=
+
onde
kF : elementos da seqncia de Fibonacci (1,1,2,3,5,8,13,...).
kd : intervalo de incerteza em k passos.
5.1.2 Mtodo da Razo urea Search By Golden Section
Este mtodo obtido quando N na busca de Fibonacci. Em qualquer ponto do
processo o intervalo de incerteza tem comprimento 1
1
1
1dd
k
k
=
, onde 618,11 e
618,01
1
.
10
5.1.3 Busca por ajuste de curva
Tanto o Mtodo de Fibonacci quanto o Mtodo da Razo urea no exploram as
caractersticas e as informaes da funo em questo. Para contornar esse fato surgiram
mtodos que ajustam uma curva suave aos pontos analisados, e com informaes dos
pontos aplicados na funo e/ou nas derivadas possvel obter tcnicas melhores para
minimizar a funo.
Mtodo de Newton Newtons Method
Neste caso o objetivo minimizar uma funo de apenas uma varivel ( )xf , para
isso deve-se considerar a seguinte suposio: no ponto kx podemos obter ( )kxf , ( )kxf e
( )kxf .
A partir da possvel construir uma funo quadrtica ( )xq tal que seja igual a
( )xf expandida em srie de Taylor em torno de kx e truncada aps a primeira derivada:
( ) ( ) ( )( ) ( )( )22
1kkkkk xxfxxxfxfxq ++= (1)
onde o termo da direita corresponde ao erro local de truncamento.
Calcula-se uma estimativa 1+kx do ponto de mnimo da funo ( )xf encontrando o
ponto em que a derivada de ( )xq se anula:
( ) ( ) ( )( )kkkkk xxxfxfxq +== ++ 110 (2)
( )( )k
k
kkxf
xfxx
=+1 (3)
11
Nota-se imediatamente que o novo ponto 1+kx no depende de ( )kxf .
O Mtodo de Newton tem ordem de convergncia de pelo menos 2.
Mtodo da Falsa Posio Method of False Position
Foi visto anteriormente que o Mtodo de Newton utiliza apenas a informao de um
nico ponto para fazer um ajuste quadrtico. A idia agora utilizar mais pontos e
conseqentemente menos informaes. Ento, utilizando ( )kxf , ( )kxf e ( )1 kxf tem-se
o seguinte ajuste quadrtico:
( ) ( ) ( )( ) ( ) ( ) ( )2
2
1
1 k
kk
kk
kkk
xx
xx
xfxfxxxfxfxq
++=
(4)
onde ( ) ( ) ( )( )
k
kk
kk xfxx
xfxf
1
1 , ou seja, diferenas regressivas para a derivada primeira.
Assim como no Mtodo de Newton, encontra-se uma aproximao para o ponto de
mnimo 1+kx ; encontrando o ponto onde a derivada de ( )xq se anule:
( ) ( ) ( ) ( ) ( )kkkk
kk
kk xxxx
xfxfxfxq
+== +
+ 1
1
110 (5)
isolando 1+kx :
( )( ) ( )
=
+
kk
kk
kkkxfxf
xxxfxx
1
11 (6)
12
Embora no Mtodo da Falsa Posio no se tem necessidade de utilizar-se do valor
de ( )kxf , nem da segunda derivada, sua convergncia da ordem da razo urea, 1,618,
inferior ordem de convergncia do Mtodo de Newton.
Ajuste Cbico Cubic Fit
Agora utilizando 1kx e kx junto com os valores ( )1kxf , ( )1 kxf , ( )kxf e ( )kxf ,
encontra-se um ajuste cbico e assim obtm-se uma estimativa para o prximo ponto 1+kx
encontrando o ponto de mnimo deste ajuste, simplificando os clculos teremos que:
( ) ( )( ) ( )
++
=
+21
1211 2uxfxf
uuxfxxxx
kk
k
kkkk (7)
onde
( ) ( ) ( ) ( )kk
kk
kkxx
xfxfxfxfu
+=
1
111 3 (8)
( ) ( )[ ]21
12
12 kk xfxfuu = (9)
Apesar do Mtodo nos levar a crer que a ordem de convergncia seja 3 devido sua
caracterstica cbica, temos na verdade uma ordem de convergncia 2.
Ajuste Quadrtico Quadratic Fit
Seguindo o mesmo raciocnio dos ajustes anteriores, agora sero utilizados 3 pontos
e no haver necessidade de se utilizar nenhuma das derivadas da funo ( )xf .
13
Dados 21 , xx e 3x e os valores correspondentes ( ) 11 fxf = , ( ) 22 fxf = e ( ) 33 fxf =
podemos fazer um ajuste quadrtico passando por estes pontos tal que:
( )( )( )
=
=
3
1i
ij ji
ij j
ixx
xxfxq (10)
e a partir da podemos determinar o prximo ponto 4x onde a derivada de ( )xq se anula:
++
++=
312231123
3122311234 2
1
fafafa
fbfbfbx (11)
onde
jiij xxa = , 22
jiij xxb = (12)
e ainda mais, este mtodo tem ordem de convergncia de aproximadamente 1,3.
5.2 Critrios de Parada de uma Busca Unidimensional
O objetivo nesta parte do estudo ser conhecer os critrios mais utilizados para
determinar a melhor situao para finalizar uma busca unidimensional, tambm chamada de
busca em linha.
A utilizao desses critrios motivada pelo fato de ser praticamente impossvel
obter o ponto de mnimo exato, devido ao custo computacional e aos erros de
arredondamento intrnsecos da mquina. Assim deve-se procurar uma maneira de terminar
a busca de uma maneira que seja suficientemente precisa e que no prejudique os
algoritmos de busca.
14
5.2.1 Teste da Porcentagem
Este teste consiste em estabelecer uma proporo pr-fixada do valor verdadeiro. O
valor de escolhido de maneira que c onde o valor real do parmetro
e uma constante c tal que 10
15
5.2.3 Teste de Goldstein
Muito parecido com o critrio de Armijo, este teste consiste em determinar o
parmetro de maneira que ele no seja to grande sob a mesma perspectiva do critrio
anterior, Equao 14, s que para um 0 (16)
5.2.4 Teste de Wolfe
Este teste difere dos anteriores em relao ao uso da derivada da funo objetivo
desde que esta possa ser facilmente calculada. Assim, para um 0 (17)
A vantagem deste teste que a Equao 17 no afetada por mudanas no parmetro .
5.3 Mtodos n-dimensionais Irrestritos
A maioria dos algoritmos de programao no-linear para funes de vrias
variveis inclui uma busca pelo ponto de mnimo ao longo de uma linha. Portanto,
plausvel que o procedimento escolhido seja fechado, ou seja, que o procedimento tenha
convergncia garantida e que a busca tenha um momento eficiente de ser finalizada.
Para iniciar um algoritmo de busca com respeito a uma funo f h a necessidade
de duas informaes primordiais: o ponto inicial x , n dimensional, e a direo d ,
tambm n dimensional, na qual ser realizada a busca.
16
Definio 1: O mapa/algoritmo nn EES 2: definido por:
( ) { }( ) ( )dxfyf
dxyydxS
+=
+==
min
|,
0
O procedimento tem incio em 0x , caminha-se um passo na direo 0d e assim
obtm-se 1x . Esse procedimento repetido diversas vezes gerando uma seqncia { }kx que
esperamos que seja convirja para o ponto de mnimo. Os mtodos diferem um dos outros
pela direo e pelo passo escolhidos a cada iterao.
5.3.1 Mtodo da Inclinao Mxima The Steepest Descent Method
O Mtodo da Inclinao Mxima um dos mais antigos e estudados para minimizar
funes de vrias variveis. Este mtodo de grande importncia para este trabalho, pois
geralmente usado como base na tentativa de encontrar tcnicas mais sofisticadas. Assim,
o Mtodo da Inclinao Mxima utilizado como parmetro de comparao quando se
estudam diversas tcnicas de otimizao.
Seja f uma funo com a primeira derivada parcial contnua nE . O gradiente da
funo, ( )xf , definido como um vetor linha com dimenso n . O vetor transposto, ou
seja, o vetor coluna n -dimensional ser definido por ( ) ( )txfxg = , o mtodo da inclinao
mxima definido pelo seguinte algoritmo iterativo:
kkkk gxx =+ 1 (18)
onde k o escalar no-negativo que minimiza ( )kkk gxf .
17
Portanto, partindo do ponto kx , a busca ser realizada na direo negativa do
gradiente, kg , afim de encontrar o ponto de mnimo, 1+kx , nessa linha.
O caso quadrtico ser o primeiro a ser analisado:
Considere:
( ) bxxxxf tt = Q2
1 (19)
onde Q uma matriz nn simtrica positiva definida. Como Q positiva definida, todos
os autovalores de Q so positivos e ainda mais, da teoria de Anlise, como Q positiva
definida temos que f estritamente convexa.
Podemos ento encontrar o nico ponto de mnimo de f igualando o gradiente da
funo zero, ou seja, ( ) 0= xf , satisfazendo bx =*Q .
O mtodo da Inclinao Mxima pode ser expresso ento da seguinte maneira:
kkkk gxx =+ 1 (20)
bxg kk = Q (21)
onde k o escalar no-negativo que minimiza ( )kkk gxf .
Mas avanando um pouco mais pode-se determinar a forma explcita de k , sabe-se
que:
( ) ( ) ( ) ( ) ( ) hbgxgxgxgxf tkkkkt
kkkk == Q21
(22)
encontrando a derivada em relao e buscando o mnimo :
18
( ) ( ) 0Q22
1=+= bggxg
d
dh tkkk
t
k (23)
( )( ) 0QQ =+ ktkktk ggbxg (24)
k
t
k
k
t
k
gg
gg
Q= (25)
Agora j possvel deixar o Mtodo da Inclinao Mxima em sua forma explcita:
kk
t
k
k
t
k
kk ggg
ggxx
=+
Q1 (26)
onde bxg kk = Q .
Sobre a convergncia deste procedimento deve-se usar o Teorema 1 para se obter
uma idia de seu comportamento. Introduzindo ento a funo:
( ) ( ) ( )** Q2
1xxxxxE
t= (27)
ou seja,
( ) ( )xfxxxE t += ** Q2
1 (28)
assim como ambas diferem apenas por uma constante procura-se minimizar ( )xE ao invs
de f .
Teorema 1: Para qualquer nEx 0 o Mtodo da Inclinao Mxima converge para o
nico ponto de mnimo *x de uma funo quadrtica f .
Para ( ) ( ) ( )** Q2
1xxxxxE
t= , em todo passo k temos que:
19
( ) ( )kk xEaA
aAxE
+
+
2
1
onde a e A so respectivamente o menor e o maior autovalor de Q.
Segue imediatamente que ( ) 0kxE , como Q positiva definida, que *xxk .
Este teorema mostra que a taxa de convergncia do Mtodo da Inclinao Mxima
se torna mais lenta conforme as curvas de nvel de f ficam mais excntricas. Se Aa = , o
que quer dizer que as curvas de nvel so circulares a convergncia ocorre em um nico
passo. Observa-se tambm que se um dos autovalores est a uma grande distncia dos
demais j ser suficiente para que haja uma convergncia lenta e assim prejudicar a
efetividade do mtodo.
Conclu-se que a taxa de convergncia depende da razo a
Ar = (tambm conhecido
como nmero de condio da matriz). A razo de convergncia pode ser observada a
seguir:
( )
( )
2
22
2
1
1
1
1
1
1
+
+
=
+
=
+
r
r
a
Aa
A
aAa
aAa
aA
aA (29)
isto mostra que conforme r cresce a convergncia fica mais lenta.
O prximo passo avanar para o caso no-quadrtico. Em geral utiliza-se a matriz
Hessiana da funo objetivo para desempenhar o papel da matriz Q do caso quadrtico. O
Teorema 2 ilustra teoricamente essa passagem entre os casos e a questo da convergncia.
Teorema 2: Seja f definida em nE , com derivadas segundas parciais contnuas e com
mnimo relativo em *x . Suponhamos ainda que a matriz Hessiana de f , ( )xF , tenha o
20
menor autovalor 0>a e o maior autovalor 0>A . Se { }kx a seqncia gerada a partir
do Mtodo da Inclinao Mxima que converge para *x , ento a seqncia dos valores da
funo objetivo ( ){ }kxf converge para ( )*xf linearmente com taxa de convergncia no
melhor que
2
+
aA
aA.
5.3.2 Mtodo de Newton n-dimensional Newtons Method
Mais uma vez, deseja-se minimizar uma funo f , que pode ser aproximada
localmente por uma funo quadrtica, funo esta que pode ser minimizada de maneira
exata. Assim, pode-se aproximar f pela srie de Taylor truncada aps a primeira derivada
na vizinhana de kx :
( ) ( ) ( )( )kkk xxxfxfxf + (30)
conseqentemente sua derivada dada por:
( ) ( ) ( )( )kkk xxxFxfxf += (31)
O que leva a forma pura do Mtodo de Newton:
( )[ ] ( )tkkkk xfxFxx = + 11 (32)
Este mtodo bem definido perto da soluo *x devido ao fato de f ter segundas
derivadas parciais contnuas e de que matriz Hessiana ( )*xF positiva definida num ponto
21
de mnimo local. Quando iniciado prximo suficiente da soluo, o Mtodo de Newton tem
ordem de convergncia 2 como mostra o Teorema 3:
Teorema 3: Seja 3Cf em nE , e assumimos que no ponto de mnimo local *x a matriz
Hessiana ( )*xF seja positiva definida. Ento, se iniciado suficientemente perto de *x , os pontos gerados pelo Mtodo de Newton convergem para *x com ordem de convergncia
de pelo menos 2.
O grande atrativo do Mtodo de Newton justamente suas caractersticas de
convergncia, no entanto necessrio fazer algumas adaptaes ao mtodo para que possa
ser utilizado a partir de pontos mais distantes da soluo.
A primeira modificao a ser feita introduzir um parmetro de busca tal que
k seja selecionado de modo a minimizar f :
( )[ ] ( )tkkkkk xfxFxx = + 11 (33)
Nota-se que perto da soluo, chega-se ao Mtodo de Newton em sua forma pura
com 1k . Esta modificao no to boa, pois corre-se o risco de que a funo objetivo
se afaste do mnimo para 1=k devido aos termos no-quadrticos de f .
A segunda modificao deve ser analisada, para isso parte-se da expresso geral dos
algoritmos:
kkkk gMxx =+1 (34)
onde kM uma matriz nn , um parmetro de busca positivo e ( )t
kk xfg = .
possvel perceber claramente que se ( )[ ]
=
= Newton
Mxima Inclinao1
kk
k
xFM
IM
22
No caso em que IM k = (Mtodo da Inclinao Mxima) tem convergncia
garantida mas, no entanto, converge apenas linearmente; j quando ( )[ ] 1= kk xFM
(Mtodo de Newton) tem convergncia mais rpida perto da soluo mas para um ponto em
geral distante da soluo o mtodo pode no gerar uma direo de descida uma vez que
( )[ ] 1kxF pode no ser positiva definida ou at mesmo no existir.
Como ( ) ( ) ( )( ) ( )2111 kkkkkkk xxxxxfxfxf ++= +++ , substituindo pela frmula proposta na segunda modificao e fazendo ( ) tkk gxf = obtm-se:
( ) ( ) ( )21 +=+ kktkkk gMgxfxf (35)
Quando 0 , o segundo termo da direita domina o terceiro. Com pequeno,
para acontecer um decrscimo no valor de f impo-se que 0>kkt
k gMg e para isso a
soluo mais simples exigir que kM seja positiva definida.
5.3.3 Mtodos de Direes Conjugadas
Estes mtodos surgiram para melhorar a convergncia do Mtodo da Inclinao
Mxima e resolver o problema de encontrar, armazenar e trabalhar com a matriz Hessiana
inversa no Mtodo de Newton.
Assim como nos mtodos anteriores, a anlise tem incio pelos problemas
quadrticos:
minimizar ( ) xbxxxf tt = Q2
1
Para comear o estudo dos mtodos necessrio definir o conceito de direes
conjugadas e analisar o Teorema 4 para compreender melhor os procedimentos realizados.
23
Definio 2: Dada uma matriz simtrica Q, os vetores 1d e 2d so ditos Q-Ortogonais ou
conjugados em relao Q, se 0Q 21 =ddt .
Teorema 4: Seja { } 11=
n
iid um conjunto de vetores Q-ortogonais no-nulos. Para qualquer
nEx 0 a seqncia gerada de acordo com o modelo abaixo:
kkkk dxx +=+1 , 0k (36)
com
k
t
k
k
t
kk
dd
dg
Q= (37)
e ainda
bxg kk = Q (38)
converge para a soluo nica, *x , de bx =Q aps n passos, ou seja, *xxn = .
O termo k
t
k
k
t
kk
dd
dg
Q= a grande diferena desta classe de mtodos. Este termo foi
encontrado a partir do seguinte raciocnio: os vetores no-nulos 110 ,...,, nddd formam uma
base e a partir da a soluo *x pode ser escrita como uma combinao linear dos elementos
dessa base, ou seja, 1100* ... ++= nn ddx , para algum conjunto de i , 10 = n,...,i .
Agora, fazendo o produto com Q e tomando o produto escalar com respeito id , tem-se:
i
t
i
t
i
i
t
i
t
ii
dd
bd
dd
xd
Q *== , 10 = n,...,i . (39)
24
Mtodo dos Gradientes Conjugados Conjugate Gradient Method
O Mtodo dos Gradientes Conjugados um mtodo de direes conjugadas no qual,
ao longo do procedimento, os vetores direo so obtidos utilizando informaes do
gradiente da funo objetivo. A direo conjugada em que o mtodo far a busca obtida
em cada passo k pela soma do vetor gradiente negativo com uma combinao linear da
direo anterior. Abaixo apresentado o algoritmo do Mtodo dos Gradientes Conjugados:
Comeando a busca em um nEx 0 define-se 000 Qxbgd == e
k
t
k
k
t
kk
dd
dg
Q= (40)
kkkk dxx +=+1 (41)
bxg kk = ++ 11 Q (42)
k
t
k
k
t
kk
dd
dg
Q
Q1+= (43)
kkkk dgd += ++ 11 (44)
O primeiro passo do algoritmo idntico ao Mtodo da Inclinao Mxima, a partir
da cada passo calculado como uma combinao linear do gradiente com o vetor direo
precedente. Este algoritmo mostra a facilidade com que se encontra o vetor direo, e
apesar de ser um pouco mais complicado que o Mtodo de Inclinao Mxima, o Mtodo
do Gradiente Conjugado converge em um nmero finito de passos.
25
Trs grandes vantagens devem ser destacadas neste mtodo. Primeiro, o gradiente
sempre no-nulo e linearmente independente de todos os vetores direo obtidos
anteriormente; segundo, o mtodo de fcil implementao; e por ltimo, como o mtodo
baseado na direo do gradiente ele tem um bom progresso uniforme at a soluo em cada
passo, o que muito importante para estudar a generalizao para os problemas no-
quadrticos.
Mtodo Geral dos Gradientes Conjugados
Agora, o Mtodo dos Gradientes Conjugados ser extendido para problemas no-
quadrticos, para isso so realizadas as seguintes aproximaes em kx : kg substitudo
por ( )tkxf e a matriz Q por ( )kxF .
O Mtodo dos Gradientes Conjugados, quando utilizado em problemas no-
quadrticos, geralmente no ir terminar em n passos como no caso quadrtico. A sada
para essa questo buscar novas direes de acordo com o algoritmo abaixo e somente
terminar a busca aps um critrio de parada ser atingido, esse procedimento conhecido
como restart. Assim, o Mtodo Geral dos Gradientes Conjugados definido da seguinte
maneira:
Passo 1. Iniciando em 0x calcule ( )t
xfg 00 = e defina 00 gd = .
Passo 2. Para 1,...,1,0 = nk :
a) Defina kkkk dxx +=+1 , onde ( ) kktkk
t
kk
dxFd
dg= .
b) Calcule ( )tkk xfg 11 ++ = .
c) A menos que 1= nk , defina kkkk dgd += ++ 11 onde ( )( ) kktk
kk
t
kk
dxFd
dxFg 1+=
26
e repita (a).
Passo 3. Faa nxx 0 e volte ao passo 1.
Neste mtodo a busca em linha est embutida no prprio mtodo, pois a cada passo,
1+kx obtido deslocando kx de um passo k na direo kd . Essa uma vantagem j que
no preciso usar um algoritmo de busca em linha como nos mtodos anteriores. Como
desvantagem destaca-se a necessidade de calcular ( )kxF em cada ponto o que gera um
esforo computacional maior e, alm disso, os clculos de ( )kxF fazem com que o mtodo
no seja globalmente convergente.
Mtodo Fletcher-Reeves
Ao invs de substituir Q por ( )kxF existe a opo de usar um dos mtodos de
busca em linha descritos na Seo 5.1. Diferentemente dos mtodos de direes conjugadas
anteriores, k ser ento determinado de modo que minimize a funo objetivo enquanto
k ser determinado por uma nova frmula. O Mtodo Fletcher-Reeves pode realizar estas
mudanas:
Passo 1. Iniciando em 0x calcule ( )t
xfg 00 = e defina 00 gd = .
Passo 2. Para 1,...,1,0 = nk :
a) Defina kkkk dxx +=+1 , onde k minimiza ( )kk dxf + .
b) Calcule ( )tkk xfg 11 ++ = .
27
c) A menos que 1= nk , defina kkkk dgd += ++ 11 onde k
t
k
k
t
kk
gg
gg 11 ++=
e repita (a).
Passo 3. Faa nxx 0 e volte ao passo 1.
Nota-se claramente que as nicas alteraes se encontram nos itens (a) e (c) como
explicado anteriormente.
Mtodo Polak-Ribiere
Este mtodo muito parecido com o de Fletcher-Reeves, diferindo somente em
relao maneira com que se encontra o parmetro k . O algoritmo o mesmo do mtodo
anterior, exceto em relao nova maneira de calcular k :
( )
k
t
k
k
t
kkk
gg
ggg 11 ++ = (44)
28
5.3.4 Mtodos Quasi-Newton
Os mtodos discutidos nesta parte do estudo so motivados pela dificuldade de
avaliao e de uso da matriz Hessiana no Mtodo de Newton que necessita da Hessiana
inversa. Assim, os Mtodos Quasi-Newton iro encontrar aproximaes sucessivas para
esta matriz inversa e contornar os problemas de implementao do Mtodo de Newton.
Mtodo de Newton Modificado
Mais uma vez o objetivo minimizar ( )xf e para isso o seguinte processo iterativo
deve ser analisado:
( )tkkkkk xfSxx =+ 1 (45)
onde kS uma matriz simtrica nn e como j visto anteriormente k escolhido de
modo a minimizar ( )1+kxf .
A matriz kS se relaciona com os mtodos j estudados da seguinte maneira:
= 1HS k Mtodo de Newton.
= IS k Mtodo da Inclinao Mxima.
1HS k Mtodo Quasi-Newton.
Para garantir que a Equao 43 seja um mtodo de descida necessrio que kS seja
positiva definida para valores pequenos de k .
Analisando mais uma vez o caso quadrtico:
( ) xbxxxf tt = Q2
1 (46)
29
e o processo iterativo fica da forma:
( )tkkkkk xfSxx =+ 1 , (47)
bxg kk = Q (48)
kkk
t
k
kk
t
kk
gSSg
gSg
Q= (49)
kS prxima de -1Q desde que tanto o menor autovalor quanto o maior autovalor
estejam prximos de 1.
Para funes objetivo no-quadrticas, o anlogo matriz Q a matriz Hessiana
( )kxF e, portanto, kS deve ser prxima de ( )1
kxF .
Mtodo Clssico de Newton Modificado
Este mtodo no calcula ( ) 1kxF , ele usa a Hessiana calculada em 0x ao longo do
processo. Assim, o mnimo obtido de acordo com o seguinte processo:
( )[ ] ( )tkkkk xfxFxx = + 101 (50)
A eficincia deste mtodo est relacionada com a variao nos valores da matriz
Hessiana calculada no ponto 1+kx e no ponto 0x . Quanto menor essa variao melhor o
mtodo.
30
Mtodo Davidon-Fletcher-Powell
Este mtodo foi originalmente desenvolvido por Davidon para encontrar uma
aproximao para a inversa da matriz Hessiana e depois melhorado por Fletcher e Powell.
Alm de construir a aproximao da inversa da matriz Hessiana esse mtodo gera as
direes do gradiente conjugado. O algoritmo do mtodo ser visto a seguir:
Iniciando em qualquer ponto 0x , com qualquer matriz positiva definida 0H e com
0=k :
Passo 1. Faa kkk gHd = .
Passo 2. Minimizar ( )kk dxf + com respeito 0 para obter 1+kx , kkk dp = e
( )tkk xfg 11 ++ = .
Passo 3. Faa kkk ggq = +1 e
kk
t
k
k
t
kkk
k
t
k
t
kkkk
qHq
HqqH
qp
ppHH +=+1 (51)
Faa 1+= kk e volte ao Passo 1.
31
6 Mtodos Restritos
O enfoque agora estudar os problemas do tipo:
Minimizar ( )xf
Sujeito a ( ) 0=xhi , ( ) 0xg j (52)
nEx
onde
( )xf a funo objetivo, ( )xhi , m,...,i 1= , so as restries de igualdade, ( )xg j ,
p,...,j 1= , so as restries de desigualdade e o domnio de x .
Vamos assumir que as funes ih,f e jg so contnuas e possuem derivadas
parciais de segunda ordem contnuas. Para simplificar, a notao de vetor de funes
( )mh,...,h,hh 21= e ( )pg,...,g,gg 21= ser utiliza ao longo do trabalho.
6.1 Restries de Igualdade
6.1.1 Condies de 1 ordem
Definio 3: O ponto *x que satisfaz o conjunto de restries ( ) 0=*xh dito ponto regular das restries se os vetores gradientes ( )*xhi forem linearmente independentes.
Teorema 5: Seja *x um ponto extremo local de f sujeito s restries ( ) 0=xh .
Assumimos ainda que *x seja um ponto regular desse conjunto de restries. Ento existe
um mE tal que:
( ) ( ) 0** =+ xhxf t (53)
32
A partir do Teorema 5, o Lagrangiano associado ao problema com restries de
igualdade:
( ) ( ) ( )xhxfxl t +=, (54)
Buscando minimizar o Lagrangiano, derivando em relao a x e a e igualando a
zero encontram-se as condies necessrias de 1 ordem, as quais podem ser expressas da
seguinte forma:
( ) 0, = xlx (55)
( ) 0, = xl (56)
As condies necessrias de 1 ordem juntamente com as restries ( ) 0=xh
formam um total de nm + equaes, onde m refere-se ao nmero de restries e n ao
nmero de variveis do vetor x .
6.1.2 Condies de 2 ordem
Para encontrar as condies necessrias de segunda ordem - Teorema 6 preciso assumir
que 2, Chf .
Teorema 6: Seja *x um ponto de mnimo local de f sujeito s restries ( ) 0=xh .
Assumimos ainda que *x seja um ponto regular desse conjunto de restries. Ento existe
um mE tal que:
( ) ( ) 0** =+ xhxf t (57)
Denotando-se por M o plano tangente ( ){ }0: * == yxhyM , ento a matriz
33
( ) ( ) ( )*** xHxFxL t+= (58)
positiva semi-definida em M , ou seja, ( ) 0* yxLy t para todo My .
A matriz L a matriz das segundas derivadas parciais, com respeito a x , do
Lagrangiano l . As condies suficientes de segunda ordem so encontradas no Teorema 7.
Teorema 7: Suponhamos que existe um ponto *x que satisfaa ( ) 0* =xh e tambm um mE tal que
( ) ( ) 0** =+ xhxf t (59)
e suponhamos ainda que a matriz ( ) ( ) ( )*** xHxFxL t+= seja positiva definida em ( ){ }0: * == yxhyM , ou seja, para My , 0y implica que ( ) 0* >yxLy t . Ento *x
ponto de mnimo local de f sujeito a ( ) 0=xh .
6.2 Restries de Desigualdade
Agora o problema est sujeito tanto s restries de igualdade quanto s restries
de desigualdade.
6.2.1 Condies de 1 ordem
Teorema 8 - Condies de Kuhn-Tucker: Seja *x um ponto de mnimo relativo para o
problema (52) e suponhamos que *x seja um ponto regular das restries. Ento existe um
vetor mE e um vetor pE com 0 tais que
34
( ) ( ) ( ) 0*** =++ xgxhxf tt (60) e
( ) 0* =xgt (61)
6.2.2 Condies de 2 ordem
O Teorema 9 mostra as condies necessrias de segunda ordem para problemas
com restries de desigualdades:
Teorema 9: Suponhamos que 2,, Chgf e que *x seja um ponto regular das restries.
Se *x for soluo do problema de minimizao restrito, ento existe um vetor mE e um
vetor pE com 0 tais que (59) e (60) sejam vlidas e que
( ) ( ) ( ) ( )**** xGxHxFxL tt ++= (62)
seja positiva definida no plano tangente das restries ativas em *x .
As condies suficientes de segunda ordem so vistas no Teorema 10:
Teorema 10: Seja 2,, Chgf . As condies suficientes para que *x seja um ponto de
mnimo relativo do problema de minimizao restrito so que exista mE e pE tais
que
0 (63)
( ) 0* =xgt (64)
35
( ) ( ) ( ) 0*** =++ xgxhxf tt (65)
e a matriz Hessiana
( ) ( ) ( ) ( )**** xGxHxFxL tt ++= (66)
seja positiva definida no subespao
( ) ( ){ }0,0: ** === yxgyxhyM j , para todo Jj ,
onde
( ){ }jj xgjJ ,0: * == .
36
7 Implementaes
Alm do estudo terico tambm foi abordada a implementao dos mtodos
estudados para se perceber na prtica as caractersticas de cada mtodo, as vantagens, as
desvantagens, a facilidade ou dificuldade de implementao. A linguagem de programao
utilizada foi o C/C++ e os seguintes programas foram implementados com sucesso:
para busca unidimensional:
Fibonacci
Golden Section
Newton
Falsa Posio
Ajuste Cbico
Ajuste Quadrtico
critrio de parada (usado frequentemente como um mtodo de busca unidimensional):
Critrio de Armijo
para busca n-dimensional:
Mtodo da Inclinao Mxima
Gradientes Conjugados para casos Quadrticos
Gradientes Conjugados para casos no-Quadrticos
Polak-Ribiere
Fletcher-Reeves
37
A seguir, alguns dos mtodos implementados sero exemplificados e comparados.
Os exemplos sero em geral funes simples, mas os programas so eficientes para funes
mais complexas. Neste caso basta alterar, nos cdigos fonte, a funo e as informaes
relacionadas para os programas executarem.
Nos anexos de A at D encontram-se os seguintes cdigos fontes para consulta:
Mtodo de Newton para busca unidimensional, Mtodo da Inclinao Mxima, Mtodo dos
Gradientes Conjugados e Mtodo de Fletcher-Reeves.
7.1 Busca Unidimensional
Abaixo observa-se o comportamento dos mtodos quando queremos minimizar a
funo ( ) 962 += xxxf , cujo grfico pode ser visto na Figura 3.
0
10
20
30
40
50
60
70
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12
Figura 3 Grfico da funo ( ) 96xxxf 2 +=
Percebe-se tanto pelo grfico quanto analiticamente que a funo tem seu valor
mnimo na abscissa 3* =x . Na Tabela 1 observa-se como cada um dos mtodos se
comportou quando executados:
38
Tabela 1 Resultados obtidos com os mtodos de busca unidimensional
Mtodo Soluo Encontrada Nmero de Iteraes
Fibonacci 2.999726 20
Razo urea 2.999801 20
Newton 3 2
Falsa Posio 3 2
Ajuste Cbico No convergiu -
7.2 Busca n-dimensional
7.2.1 Caso Quadrtico
O Mtodo da Inclinao Mxima e o Mtodo dos Gradientes Conjugados foram
aplicados para minimizar a funo ( ) yxyxyxf 223, 22 ++= ; cujo grfico pode ser visto
na Figura 4:
Figura 4 Grfico da funo ( ) yxyxy,xf 223 22 ++=
usando os pontos iniciais ( ) ( )5,5, 00 =yx como partida da busca obtm-se a Tabela 2:
39
Tabela 2 Resultados obtidos com os mtodos de busca para vrias variveis no caso quadrtico
Mtodo Soluo Encontrada ( )** , yx Nmero de Iteraes Inclinao Mxima ( )331923.0,1 16
Gradientes Conjugados ( )333334.0,1 2
Polak-Ribiere ( )333318.0,1 18
Flecther-Reeves ( )333318.0,1 18
Dentro do Mtodo da Inclinao Mxima foi utilizado o Critrio de Armijo para a
busca em linha uma vez que esse critrio extensamente utilizado com sucesso na
programao no-linear. Percebe-se que os mtodos chegaram praticamente mesma
soluo, entretanto o Mtodo dos Gradientes Conjugados teve desempenho muito superior
quanto ao nmero de iteraes e, conseqentemente, quanto ao tempo de execuo.
7.2.2 Caso no-Quadrtico
Foram implementados mais uma vez o mtodo da Inclinao Mxima, o Mtodo
dos Gradientes Conjugados, agora no-quadrticos e tambm os mtodos de Fletcher-
Reeves e Polak-Ribiere.
Deseja-se encontrar o ponto de mnimo da funo:
( ) yxyxyxyxf 8255, 42 += , analiticamente sabe-se que a soluo que minimiza a
funo dada por ( )3,20 :
40
Figura 5 Grfico da funo ( ) yxyxyxy,xf 8255 42 +=
usando os pontos iniciais ( ) ( )0,0, 00 =yx obtm-se a Tabela 3:
Tabela 3 Resultados obtidos com os mtodos de busca de vrias variveis no caso no-quadrtico
Mtodo Soluo Encontrada ( )** , yx Nmero de Iteraes Inclinao Mxima ( )999756.2,996469.19 210
Gradientes Conjugados ( )000061.3,000001.20 12
Fletcher-Reeves ( )998498.2,979500.19 162
Polak-Ribiere ( )998498.2,979500.19 162
41
8 Simulated Annealing
O Simulated Annealing um mtodo baseado na teoria termodinmica, o qual
simula o processo de recozimento de um slido at que este alcance seu estado mnimo de
energia. Este mtodo ser utilizado como uma ferramenta para a otimizao global e
posteriormente trabalhado conjuntamente com mtodos estudados anteriormente para a
construo de programas hbridos de busca.
Annealing pode ser traduzido neste caso como recozimento, nome dado pela
termodinmica ao processo de aquecimento de um slido at o seu ponto de fuso, seguido
de um resfriamento gradual e vagaroso, at que se alcance novamente o seu enrijecimento.
Nesse processo, a etapa de resfriamento essencial para se manter um equilbrio
trmico do slido, se feito de maneira correta esse resfriamento gradual e vagaroso far
com que os tomos encontrem tempo suficiente para se organizarem em uma estrutura
uniforme com energia mnima. Se o slido resfriado bruscamente, seus tomos formaro
uma estrutura irregular e fraca, com alta energia em conseqncia do esforo interno gasto.
Sob o aspecto computacional e matemtico, esse recozimento pode ser considerado
como um processo estocstico de determinao da estrutura dos tomos de um slido que
apresente energia mnima em seu estado final. Em altas temperaturas, os tomos se movem
livremente e, com grande probabilidade, movem-se para posies que incrementaro a
energia total do sistema. Quando se baixa a temperatura, os tomos gradualmente se
movem em direo uma estrutura regular e, somente com pequena probabilidade,
incrementaro suas energias.
De acordo com Metropolis et al. (1953) nos estudos iniciais desta rea, quando os
tomos se encontram em equilbrio, em uma temperatura T , a probabilidade de que a
energia do sistema seja E , proporcional ktE
e
, onde k conhecida como constante de
Bolzmann.
Desta forma, a probabilidade de que a energia de um sistema seja ( EE + ) pode ser
expressa por:
( ) ( ) ( ) ( ) kTEeEEEEE ==+ probprob prob prob ( 67 )
42
Ou seja, a probabilidade de que a energia de um sistema passe de E para ( )EE +
dada por kTEe . Na expresso kTEe , como k uma constante, nota-se que conforme T
diminui, a probabilidade da energia do sistema se alterar cada vez menor. Nota-se
tambm que nessas condies, quanto menor o valor de E , maior a probabilidade da
mudana ocorrer.
8.1 O mtodo computacional Simulated Annealing
O Simulated Annealing um mtodo de busca que evita solues locais e utilizado
para a obteno de boas solues para problemas complexos de otimizao de resoluo
complicada. Esse mtodo vem sendo atualmente utilizado em diversas reas, tais como
projeto de circuitos integrados por computador, processamento de imagem, tomografias,
redes neurais, dentre outros.
Em trabalhos distintos de Kirkpatrick et al. (1983), e CERNY (1985), este mtodo
proposto como um modelo de simulao de recozimento de slidos, como estudado em
Metropolis et al. (1953), para ser utilizado em problemas de otimizao, onde a funo
objetivo, a ser minimizada, corresponde energia dos estados do slido.
interessante formalizar o problema de usar a teoria termodinmica de recozimento
como um mtodo de otimizao. Para isso um espao S definido como sendo um
conjunto finito que contm todas as combinaes possveis que representam as solues
viveis para o problema. Seja f uma funo de valores reais definida sobre S , RSf : .
O problema caracterizado em encontrar uma soluo (ou estado) Sx , tal que ( )xf seja mnimo.
Uma das formas mais simples de tentar resolver o problema, utilizando uma busca
local em S, seria utilizar algum dos mtodos de descida j estudados dentre os quais
destacaram-se o Mtodo de Descida Mxima e o Mtodo dos Gradientes Conjugados.
Porm, como o interesse maior na obteno do timo global, um processo de
busca por uma soluo pode ser iniciado a partir de uma soluo inicial 0x tomada de
forma aleatria. Uma outra soluo 1x ento gerada, na vizinhana desta atravs de algum
43
mtodo sistemtico. Caso tenhamos uma soluo melhor, para o caso de minimizao,
( ) ( )01 xfxf < , a mesma passa a ser considerada a soluo atual e o processo se repete.
Caso contrrio, a nova soluo rejeitada e uma outra ser buscada. Esse processo se
repete at que no se obtenha uma soluo satisfatria na vizinhana da soluo atual aps
um nmero determinado de iteraes. O algoritmo retorna o valor da ltima soluo
encontrada, considerada uma soluo de mnimo local.
A deficincia do mtodo acima, apesar de ser simples e rpido, que o mnimo
local encontrado pode estar longe de ser um mnimo global, o que seria uma soluo
inaceitvel para o problema. Uma estratgia simples para melhorar a soluo obtida atravs
desse tipo de algoritmo, seria escolher a menor soluo, de um conjunto de solues obtidas
de execues sucessivas, realizadas a partir de diferentes solues iniciais.
O Simulated Annealing, em contraposio, tenta evitar a convergncia para um
mnimo local, aceitando, s vezes, uma nova soluo gerada, mesmo que essa incremente o
valor de f . O aceitar ou o rejeitar de uma nova soluo, que causar um incremento de
f em , sob uma temperatura T , determinado por um critrio probabilstico, atravs de
uma funo g conhecida por funo de aceitao. Normalmente, essa funo expressa
por:
( ) TeTg =, ( 68 )
Caso ( ) ( )01 xfxf = for menor que zero, a soluo 1x ser aceita como a nova
soluo. Caso contrrio, a nova soluo somente ser aceita se:
( ) ( )1,0, randomTg > ( 69 )
A semelhana com o mtodo original de simulao de recozimento na
termodinmica, grande, pois o parmetro , corresponde variao da energia de um
estado para outro E e o parmetro de controle T , corresponde temperatura. Uma vez
que, agora T uma varivel intuitiva, a constante k , que aparecia na expresso original
multiplicando T , considerada igual a 1.
44
Assim as seguintes concluses aps a anlise da funo ( )Tg , so:
a probabilidade de aceitao de uma nova soluo inversamente proporcional ao
incremento .
quando T alto, a maioria dos movimentos (de um estado para outro ou de uma
soluo para outra) aceita, entretanto, a medida que T se aproxima de zero, a
grande maioria das solues so rejeitadas.
Para evitar uma convergncia precoce para um mnimo local, o algoritmo inicia com
um valor de T relativamente alto. Esse parmetro gradativamente reduzido e, para cada
um dos seus valores, so realizadas vrias tentativas de se alcanar uma melhor soluo nas
vizinhanas da soluo atual (processo dito como restart nos programas anteriores).
8.2 Implementao do Simulated Annealing
Para problemas caracterizados pela existncia de diversos timos locais as chances
de se conseguir atingir o timo global com o uso dos mtodos de otimizao estudados nas
sees anteriores so remotas, uma vez que um processo de descida dependente da
soluo inicial utilizada.
O incio da implementao do Simulated Annealing pode ser a partir do seguinte
algoritmo para maximizar uma funo objetivo f :
Passo 1. 0n
Passo 2.
( )00
calcular
aleatria inicial soluo umagerar
inicial mperaturadefinir te
vf
v
T
Passo 3. selecione uma nova soluo 1v na vizinhana de 0v
se ( ) ( )10 vfvf <
45
ento 10 vv
seno se ( ) ( ) ( )( ) Tvfvferandom 011 , 0 <
ento 10 vv
volte ao Passo 3 k vezes
Passo 4. 1+
nn
TT
volte ao Passo 3 at atingir o critrio de parada
importante considerar a idia de que sendo o Simulated Annealing um mtodo de
caractersticas estocsticas, a sua soluo tima no a mais recente encontrada no
processo de busca e sim a melhor soluo encontrada durante toda a busca. Assim, uma
varivel que armazena a melhor soluo encontrada durante todo o processo acrescida e
essa ser a resposta apresentada pelo programa. Alm disso, o programa no chegar na
mesma soluo em todas as tentativas, mas chegar respostas muito prximas. A esse
respeito, executa-se repetidamente o programa para certificar-se de sua confiabilidade.
A seguir o mtodo implementado utilizado em dois exemplos, um unidimensional
e outro bidimensional, ambos com funes complexas repletas de pontos timos locais.
Mais do que obter uma boa aproximao para a soluo, percebe-se a influncia de cada um
dos parmetros envolvidos no mtodo assim como obter um conjunto timo de parmetros.
8.2.1 Exemplo unidimensional
A primeira aplicao do Simulated Annealing como mtodo de otimizao ser com
um exemplo unidimensional. A seguir a funo ( )xf ser utilizada,
( ) ( ) 110sin += xxxf pi ( 70 )
46
cujo comportamento pode ser observado na Figura 6. O problema consiste em
encontrar o ponto x dentro do intervalo [ ]2 , 1 que maximize a funo, ou seja, encontrar
0x tal que ( ) ( ) [ ]2 , 1- todopara ,0 xxfxf . Este exemplo foi retirado de
MICHALEWICZ (1996).
Figura 6 - Grfico da funo
O mtodo Simulated Annealing foi implementado baseado no algoritmo
apresentado na Seo 8.2 e seu cdigo fonte encontra-se no Anexo E.
O prximo passo aps a implementao do mtodo foi encontrar a melhor
combinao dos parmetros envolvidos para encontrar uma soluo melhor e um custo
computacional menor.
Abaixo todos os parmetros e variveis importantes para compreenso dos
resultados e que esto envolvidos na implementao do Simulated Annealing so
apresentados. Na Tabela 4, est o resumo dos experimentos. Para obter os resultados da
Tabela 4, o programa foi executado dez vezes para cada variao no valor de um dos
parmetros e a melhor das solues encontradas foi utilizada como critrio para
determinao dos demais parmetros.
0v : soluo inicial
t: temperatura final (muito prximo de zero)
47
alfa: taxa de decaimento da temperatura
viz: raio da vizinhana para gerao de um n aleatrio
T: temperatura inicial
Restart: n de restarts dentro do programa antes do decaimento da temperatura
MAX: n mximo de iteraes
Max ( )xf : valor mximo encontrado
Temp final: temperatura final
Iteraes: n de iteraes ao final do programa
Avaliaes: n de vezes de avaliao da funo ( )xf
Tabela 4 - Resumo e resultados para o problema unidimensional
1 2 3 4 5parmetros valor valor valor valor valor
v0 0 0 0 0 0t 0.0001 0.01 0.0001 0.0001 0.0001
alfa 0.95 0.95 0,9 0.95 0.95viz 1.0 1.0 1.0 0,5 1.0T 100 100 100 100 50
restart 10 10 10 10 10MAX 10000 10000 10000 10000 10000
resultados valor valor valor valor valormax f(x) 2,850184 2,850185 2,850183 2,850184 2,850184temp final 0,000097 0,009778 0,000091 0,000097 0,000099iteraes 270 180 132 270 256avaliaes 965 978 480 970 769
Combinaes de parmetros e Resultados
Observa-se na Tabela 4 que, para o problema descrito anteriormente, todos os
experimentos alcanaram uma boa aproximao para a funo objetivo, sendo que o maior
valor encontrado foi de 2,850185 para a situao 2. A diferena relevante entre eles foi o
nmero de avaliaes da funo objetivo, que variou de 480 na situao 3 at 978 na
situao 2. Como a avaliao da funo objetivo pode ser um processo caro
computacionalmente, conforme ser visto na Seo 10, conclui-se que a melhor
combinao dos parmetros estudados aquela apresentada na situao 3.
48
8.2.2 Exemplo bidimensional
Nesta seo o Simulated Annealing ser aplicado para um problema de otimizao
com funo objetivo bidimensional, porm deve-se ressaltar que o programa implementado
pode ser utilizado perfeitamente em problemas com diversas variveis com necessidade
apenas de mudana da funo objetivo e da varivel dimenso no cdigo fonte do
programa.
O objetivo ser ento maximizar a funo apresentada na Equao 71, retirada de
MICHALEWICZ (1996).
( ) ( ) ( )221121 20sin4sin5.21 , xxxxxxf ++= pipi (71)
em que 1.120.3 1 x e 8.51.4 2 x .
O grfico da funo pode ser observado na Figura 7, a funo caracterizada pela
presena de inmeros timos locais e por isso este exemplo ilustra to bem a importncia
do mtodo Simulated Annealing.
Figura 7 - Grfico da funo
49
Assim como no exemplo anterior, foram realizados diversos testes para
encontrarmos a melhor combinao dos parmetros para que se chegasse em uma soluo
tima e com custo computacional menor. A descrio dos parmetros a mesma do
problema anterior com a incluso do parmetro 1v que representa o valor inicial da segunda
varivel e 0v passa a ser o valor inicial para a primeira varivel. O cdigo fonte deste
mtodo encontra-se no Anexo F.
Neste exemplo o programa tambm foi executado dez vezes para cada mudana no
valor de um dos parmetros e a melhor soluo encontrada foi encontrada como critrio de
escolha dos demais valores dos parmentros. O resumo dos experimentos para o problema
de otimizao descrito acima apresentado a seguir na Tabela 5.
Tabela 5 - Resumo e resultados para o problema bi-dimensional
1 2 3 4varivel valor valor valor valor
v0 0 0 0 0v1 5 5 5 5t 0.0001 0.0001 0.0001 0.0001
alfa 0.95 0,99 0,99 0,99viz 1.0 1.0 0,5 1,2T 100 10000 10000 10000
restart 10 10 10 10MAX 10000 10000 10000 10000
resultados valor valor valor valormaior f(x) 38,660828 38,832943 38,8349 38,845600temp final 0,000096 0,000096 0,0001 0,0001iteraes 315 1604 1833 1833avaliaes 3151 16041 18331 18331
Combinaes de parmetros e Resultados
A Tabela 5 mostra que a variao dos parmetros para o problema bidimensional
exerce maior influncia sobre a soluo do que no problema unidimensional. A nosso ver,
essa sensibilidade causada pela complexidade da funo objetivo. Pequenas variaes,
como por exemplo, a mudana no parmetro alfa (situaes 1 e 2) levam uma melhora
considervel da soluo.
50
Outra observao vista na Tabela 2 diz respeit mudana no parmetro vizinhana.
Este exerce um papel importante, pois sua variao no afeta o custo computacional e alm
disso, melhora de maneira significativa a preciso da solua. Esse fato pode ser observado
na situao 4 com o ponto ( )5.725650 , 624089.11 que leva ao mximo de
( ) 38,8456 , 21 =xxf enquanto que a melhor soluo obtida anteriormente nos
experimentos foi ( ) 38,8349 , 21 =xxf na situao 3.
51
9 Mtodos Hbridos
O desenvolvimento de mtodos hbridos mostra-se necessrio quando nos
deparamos com um problema que envolva uma funo extremamente complicada, ou seja,
repleta de vales, picos e regies planas. Nestes casos os mtodos estudados no incio do
trabalho mostram-se inadequados, pois encontraro uma soluo que ser apenas local no
gerando assim o timo desejado pelo usurio.
A primeira abordagem a escolha de um mtodo que escape desses timos locais e
para isso o mtodo do Simulated Annealing foi estudado, o qual por um lado se mostrou
bastante eficiente, mas por outro demandou um alto custo computacional.
neste ponto que o desenvolvimento de mtodos hbridos se mostra relevante, uma
vez que pode ser possvel aproveitar a caracterstica positiva de fugir de timos locais do
Simulated Annealing e delegando a tarefa de realizar buscas finas em regies promissoras
aos mtodos de busca local. Essa diviso de tarefas exigiria menor esforo computacional
do Simulated Annealing diminuindo o custo computacional total do mtodo.
O mtodo dos Gradientes Conjugados foi escolhido para compor os mtodos
hbridos devido aos bons resultados obtidos nas etapas anteriores de estudo, e para se ter
uma base de comparao utilizou-se tambm o mtodo da Inclinao Mxima.
O uso dos mtodos de busca local, por meio das estratgias abaixo, proporciona a
possibilidade de deixar a parte da busca do Simulated Annealing no to robusta (com
parmetros no to exigentes), diminuindo assim o custo computacional e ganhando em
eficincia do mtodo hbrido.
Conforme mencionado, a idia bsica realizar uma busca mais refinada em regies
que tenham potencial para serem timos globais e no apenas locais. Para isso foram
desenvolvidas e implementadas duas estratgias diferentes de combinao entre o
Simulated Annealing e os mtodos de busca local. Cada uma delas ser explicada e
exemplificada a seguir.
52
Estratgia 1
Consiste em realizar uma busca fina (local) aps o trmino do restart do Simulated
Annealing, ou seja, antes do decaimento da temperatura realiza-se uma busca local para
chegar num ponto de melhor qualidade. A visualizao deste procedimento encontra-se
abaixo. O passo 4 representa a modificao introduzida.
Passo 1. 0n
Passo 2.
( )00
calcular
aleatria inicial soluo umagerar
inicial mperaturadefinir te
vf
v
T
Passo 3. selecione uma nova soluo 1v na vizinhana de 0v
se ( ) ( )10 vfvf <
ento 10 vv
seno se ( ) ( ) ( )( ) Tvfvferandom 011 , 0 <
ento 10 vv
volte ao Passo 3 k vezes
Passo 4. Utilizar a busca local com soluo inicial 0v
Passo 5. 1+
nn
TT
volte ao Passo 3 at atingir o critrio de parada
53
Estratgia 2
Consiste em utilizar o mtodo do Simulated Annealing em sua forma pura (da
mesma maneira que na Seo 8) e usar a soluo tima encontrada como soluo inicial
para a busca local conforme algoritmo abaixo sendo o passo 5 o mtodo de busca local
includo.
Passo 1. 0n
Passo 2.
( )00
calcular
aleatria inicial soluo umagerar
inicial mperaturadefinir te
vf
v
T
Passo 3. selecione uma nova soluo 1v na vizinhana de 0v
se ( ) ( )10 vfvf <
ento 10 vv
seno se ( ) ( ) ( )( ) Tvfvferandom 011 , 0 <
ento 10 vv
volte ao Passo 3 k vezes
Passo 4. 1+
nn
TT
volte ao Passo 3 at atingir o critrio de parada
Passo 5. Utilizar a busca local com soluo inicial 0v
54
9.1 Simulated Annealing com Inclinao Mxima
O primeiro mtodo hbrido apresentado consiste em utilizar o mtodo Simulated
Annealing em conjunto com o mtodo de busca local da Inclinao Mxima. Esse mtodo
hbrido aplicado para as estratgias 1 e 2 apresentadas na Seo 9 e os respectivos cdigos
fonte encontram-se nos Anexos G e H.
Para correto funcionamento da unio dos mtodos e para ganhos de eficincia foram
necessrias algumas adaptaes em ambos mtodos. O Simulated Annealing pde ter
alguns de seus parmetros relaxados uma vez que teremos buscas finas ao longo do
processo, este relaxamento diminui o nmero de iteraes e principalmente o nmero de
avaliaes da funo em questo. J no mtodo da Inclinao Mxima, foi necessrio uma
mudana dos parmetros do Critrio de Armijo e do valor inicial da varivel , essa re-
adequao foi necessria devido alta sensibilidade do problema utilizado como exemplo
assim, tem um valor muito prximo de zero assim como as constantes de verificao do
Critrio de Armijo.
9.2 Simulated Annealing com Gradientes Conjugados
Neste segundo hbrido houve apenas a necessidade de adaptaes no mtodo do
Simulated Annealing para se obter ganhos de eficincia computacional por meio do
relaxamento de alguns dos parmetros uma vez que o mtodo dos Gradientes Conjugados
tem uma forma explcita para o clculo da varivel . Haver tambm como no mtodo
anterior buscas finas ao longo (estratgia 1) ou ao trmino (estratgia 2) do processo que
possibilitaro uma busca menos robusta por parte do Simulated Annealing. Os Anexos I e J
contm os cdigos fontes do hbrido Simulated Annealing com Gradientes Conjugados para
as estratgias 1 e 2, respectivamente.
Tanto no mtodo hbrido com Inclinao Mxima quanto no hbrido com Gradientes
Conjugados optou-se, aps diversos testes, por reduzir a preciso da temperatura final no
Simulated Annealing, criando assim uma busca menos robusta, com menos iteraes e
55
menor esforo computacional que sero recompensados pelas buscas locais utilizadas nos
mtodos hbridos.
9.3 Comparaes e resultados
Os mtodos hbridos desenvolvidos foram aplicados no problema bidimensional
tratado na Seo 8 (Equao 71). A Tabela 6 mostra na segunda coluna o desempenho do
Simulated Annealing puro e nas colunas seguintes, o desempenho de cada um dos mtodos
hbridos implementados.
Tabela 6 - Comparaes e Resultados
S.A. S.A. com IM (1) S.A. com IM (2) S.A. com GC (1) S.A. com GC (2)varivel valor valor valor valor valor
v0 0 0 0 0 0v1 5 5 5 5 5t 0.0001 0.01 0.01 0.01 0.01
alfa 0,99 0,99 0,99 0,99 0,99viz 1,2 1,2 1,2 1,2 1,2T 10000 10000 10000 10000 10000
restart 10 10 10 10 10MAX 10000 10000 10000 10000 10000
resultados valor valor valor valor valormaior f(x) 38,845600 38,850307 38,849518 38,850494 38,850399temp final 0,0001 0,00942 0,00942 0,00942 0,00942iteraes 1833 917 1000 917 1000avaliaes 18331 9171 10001 9171 10001
Comparaes e Resultados
Observa-se que tanto os mtodos hbridos com Inclinao Mxima quanto os
hbridos com Gradientes Conjugados tiveram desempenho muito superior ao Simulated
Annealing puro uma vez que os hbridos chegaram a solues melhores dos que as j
encontradas pelo Simulated Annealing com uma reduo significativa do nmero de
iteraes e principalmente do nmero de avaliaes da funo.
A temperatura final foi reduzida em sua preciso em duas casas decimais e mesmo
assim os mtodos hbridos tiveram um bom desempenho conforme esperado.
O mtodo de maior destaque foi o hbrido de Simulated Annealing com Gradientes
Conjugados seguindo a estratgia 1com quantidade muito inferior de iteraes e avaliaes
56
do que o Simulated Annealing, este hbrido chegou ao timo ( ) 38,850494 , 21 =xxf . O segundo melhor mtodo foi novamente um hbrido de Simulated Annealing com Gradientes
Conjugados s que com a utilizao da estratgia 2 com um mximo
( ) 38,850399 , 21 =xxf . Os mtodos hbridos com Inclinao Mxima tiveram um desempenho pouco
inferior aos hbridos com Gradientes Conjugados, entretanto tiveram desempenho muito
superior ao Simulated Annealing.
57
10 Aplicao: problema de tomografia por impedncia
eltrica
Com objetivo de testar os programas computacionais desenvolvidos neste projeto
em um problema prtico, o problema de tomografia por impedncia eltrica foi escolhido.
A tomografia por sensoriamento eltrico representa uma tcnica de grande potencial para a
otimizao de processos normalmente associados s industrias do petrleo e qumica.
Esse tema vem sendo pesquisado h alguns anos no Ncleo de Engenharia Trmica
e Fluidos (NETeF) da EESC USP, onde a orientadora desta monografia participa
ativamente. Este trabalho representa uma contribuio aos esforos do grupo e tem como
objetivo contribuir com uma nova linha de pesquisa que trata da implementao de
mtodos hbridos de otimizao, mesclando um algoritmo de otimizao global com um
mtodo de otimizao local (geralmente baseado na inclinao do gradiente). Esta
contribuio importante tanto para a parte tcnica quanto para a parte cientfica uma vez
que o emprego de tcnicas tomogrficas em processos industriais envolvendo fluidos
multifsicos ainda carece de mtodos robustos e computacionalmente eficientes.
O problema de tomografia por impedncia eltrica pode ser descrito pelo seguinte
problema de otimizao (ROLNIK E SELEGHIM, 2006):
( )0 1 nMin e , ,..., , (72)
( )min i maxs.a. x, y i 1..n = , (73)
C(x, y,z) (x, y,z)dxdydz
= , (74)
xyzC(x, y,z) (x, y,z)dxdydz
= , (75)
onde n o nmero de variveis no espao de busca, min e max so os limites para
asincgnitas, C(x,y,z) denota o modelo de calibrao, a frao de vazio e o
coeficiente de simetria do escoamento.
58
As n primeiras restries (73) representam os limites de fronteira do espao de
busca, a restrio (74), representando a frao de vazio que compe o escoamento, e a
restrio (75), considerando o coeficiente de simetria do escoamento, podem ser medidas
tanto experimentalmente quanto numericamente. Estas informaes do escoamento
conhecidas a priori devem colaborar no aumento da preciso da soluo e diminuio do
tempo de convergncia do algoritmo gentico.
A funo objetivo ( )e representa o funcional de erro construdo a partir do
confronto entre medidas experimentais e numricas. O ponto de mnimo global do
funcional de erro (Equao 72) est relacionado com a imagem do domnio sensoriado,
porm, encontr-lo no uma tarefa trivial, pois a superfcie do funcional de erro
extremamente no linear e repleta de extremos locais, pontos de sela, regies praticamente
planas entre outras caractersticas topolgicas.
Em comunicao com a aluna de doutorado Grazieli L. C. Carosio (CAROSIO et
al., 2003 e processo Fapesp no 03/12537-7), foi fornecido seu programa computacional que
realiza o clculo do erro (Eq. 72). Os dados utilizados em sua implementao so:
Domnio bidimensional: quadrado de lados unitrios com 16 eletrodos
dispostos uniformemente no contorno, conforme Figura 8.
Figura 8 - Domnio de Sensoriamento
Condies de contorno: tipo Dirichlet em todo o contorno tendo perfil
triangular que simula uma tenso de 10V em um eletrodo, localizado no
canto direito da aresta superior do quadrado, variando gradativamente at
um valor mnimo (0V) no eletrodo diametralmente oposto a ele, conforme
Figura 9.
59
Figura 9 - Condies de contorno que simulam o perfil de excitao triangular.
Discretizao da equao diferencial parcial: mtodo dos elementos finitos,
tendo como a Equao 72 como resultante dessa discretizao.
0EDCBA 1ijj1iijj1i1-j i =++++ ++ (76)
com
( )2L1L.21
A += (76.a)
( )4L1L.21
B += (76.b)
( ) ( )5L4L3L2L6L1L .21
.1C +++++= (76.c)
( )6L3L.21
D += (10.d)
( )6L5L.21
E += (76.e)
Para a discretizao do domnio foi utilizada uma malha de 10 x 10 pontos,
gerando um total de 64 pontos nodais, igualmente espaados por 0,11 =
nas duas direes, e 162 elementos triangulares.
Para visualizao dos resultados, as 162 incgnitas foram alinhadas em um vetor
= (1,2,...,162) e correspondem ao eixo horizontal no grfico a seguir. J o eixo vertical
denota nos elementos discretos. A soluo correta para o problema-teste pode ser
observada no grfico seguinte:
60
1
80
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162
Elementos discretos
Contraste
Figura 10 - Soluo correta para o problema-teste
10.1 Resultados com o Simulated Annealing
O Simulated Annealing foi includo diretamente no problema de minimazao do
erro. Os parmetros relacionados temperatura e ao restart foram alterados para que o
Simulated Annealing realizasse um nmero maior de iteraes e conseqentemente de
avaliaoes da funo objetivo.
Apesar de ter rodado com sucesso, o Simulated Annealing no chegou a uma
soluo satisfatria. A Figura 11 mostra a soluo encontrada e se comparada Figura 10
percebe-se que a soluo est longe da soluo correta para o problema teste.
0
10
20
30
40
50
60
70
80
90
100
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116 121 126 131 136 141 146 151 156 161
Elementos discretos
Contras
te
Figura 11 - Soluo encontrada pelo Simulated Annealing
61
Nas primeiras iteraes o mtodo caminhou de maneira satisfatria para a soluo,
mas pequenas variaes nos pontos encontrados levaram a soluo para pontos piores.
10.2 Resultados do hbrido Simulated Annealing com Gradientes
Conjugados
Para aplicar o mtodo hbrido Simulated Annealing com Gradientes Conjugados no
problema de tomografia eltrica foi necessrio, em primeiro lugar, alterar o mtodo de
clculo das derivadas. Ao invs de usar as formas explcitas das derivadas, ser usada a
aproximao numrica de diferenas finitas centradas para o clculo da derivada primeira
conforme a equao abaixo:
( ) ( )
+
=2
xfxf
dx
df (77)
Da mesma maneira que o Simulated Annealing, os resultados no foram
satisfatrios. O mesmo comportamento foi observado, o que j era esperado devido
complexidade do problema.
62
11 Concluso
As hipteses e metas determinadas no incio do projeto foram constatadas e
cumpridas uma vez que os mtodos hbridos foram desenvolvidos e com isso atingir o
objetivo de se obter um processo de otimizao consistente e eficiente.
Dentre os mtodos implementados, o mtodo hbrido que une o Simulated
Annealing ao Gradientes Conjugados foi o que apresentou o melhor desempenho para
resoluo de problemas de otimizao global.
Alm disso, tambm iniciou-se os estudos para aplicao dos mtodos hbridos
desenvolvidos no problema de tomografia por impedncia eltrica. Esse estudo, apesar de
no ter tido resultados satisfattios para a aplicao, mostrou ser vivel e promissor.
Diversas idias ainda podem ser desenvolvidas nesta rea dentre as quais algumas
propostas se destacam:
Calcular a probabilidade de cada um dos mtodos alcanar uma boa
aproximao para a soluo tima.
Adaptar todos os mtodos para o clculo da derivada atravs de diferenas
finitas com objetivo de ampliar a viabilidade de uso dos mesmos em outros
projetos.
Continuar a tentativa de melhoria da soluo para o problema de impedncia
eltrica.
Estudar outras tcnicas meta-heursticas e de algoritmos genticos.
A realizao do projeto de concluso de curso foi de grande satisfao e orgulho,
todos os estudos foram de grande relevncia para a formao do aluno e alm de gerarem
um enriquecimento cientfico e uma ampla experincia acadmica tambm proporcionaram
amadurecimento pessoal e profissional.
63
12 Referncias Bibliogrficas
CERNY. Thermodynamical approach to the traveling salesman problem: An efficient
simulation algorithm. Journal of Optimization Theory and Applications. vol 45, No. 1,
pp. 41-51.
DAVIDON, W.C. Variance Algorithm for Minimization Computer J. 10, 1968, pages
406-410.
FLETCHER, R., POWELL, M.J.D., A Rapidly Convergent Descent Method for
Minimization. Computer J. 6, 1963, pages 163-168.
JACOBY, S.L.S., KOWALIK, J.S., PIZZO, J.T. Iterative Methods for nonlinear
optimization problems, Prentice-Hall, 1972.
KAMIEM, I.M., SCHWARTZ, N.L. Dinamic Optimization, North Holland 1981.
KIRKPATRICK, S. (1983). Optimization by Simulated Annealing, Science, vol. 220, pp.
671-680.
LUENBERGER, D. G. Introduction to Linear and Nonlinear Programming, Addison-
Wesley, 1984.
METROPOLIS, N. (1953). Equation of State Calculations by Fast Computing Machines,
Journal of Chemical Physics, vol. 21, pp. 1087-1092.
MICHALEWICZ, Z. (1996). Genetic Algorithms + Data Structures = Evolution
Programs. New York: Springer-Verlag Berlin Heidelberg.
ROLNIK, V. P.; SELEGHIM Jr, P. (2006). A Specialized Genetic Algorithm for the
Electrical Impedance Tomography of Two-Phase Flows. Journal of the Brazilian
Society of Mechanical Sciences and Engineering, Vol. XXVIII, n. 4, pp. 378 390.
64
Anexo A Mtodo de Newton Unidimensional #include #include float f(float x) {float z; z = pow(x,2)-6*x +9; /* altere aqui a funcao a ser analisada*/ return z;} float f1(float x) {float w; w = 2*x - 6; /* primeira derivada*/ return w;} float f2(float x) {float u; u = 2; /* segunda derivada */ return u;} main(){ float e=1,x,d1,d2,m,y; int i=0; printf("Entre com o valor inicial:\nx[k]="); scanf("%f",&x); while(e>0.001){ i=i+1; d1=f1(x); d2=f2(x); y = x - (d1/d2); printf("\nx[k+1]=%f",y); e= y-x; printf("\ne=%f",e); if(e
65
Anexo B Mtodo da Inclinao Mxima caso quadrtico #include #include float funcao(float u, float w) {float z; z = pow(u,2)+ 3*pow(w,2) - 2*u + 2*w; /* altere aqui a funcao a ser analisada*/ return z;} float derivadax0(float u, float w) {float z; z = 2*u - 2; /* altere aqui a derivada a ser analisada*/ return z;} float derivadax1(float u, float w) {float z; z = 6*w + 2; /* altere aqui a derivada a ser analisada*/ return z;} float phi(float u, float w, float p, float g2, float g3) {float z; z = pow(u-p*g2,2) + 3*pow(w - p*g3,2) - 2*(u-p*g2) + 2*(w - p*g3); return z;} main(){ float x,y; float g0, g1, g,fmin; int n=0,nmax=30; float e=0.01; float d0=1, d=1; float alpha=0.1; float phi0, philinha0, phia, large, penultimo; int teste; printf("::::::::::: Metodo de Descida ::::::::::::::::::\n\n\n"); printf("Entre com o valor inicial da primeira variavel:\nx="); scanf("%f",&x); printf("Entre com o valor inicial da segunda variavel:\ny="); scanf("%f",&y); g0=derivadax0(x,y); g1=derivadax1(x,y); while((d0>e || d>e) && n
66
printf("\nDerivada em x %f\n",g0); printf("Derivada em y %f\n",g1); // :::::::::::: inicio do teste armijo ::::::::::::::::::: phi0=phi(x,y,0,g0,g1); philinha0=g0*g0+g1*g1; phia= phi(x,y,alpha,g0,g1); large= phi0 + 0.2*philinha0*alpha - phia; if (large>=0) teste=0; else teste=1; if (teste==0){ while(large>=0){ // INICIO WHILE penultimo=alpha; alpha=alpha*2; phi0=phi(x,y,0,g0,g1); philinha0=g0*g0+g1*g1; phia= phi(x,y,alpha,g0,g1); large=