nery_rs

115
 UNIVERSIDADE DE SÃO PAULO FACULDADE DE FILOSOFIA, CIÊNCIAS E LETRAS DE RIBEIRÃO PRETO MATEMÁTICA APLICADA A NEGÓCIOS Métodos Híbridos para Resolução de Problemas de Programação Não-Linear RIBEIRÃO PRETO, NOVEMBRO DE 2007

Upload: allan-ferreira

Post on 05-Nov-2015

6 views

Category:

Documents


0 download

DESCRIPTION

OTIMIZAÇÃO

TRANSCRIPT

  • 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

    QQ

    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=