Você está na página 1de 77

1

Captulo 1
_________________________________ Introduo
A procura por solues timas para determinados problemas objeto de estudo h vrios sculos. Podemos citar o antigo problema de se encontrar qual a maior rea que pode ser cercada por uma quantidade (em metros) de cerca, chamado de problema isoperimtrico ou Problema da Princesa Dido. Na obra Eneida de Viglio, encontramos uma referncia a este problema: "No sculo IX antes de Cristo, a princesa fencia Dido, que havia assassinado seu marido, chegou s terras do norte da frica (Tunez) junto com seu irmo Pigmalio e fizeram um acordo com seus habitantes. Ao querer a princesa Dido comprar terra para se estabelecer com seu povo, o rei daquele lugar somente lhe permitiu comprar a parcela de terra que poderia ser coberta pela pele de um touro. Dido cortou a pele em pequenas tiras formando uma larga corda (de 1000 a 2000 metros) e a disps de maneira que cobrisse a maior parte de terreno possvel..." . A rea que a princesa cercou tinha o formato de um crculo. Apenas em 1870 foi apresentada uma soluo completa para o problema. Foi o matemtico K. Weirstrass quem apresentou a soluo baseada em uma teoria criada por ele. A teoria criada por Weierstrass foi o Clculo Variacional. Existem diversas demonstraes para este resultado. Podemos citar por exemplo MOREIRA and SALDANHA (1993) e FIGUEIREDO (1989). Outro problema antigo e bastante interessante que tambm envolve otimizao o chamado Problema da Braquistcrona. Esta palavra vem do grego brakhisto (o mais curto) e chronos (tempo). O problema consiste em encontrar qual a trajetria que uma partcula deve percorrer com o menor tempo onde os pontos de sada e chegada so fixos, a velocidade inicial nula, sem atrito e sujeita apenas a ao da gravidade. Na natureza podemos observar diversas solues timas para problemas envolvendo, por exemplo, procura de alimentos por formigas, construo dos alvolos onde as abelhas depositam o mel, formao na migrao de pssaros, entre outras. Na busca por alimento, as formigas buscam o caminho mais curto e

2 com a maior quantidade de ferormnio depositado no caminho por outras formigas; na construo dos alvolos as abelhas buscam minimizar a quantidade de material gasta na construo e ao mesmo tempo maximizar a produo e no fenmeno da migrao, as aves buscam uma formao que reduza o esforo de aves que se encontram atrs de outras na formao. H um rodzio das aves na formao para garantir que aves mais cansadas estejam em uma posio privilegiada na formao. A otimizao uma ferramenta importante na tomada de decises durante a anlise e/ou projeto de um determinado sistema fsico. Para utilizar esta ferramenta devemos ter em mente qual o objetivo a ser alcanado, ou seja, a quantidade que medir a eficincia deste sistema. Podemos querer minimizar custos, tempo, material, energia ou maximizar lucro, volume, fora. O objetivo depende de caractersticas do projeto. Para cada parmetro envolvido no sistema ou projeto, cria-se uma varivel que representar este parmetro. Estas variveis so chamadas de Variveis de Projeto ou Variveis de Deciso. A otimizao visa encontrar o valor de cada varivel que otimiza o sistema. Frequentemente estas variveis esto sujeitas a restries, que so limites impostos pelo projeto e que os parmetros (variveis) devem obedecer. As restries podem ser de igualdade, desigualdade e/ou laterais. Uma restrio de desigualdade chamada de Restrio Ativa se no ponto timo vale a igualdade, isto , se ( ) (MARTINEZ and

SANTOS, 1995), caso contrrio dita inativa. A figura 1 ilustra um exemplo onde para e as restries so ativas e para a restrio inativa.

Figura 1.1 Restries Ativas e Inativas

3 Em geral um problema de otimizao com um objetivo pode ser escrito da seguinte forma

Minimizar ( ) ( ) Sujeito a { ( )
A funo ( ) chamada de funo objetivo. As funes

(1) (2)
( )e ( ) so um

as restries de igualdade e de desigualdade respectivamente. O varivel vetor de coordenadas, isto , ( ) e e

so os limites

inferior e superior respectivamente, da -sima coordenada do vetor . Caso o problema seja o de encontrar o mximo para a funo objetivo ( ), basta multiplicar a funo por -1 e transform-lo em um problema de minimizao da funo ( ), pois as solues locais e globais so as mesmas,

somente os sinais de cada coordenada do ponto timo que sero opostas, conforme a figura abaixo. Por isso, do ponto de vista matemtico, no existe nenhuma diferena relevante entre os problemas de minimizao e de maximizao da funo objetivo: todos os resultados obtidos para uma classe de problemas podem ser facilmente estendidos para a outra classe sem dificuldade (IZMAILOV and SOLODOV, 2005).

Figura 1.2

( )

( )-

Existem vrios tcnicas de otimizao e no h uma forma padro e universal de classificao destas tcnicas. Os mtodos dependem do tipo de funo objetivo que aparece no problema (se linear ou no linear), do espao das variveis de projeto (se h restries ou o problema irrestrito), das variveis de projeto (inteiras ou contnuas) e das tcnicas de otimizao empregadas

4 (determinstica diferencivel, determinstica no diferencivel, estocstica e hbrida). Apresentamos a seguir algumas definies teis na denominao dos tipos de problemas que estudaremos: Programao Linear (PL) e Programao No Linear (PNL) Quando a funo objetivo e as restries so lineares o problema chamado de problema de programao linear. Caso contrrio um problema de programao no linear. Problemas de PL aparecem muito em aplicaes em economia e transporte e problema de PNL aparecem com frequncia em aplicaes de engenharia. Problemas Restritos e Problemas Irrestritos Um problema de otimizao irrestrito aquele onde , isto , no h nenhuma

funo de restrio de igualdade e desigualdade das variveis de projeto. Caso contrrio o problema chamado de restrito. As restries podem ser lineares, no lineares ou ainda uma combinao delas. Otimizao Inteira e Otimizao Contnua Em vrios problemas de otimizao, s faz sentido analisar as variveis de projeto para nmeros inteiros. Por exemplo, para problemas que envolvem nmero de produtos, nmero de nibus em uma frota, nmero de trabalhadores em uma fbrica, etc.. Estes problemas tambm so denominados problemas de otimizao discreta. Na otimizao contnua todas as variveis pertencem ao conjunto dos nmeros reais

Otimizao Local ou Global Um problema de minimizao global um ponto de mnimo aquele que possui o menor valor da funo objetivo quando comparado a todos os pontos da regio vivel do espao de projeto. Um mnimo local um ponto que possui o menor valor da funo objetivo apenas em uma vizinhana deste ponto (que esteja na regio vivel) em considerao. A seguir apresentamos uma figura que ilustra a definio de mnimo local e global.

Figura 1.3 Representao de Mnimos locais e Global Otimizao Determinstica So mtodos de otimizao que utilizam recursos do clculo em seus algoritmos de busca. So mtodos iterativos e so utilizados quando se conhece o modelo que representa o problema de otimizao. Possuem algumas restries quanto implementao, pois em geral no so mtodos de otimizao global e alguns dependem do conhecimento das derivadas da funo objetivo e das restries. A convergncia de mtodos determinsticos, bem como suas taxas de convergncia, podem ser provadas por teoremas e so objetos de estudo de matemticos no mundo inteiro. Podemos classificar os mtodos

determinsticos quanto ordem das derivadas que aparecem na sua implementao. A seguir est uma classificao destes mtodos: Mtodos de Ordem Zero So mtodos de otimizao determinstica que no utilizam a derivada das funes do problema. Os mais famosos so: O Mtodo da Seo urea e o Mtodo de Powell. Mtodos de Primeira Ordem So mtodos que utilizam o conhecimento da primeira derivada das funes do problema. Os mais usados so: O mtodo da Mxima Descida (Mtodo do Gradiente), Mtodos das Direes Conjugadas e os Mtodos da Mtrica Varivel. So mais eficientes, computacionalmente falando, do que os mtodos de primeira ordem, pois possuem taxa de convergncia mais alta. Mtodo de Segunda Ordem o mtodo que depende do clculo da primeira e segunda derivada das funes que aparecem no problema de otimizao. O mtodo de segunda ordem o famoso Mtodo de Newton. Por sua vez, o mtodo de segunda ordem possui ordem de convergncia maior que os de primeira

6 ordem. Para ilustrar o que significa a taxa de convergncia, um mtodo que converge com taxa um (convergncia linear) precisa dobrar o nmero de iteraes para conseguir dobrar o nmero de casas decimais exatas de uma soluo. J um mtodo que converge com taxa dois (convergncia quadrtica) para dobrar o nmero de casas decimais exatas de uma soluo precisa realizar apenas mais uma iterao. Para uma demonstrao deste resultado e para saber um pouco mais sobre taxas de convergncia veja MOREIRA (2006). Pode ser provado que o Mtodo de Newton possui convergncia quadrtica (sob certas condies) e que o Mtodo da Mxima Descida possui convergncia linear. A seguir apresentamos uma figura que ilustra os mtodos de otimizao determinstica bem como sua classificao quando s restries e uso de derivadas.

Figura 1.4 Classificao de Mtodos Determinsticos de Otimizao


Otimizao Estocstica Os mtodos de otimizao estocstica tambm

so chamados de mtodos heursticos. A palavra heurstica vem do grego

7 heuriskein que significa descobrir/encontrar. Estes mtodo s utilizam apenas informaes das funes que aparecem no problema de otimizao e no de suas derivadas. So mtodos de otimizao global e possuem mecanismos de fuga de mnimos locais. Os mais famosos so os Algoritmos Genticos (AG), Algoritmo de Evoluo Diferencial (ED), Recozimento Simulado (SA), Algoritmo de Colnias de Formigas (ACO), Otimizao por Bactrias, Algoritmos dos Vagalumes, Busca Tabu, Otimizao por Coliso de Partculas (PSO), entre outros. Otimizao Hbrida Quando se utiliza mais de um mtodo em um problema de otimizao dizemos que esta uma tcnica hbrida de otimizao. Mtodos de otimizao estocstica (heurstica) convergem rapidamente para a regio do timo, mas demoram muito para refinar a soluo. J mtodos determinsticos possuem apenas convergncia local e em geral no so muito lentos, assim se estiverem na regio do timo global, convergem com certa rapidez para o timo. Por isto muito comum a aplicao de um mtodo estocstico para se chegar a regio do timo e depois a aplicao de um mtodo determinstico para refinar a soluo. Existe tambm a proposta da aplicao de dois mtodos heursticos simultaneamente para refinar a soluo de um problema. Neste estudo concentraremos nossa ateno nos mtodos heursticos de otimizao PSO (baseado no comportamento social de pssaros), FireFly (baseado no comportamento coletivo de vagalumes), BFO(baseado no

comportamento de bactrias na procura por alimento) e no algoritmo chamado Life Cycle (que um mix entre vrias heursticas). Realizaremos tambm um estudo sobre otimizao para problemas com mais de um objetivo, denominados Problemas de Otimizao Multi-Objetivo (POMO). Ao final realizaremos algumas aplicaes da heurstica FireFly para problemas mono e multi-objetivos.

Captulo 2
_________________________________ Otimizao por Enxame de Partculas (Particle Swarm Optimization PSO)
O algoritmo de Otimizao por Enxame de Partculas (do ingls Particle Swarm Optimization - PSO) uma heurstica baseada em populao e que foi proposta por James Kennedy e Russel Eberhart em 1995, ver KENNEDY and EBERHART (1995). Surgiu a partir de processos que modelam o comportamento social de algumas espcies de pssaros e cardumes de peixes onde cada ave (peixe) uma partcula e o bando (cardume) o enxame, da o nome enxame de partculas. Existem vrios modelos de comportamento social, dentre eles, Kennedy e Eberhart se interessaram por um modelo particular desenvolvido por um bilogo chamado Frank Heppner. Considere o seguinte cenrio: Um grupo de pssaros est procurando por comida ou local para descanso, em certa regio. Suponha que nesta regio h apenas um local de comida ou descanso e que os pssaros no sabem, a priori, onde est este lugar. Qual a melhor estratgia para procurar este lugar? A estratgia escolhida por muitos grupos de pssaros a de seguir um pssaro que est mais prximo da comida ou do descanso. Atravs de regras simples que os pssaros usam para se movimentarem, um pssaro quando sai do bando para pousar na comida ou no local de descanso acaba atraindo os pssaros mais prximos, isto , os indivduos aprendem com o sucesso da melhor ave do bando. Outro fato a ser considerado que cada

9 indivduo do bando faz uso de informaes pessoais para encontrar um local para descanso ou uma fonte de comida. Assim faz-se necessrio um ajuste da capacidade individual de procurar uma boa soluo (explorao - exploration) e da capacidade de tirar proveito das informaes do bando para alcanar seu prprio sucesso (proveito - exploitation). Quando h pouca explorao, a resposta pode convergir para a primeira boa soluo encontrada e quando h pouco proveito, pode ser at que a resposta tima nunca seja encontrada. Portanto, para aumentarmos a chance de alcance da resposta esperada, devemos balancear estes dois comportamentos

observados: o conhecimento individual e a socializao dos indivduos. 2.1 Populao (Enxame) Inicial

Para a inicializao do algoritmo, o vetor de posio e o vetor de velocidades podem ser definidos aleatoriamente pelas seguintes equaes: ( ( onde e ) )

so os limites inferior e superior, respectivamente, das e so nmeros aleatrios no intervalo , corresponde ao passo de tempo. -

variveis de projeto,

uniformemente distribudos e 2.2 O Algoritmo PSO

No enxame definido pelo algoritmo PSO, as partculas que o compe, comunicam-se para compartilhar o conhecimento que cada uma adquiriu e desta forma aumentam sua capacidade de tomada de deciso, no baseada apenas em um conhecimento individual de cada partcula, mas no conhecimento do enxame. Vamos estabelecer as notaes necessrias para o entendimento do algoritmo. Cada partcula seguintes vetores: A posio atual da partcula ( -dimensional): ( ); ; do enxame, na iterao ser representada pelos

A melhor posio encontrada pela partcula at o momento:

10 A sua velocidade atual: ( ). , que representa

O enxame de partculas tambm guarda um vetor

seu conhecimento social. Este vetor armazena a melhor posio encontrada, em todas as iteraes, quando consideramos todas as partculas do enxame. O PSO faz uso de um vetor de velocidades e um vetor de posio para modelar o comportamento (movimento) das partculas do enxame. O vetor de velocidades e o vetor de posio das partculas so atualizados pelas seguintes equaes: ( ) ( )

onde

so nmeros aleatrios uniformemente distribudos entre 0 e 1 e .

A figura abaixo ilustra, de forma bidimensional, a atualizao da velocidade quando consideramos duas partculas.

Figura 2.2.1 Atualizao do vetor velocidade PSO Reproduzido de VIANA(2008)

11 Existem trs parmetros que devem ser controlados pelo usurio na simulao do algoritmo PSO, so eles: a inrcia da partcula ( ), e os dois parmetros e (cognitivo e social respectivamente). A inrcia controla a facilita um

capacidade do algoritmo em explorar, isto , um valor alto de

comportamento mais global, enquanto um valor baixo facilita um comportamento local (VENTER & SOBIESZCZANSKI-SOBIESKI, 2002). confiana ( ). Apresentamos abaixo um fluxograma bsico da aplicao do algoritmo PSO. e Os parmetros de

indicam o quanto uma partcula confia em si ( ) e no enxame

Figura 2.2.2 Fluxograma de aplicao do PSO Reproduzido de VIANA (2008) 2.3 Parmetros do Algoritmo

12 A frmula utilizada para a atualizao do vetor de velocidades contm alguns parmetros do algoritmo PSO que devem ser ajustados de acordo com o problema. Os parmetros so de confiana e de inrcia. Os parmetros de

confiana devem ser ajustados de forma a balancear a relao entre o conhecimento da prpria partcula e o conhecimento do enxame. A literatura sugere a utilizao dos valores , porm os parmetros de confiana . Para . Um

podem ser ajustados para outros valores, em geral satisfazendo a inrcia, os valores propostos na literatura devem satisfazer

processo de ajuste dinmico do fator de inrcia proposto por VENTER & SOBIESZCZANSKI-SOBIESKI (2002). Segundo eles, este ajuste promove Uma convergncia mais rpida do algoritmo; A escolha de um valor de usurio. O fator de inrcia atualizado de acordo com a equao: mais livre e at mesmo sem a interao do

onde

uma constante entre 0 e 1. O valor de

no atualizado a cada

iterao. Um coeficiente de variao (CV) dos valores da funo objetivo, para um subconjunto das melhores partculas, calculado a cada iterao. Se o CV ficar abaixo de um valor fixado a priori, assumido que o algoritmo est convergindo para a soluo tima (VENTER & SOBIESZCZANSKI-SOBIESKI, 2002). Neste caso, o fator de inrcia atualizado segundo a equao anterior. O valor do coeficiente de variao calculado por

2.4 Operador de Perturbao Este operador atua como o operador de mutao nos Algoritmos Genticos. Tem como objetivo evitar uma convergncia prematura do algoritmo. Este operador altera tanto o vetor posio quanto o vetor velocidade. O vetor velocidade recalculado segundo a seguinte expresso: ( )

e o vetor posio recalculado por sua expresso usual.

13 Este operador aplicado ao final de cada iterao e as partculas a sofrerem este processo de mutao so identificadas pelo mesmo coeficiente de variao definido anteriormente. Quando o coeficiente de variao (de um subconjunto das melhores partculas) for menor que um valor pr-estabelecido assume - se que o enxame est se tornando muito uniforme. Assim, partculas que esto longe do centro do enxame so identificadas. As partculas que esto localizadas a mais de duas vezes o desvio padro do centro do enxame sero perturbadas. Podemos observar que a expresso utilizada para a perturbao das partculas que esto longe do centro do enxame leva em considerao apenas o fator cognitivo da partcula e no o fator social do grupo. Agindo assim, o algoritmo, est dando um voto de confiana para estas partculas com o objetivo de aumentar a diversidade na populao de partculas, isto , no conjunto de potenciais solues para o problema de otimizao. VENTER & SOBIESZCZANSKI-SOBIESKI (2002) afirmam que no h consenso quanto eficincia real deste operador de perturbao. Segundo os autores, Kennedy e Eberhart concluram que este operador pode no ser necessrio, enquanto Fourie e Groenwold reintroduziram este operador em suas aplicaes. A seguir apresentamos um pseudocdigo de implementao do algoritmo PSO: Pseudocdigo para o Algoritmo PSO Dados de entrada:
( ), onde [ ( ] , e ) {funo custo} {espao de projeto} {parmetros do algoritmo}

= tamanho do enxame ,

Dado de sada:

( )
Incio: Para Fim Calcular Enquanto Para faa

iniciais faa faa


( ) ( )

14 Calcular e

fim _____fim__________________________________________________________ Figura 2.4.1 Pseudocdigo de Implementao do Algoritmo PSO

Captulo 3
_________________________________ Otimizao por Vagalumes (Firefly Algorithm - FA)
Os vagalumes so sem dvida um dos insetos mais fascinantes de toda a natureza. So insetos noturnos da famlia Lampyridae (ordem Coleoptera) e so famosos por sua caracterstica bioluminescente. Habitam principalmente as regies tropicais e temperadas e sua populao composta por mais de 1900 espcies, ENCICLOPEDIA BRITANICA(2009). Baseado no comportamento destes insetos, Xin-She Yang (YANG, 2008) props, na Universidade de Cambridge, um algoritmo heurstico de otimizao. Segundo YANG (2008), a biologia ainda no possui um conhecimento completo de todas as utilidades que a luminescncia pode trazer aos vagalumes, mas pelo menos trs funes j foram identificadas: i. A luminescncia uma ferramenta de comunicao e de atrao para potenciais parceiros de reproduo; ii. Serve como isca para a atrao de alguma eventual presa; iii. Tambm serve como um mecanismo de defesa, pois um sinal de alerta aos predadores lembrando-os que os vagalumes possuem um sabor amargo. O algoritmo Firefly (Firefly Algorithm - FA) baseado principalmente na primeira caracterstica, isto , na atrao de parceiros para reproduo. Esta

15 caracterstica vista em algumas espcies de vagalumes, onde a taxa de intermitncia e a intensidade de cada flash parte essencial do mecanismo de atrao do sexo oposto para acasalamento. Na maioria dos casos, as fmeas que so atradas pelo brilho emitido pelos machos. Observa-se tambm que quando h uma grande quantidade de vagalumes numa mesma regio, ento h uma sincronizao na emisso dos flashes, que torna evidente uma caracterstica de organizao emergente (YANG, 2008). Mecanismos de comunicao via flashes luminescentes e sua sincronizao tem sido emulados com sucesso e sido aplicados em vrios projetos de Rede Wireless (LEIDENFROST & ELMENREICH, 2008), Dinmica de Preos de Mercado (JUMADINOVA & DASGUPTA, 2008) e robtica mvel (KRISHNANAND & GHOSE, 2006). 3.1 O algoritmo Firefly

Para a implementao do algoritmo FA, YANG(2008) definiu trs regras simplificadoras para o delineamento da execuo do algoritmo, so elas: Os vagalumes no possuem sexo, isto qualquer vagalume do enxame poder ser atrado ou atrair; A atratividade de um vagalume diretamente proporcional ao brilho emitido e inversamente proporcional distncia entre os vagalumes (esta regra baseada no comportamento real destes insetos); O brilho emitido determinado em comparao com seu valor na funo objetivo, isto , quanto melhor avaliado maior ser o seu brilho. Para entender o algoritmo FA devemos compreender como se d a variao da intensidade do brilho percebido pelo vagalume e como formulada a atratividade entre eles. Ainda segundo YANG (2008), a atratividade de um vagalume determinada pela intensidade do brilho emitido por ele, e esta intensidade funo de sua avaliao. Como a atratividade entre dois vagalumes inversamente proporcional distncia entre eles, devemos escolher uma funo decrescente, em relao distncia amplamente utilizada a seguinte funo

) entre os vagalumes. Tem sido

16 onde (quando e so parmetros pr-determinados do algoritmo: atratividade mxima e geralmente ) e coeficiente de absoro, respectivamente.

Para explorar eficazmente o espao de projetos, cada vagalume do enxame move-se iterativamente de acordo com dois fatores: i. A atratividade de outros membros do enxame com maior intensidade de luz emitida que varia de acordo com a distncia; ii. Um vetor de passo aleatrio. Assim, na -sima iterao, a movimentao de um vagalume definida pela seguinte equao: ( ) ( ) e o terceiro em

direo a um melhor vagalume

em que, o segundo termo da equao insere o fator de atratividade termo, regulado pelo parmetro

, regula a insero de certa aleatoriedade no um nmero aleatrio entre 0 e 1.

caminho percorrido pelo vagalume e

Pseudocdigo para o Algoritmo FA Dados de entrada:


( ), onde [ ( ] e ) {funo custo} {espao de projeto} {parmetros do algoritmo}

= tamanho da populao,

Dado de sada:

( )
Incio: Para fim Realizar Para Para Se ( faa

faa faa ) ( ) ento {atratividade} ( )

fim fim At que algum critrio de parada seja satisfeito

17 Fim Figura 3.1.1 Pseudocdigo de Implementao do Algoritmo FA Observao 3.1.1 Note que o melhor vagalume do enxame no movido. Podemos inserir um movimento aleatrio para ele e caso no melhore o valor da funo objetivo, o movimento descartado. Observao 3.1.2 De acordo com o pseudocdigo acima, um vagalume segue o primeiro vagalume que seja mais brilhante do que ele (melhor avaliado na funo objetivo) e no o melhor vagalume da populao. Isto faz com que haja uma maior diversidade na populao de vagalumes, pois se todos seguissem o vagalume de brilho mais intenso, a populao se estagnaria em poucas geraes. 3.2 Alguns Detalhes Tcnicos Cada vagalume do enxame explora o espao de projeto levando em considerao resultados obtidos por outros vagalumes e tambm aplicam seus movimentos ao acaso. A influncia de outros vagalumes se deve ao fator de atratividade. Este movimento que leva em considerao os resultados do enxame pode ser ajustado pela modificao de dois parmetros:

O valor da atratividade mxima

O valor do coeficiente de absoro .

O primeiro parmetro descreve a atratividade quando dois vagalumes encontram-se no mesmo ponto do espao de projetos. Em geral escolhe-se
, - e dois casos extremos devem ser analisados. Quando , no

consideramos o comportamento social dos vagalumes e consideramos apenas o movimento aleatrio. Quando
, equivalente ao sistema de crdito total nas

informaes dadas pelo enxame onde o vagalume mais brilhante influencia totalmente no movimento dos outros vagalumes, especialmente os que esto na sua vizinhana. O valor do coeficiente de absoro determina a variao da atratividade corresponde a

em funo da distncia entre dois vagalumes. A utilizao de

uma atratividade constante entre os vagalumes e valores altos para o coeficiente de absoro , resultam na atratividade tendendo a zero que equivalente a uma busca apenas aleatria por parte dos vagalumes. YANG (2008) prope
, -

18 No entanto, mais conveniente estipular o valor de para cada problema

considerado. Alguns autores sugerem a atualizao do coeficiente de absoro a cada iterao. Podemos sugerir o valor de atravs da seguinte expresso:

ou

considerando que

-e

na -sima iterao. podemos

No caso da atualizao do valor do coeficiente de absoro

observar que medida que a populao se torna mais uniforme, o valor do coeficiente aumenta e a partir deste aumento o algoritmo FA considera mais os movimentos aleatrios dos vagalumes. Finalmente vamos descrever o vetor de passo aleatrio. Muitos autores utilizam como vetor de passo aleatrio o seguinte vetor ( onde ( ) um

) um nmero aleatrio com distribuio uniforme e

parmetro inicial do algoritmo. Podemos sugerir uma nova forma de calcular o vetor de passo aleatrio para o FA dependendo dos limites inferior e superior do espao de projetos: { onde os , -. ( ( ) ) ( ( ) )

so nmeros aleatrios uniformemente distribudos no intervalo

19

Captulo 4
_________________________________ Otimizao por Colnia de Bactrias (Bacterial Foraging Optimization - BFO)
O algoritmo de Otimizao por Colnia de Bactrias (do Ingls Bacterial Foraging Optimization BFO) um algoritmo baseado na inteligncia de enxames e inspirado no comportamento das bactrias Escherichia Coli (E. Coli) na busca por nutrientes e foi proposto em 2001 pelo Prof. Kevin Passino (PASSINO, 2002). Bactrias possuem a caracterstica de migrarem para reas ricas em nutrientes e o mecanismo utilizado por elas para este movimento chamado de Quimiotaxia. Muitas bactrias possuem uma srie de flagelos rotativos em sua superfcie celular que funcionam como propulsores do movimento realizado por elas. Quando todos os flagelos movem-se no sentido anti-horrio eles impulsionam a clula em um movimento helicoidal e quando se movem no sentido horrio todos eles puxam a bactria em diferentes direes aleatrias, com deslocamento muito pequeno. Tais movimentos justificam-se como uma estratgia da bactria para aumentar as chances de encontrar uma regio tima. Como a mobilidade das bactrias E. Coli dependem da agregao quimiottica, razovel esperar que a populao das bactrias dependa da quantidade de nutrientes ofertada (disponvel). Em um ambiente favorvel, a reproduo das bactrias se d atravs do processo de fisso binria. Neste

20 processo o DNA replicado antes da diviso e, em seguida, a parede celular e a membrana plasmtica crescem para dentro, dividindo a clula em duas idnticas. Pensando computacionalmente, o objetivo do algoritmo BFO emular um percurso aleatrio com certa tendncia para cada bactria, que deve dirigir-se para a maior quantidade de nutrientes evitando substncias nocivas. De acordo com ALI & MAJHI (2006), o comportamento de busca de uma colnia de bactrias E. Coli pode ser delineado pelos seguintes processos: Quimiotaxia; Aglomerao (Swarming); Reproduo; Eliminao e Disperso.

A seguir apresentaremos as notaes que utilizaremos para a definio do algoritmo BFO. Aps a definio das notaes, faremos uma apresentao detalhada de cada um dos processos citados acima e ao final apresentaremos um Pseudocdigo para o algoritmo de Otimizao BFO. 4.1 Notao Utilizada

necessrio definir uma notao para que possamos entender os processos e o algoritmo BFO. A seguir apresentamos a notao referente aos parmetros do algoritmo. Seja (

: dimenso do espao de busca; : nmero total de bactrias na colnia; : nmero de etapas da Quimiotaxia; : nmero de nados das bactrias; : nmero de reprodues; : nmero de eventos de eliminao e disperso; : probabilidade de eliminao e disperso; ( ) : tamanho do passo na direo aleatria especificada pelo giro. ) * ( ) + a posio de cada bactria da -sima etapa de reproduo e no -

populao na -sima etapa quimiottica,

21 simo evento de eliminao e disperso. Usaremos ( denotar o custo da -sima bactria 4.2 Quimiotaxia A Quimiotaxia o movimento quimicamente dirigido que desenvolvem alguns seres vivos. Este movimento dirigido e as substncias qumicas envolvidas nele so utilizados por alguns organismos unicelulares, insetos, mamferos e at mesmo pelo homem, com diversos fins, como por exemplo, na busca por nutrientes, a fim de evitar predadores, para gerar comunicao entre indivduos na formao de colnias ou grupos, para atrao sexual ou mesmo a demarcao de territrio (MURRAY, 2002). Alm desta definio, na literatura o termo quimiotaxia referido ao movimento celular em resposta a gradientes de concentrao de qumicos presentes em um determinado ambiente. A bactria E. Coli movimenta-se de duas formas principais: nadar (swin) ou girar (tumble). No nado a bactria move-se em uma direo especfica, enquanto no giro ela no possui uma direo certa de movimento e h pouco deslocamento. Em geral as bactrias alternam estes dois tipos de movimento durante toda a sua vida. Vamos definir o passo quimiotxico para o algoritmo BFO da seguinte forma: um nado seguido por um giro ou um giro seguido por um nado. O movimento quimiotxico de uma bactria ( onde ) ( ( ) ) pode ser expresso por: () () () () -. ( ) . ) . ( )/ para

indica um vetor aleatrio cujos elementos esto no intervalo , 4.3 Aglomerao (Swarming)

Este processo descreve a capacidade que muitas bactrias tm de comunicar-se umas com as outras com o objetivo de cooperar na busca por nutrientes. Foi observado que quando algumas bactrias foram estimuladas com um alto nvel de succinato, liberam um aspertato atrativo, que as ajudam a agregar-se em grupos e assim mover-se com padres concntricos de enxames com alta densidade bacteriana.

22 Para considerar este processo de atrao entre as bactrias necessrio inserir uma penalidade baseada nas distncias relativas entre cada bactria e a bactria mais saudvel do enxame. Esta penalidade includa na funo custo original. Quando todas as bactrias convergem para um ponto especfico, a

penalidade tende a zero. A representao matemtica (penalidade) para o swarming considerando a sinalizao entre as bactrias via um atrator e um repulsor pode ser expressa por:

))

) )]

[ onde , , e

) )]

so coeficientes que devem ser

escolhidos adequadamente. Vamos entender o que significa cada um destes coeficientes: a profundidade do atrator liberado pela bactria, isto , uma quantificao de quanto atrator liberado; uma medida de largura do sinal atrator, isto , uma quantificao da taxa de difuso qumica; A clula tambm repele uma clula prxima no sentido de que consome nutrientes prximos e sicamente impossvel haver duas clulas na mesma posio, assim altura do efeito repulsor e do sinal repulsor. Um valor negativo de indica que a bactria est em um lugar promissor, a

uma medida da largura

isto , em um lugar com bastante nutrientes. Um valor nulo indica um ambiente neutro e um valor positivo de indica um ambiente nocivo bactria. Assim, o

custo de uma bactria , considerando o efeito do swarming, pode ser dada por:

(
4.4 Reproduo

))

23 Aps vrias etapas de quimiotaxia, as bactrias so separadas em dois grupos de tamanhos iguais. O primeiro grupo o das bactrias mais saudveis e o segundo grupo o das menos saudveis. As menos saudveis morrem e as mais saudveis se dividem em duas de mesma localizao, permanecendo constante o nmero de bactrias da colnia. A sade da bactria seguinte forma ( ) ( ( )) ( ) calculada da

onde a sade de uma bactria medida pela quantidade de nutrientes que ela conseguiu se alimentar em toda a sua vida e o quanto foi bem sucedida em evitar substncias nocivas. 4.5 Eliminao e Disperso

Mudanas graduais ou repentinas no ambiente onde vivem as bactrias, podem acontecer por diversas razes, como por exemplo, o aumento significativo da temperatura local que pode causar a morte de muitas bactrias. Estes eventos podem acontecer de tal forma que todas as bactrias da colnia sejam mortas ou um grupo disperso para outro local. Para simular este fenmeno, algumas bactrias so destrudas de forma aleatria, com uma pequena probabilidade, enquanto novos substitutos so inicializados aleatoriamente no espao de busca. Este processo colabora na reduo da probabilidade do algoritmo ficar preso em um mnimo local. 4.6 Pseudocdigo do Algoritmo BFO

A seguir apresentamos um pseudocdigo de implementao do algoritmo BFO. Pseudocdigo para o Algoritmo BFO Dados de entrada: ( ), onde , , ( , ); [ ] ; , ,

{parmetros do algoritmo}

Dado de sada:

24

( )
Incio: Para fim Realizar Enquanto Para Para faa

faa faa Para faa Calcule ( ) incluindo Realize o deslocamento ( ) ( ) ()

() () ()

fim Calcule a sade de cada bactria Elimine a metade das bactrias com menor a sade Duplique as bactrias com maior sade fim Para cada bactria realize a eliminao-disperso com certa probabilidade fim _fim____________________________________________________________ Figura 4.6.1 Pseudocdigo de Implementao do Algoritmo BFO

25

Captulo 5
_________________________________ LifeCycle (LC)
O algoritmo denominado Life Cycle (LC) um mtodo hbrido heurstico de otimizao que utiliza vrios outros mtodos heursticos de otimizao na sua execuo. Este mtodo baseado no conceito de mudana de ciclos(estgios) durante a vida de qualquer ser vivo. Foi proposto inicialmente por KRINK & LOVENBERG (2004) onde estes autores utilizaram um mix das heursticas PSO e GA para representar cada estgio do Life Cycle. Os mtodos heursticos de otimizao mais famosos j foram utilizados, com sucesso, por pesquisadores em engenharia e outras reas do conhecimento do mundo inteiro. Em geral, estes mtodos se mostraram eficientes na tarefa de otimizao em vrias aplicaes. A ideia do mtodo LC utilizar o que cada heurstica, usado como ciclo ou estgio de vida, tem de melhor como ferramenta de otimizao. Outro fator interessante do LC que ele pode evitar a estagnao, ou convergncia prematura para um timo local, de uma heurstica quando somente esta aplicada a uma populao, pois, antes que a populao se estagne, outra heurstica entra em ao na populao atual que outra heurstica obteve. Isto melhora a diversidade da populao de solues. O algoritmo Life Cycle um algoritmo de otimizao que usa, sequencialmente, vrias heursticas em uma estrutura tipo cascata. Para a implementao do LC faz-se necessrio definir a quantidade de geraes que compe cada ciclo, sendo que aps o encerramento deum ciclo, outra heurstica atua sobre a populao na tarefa de otimizao. O tamanho de cada ciclo o nico parmetro especfico do LC, os outros parmetros utilizados so os parmetros de cada heurstica que atua no LC.

26 No h uma regra rgida no procedimento de otimizao via Life Cycle. Outra forma de aplicao pode ser feita da seguinte maneira: cria-se randomicamente uma populao e esta dividida em algumas subpopulaes; em cada subpopulao atua uma heurstica e aps o trmino do intervalo de estgio, realize-se a mudana de aplicao das heursticas sobre as subpopulaes. A tendncia que cada subpopulao convirja para timo do problema. Agindo desta forma, podemos explorar melhor o espao de projetos, mas o preo a ser pago por isto o aumento significativo do custo computacional. Alguns autores tem utilizado o Life Cycle como algoritmo de otimizao. VIANA et al. (2009) usaram o LC no estudo de estabilidade longitudinal e identificao de parmetros de controle em aeronaves. ROJAS et al. (2007)

usaram o LC na identificao de foras externas em sistemas mecnicos. A seguir apresentamos a figura de um esquema para a utilizao do LC.

Figura 5.1 Esquema de aplicao do algoritmo Life Cycle Reproduzido de VIANA(2008)

27

Captulo 6
_________________________________ Otimizao Multi-Objetivo
Neste captulo vamos dissertar sobre a teoria da otimizao multi-objetivo. No temos a pretenso de esgotar o assunto e sim de explanar sobre as principais caractersticas e definies sobre este assunto. Devido a crescente necessidade de mercado na busca de solues que envolvem problemas de otimizao com mais de um objetivo, a academia tem se envolvido bastante, nos ltimos anos, na criao e validao de metodologias para resolver problemas multi-objetivos, multicritrios ou de otimizao vetorial (SCHAFFER, 1984; DEB, 2001; BABU et al., 2005; LOBATO, 2008). Problemas de Otimizao em Engenharia possuem dificuldade inerente da rea, pois vivenciam situaes reais e cada vez mais complexas. So constitudos de sistemas de equaes algbricas e diferenciais (parciais e ordinrias) que surgem a partir de balanceamentos de massa e energia. Em geral so problemas restritos, pois possuem restries econmicas, ambientais, de limitaes fsicas, etc. Outro ponto importante no tratamento de Problemas de Otimizao MultiObjetivo (POMO) que, em quase sua totalidade, impossvel a obteno de soluo analtica de problemas reais. Existem diferenas significativas entre problemas com um nico objetivo e problemas com mais de um objetivo. As principais so: i. A conceituao de timo para os problemas mono e multi-objetivo. Em problemas mono-objetivos o timo um ponto do espao de projetos que minimizam (maximizam) a funo objetivo. Em POMO muitas vezes os objetivos so conflitantes, isto , a melhora em um objetivo pode acarretar na piora de outro (DEB, 2001).

28 ii. Em problemas mono-objetivos existe o valor timo global. J em problemas multi-objetivos existe um conjunto de solues

igualmente timas que visam preservar a diversidade de solues, sendo que no possvel dizer que uma soluo melhor que outra. No h um consenso sobre o conceito de timo para um POMO. Isto dificulta a comparao de resultados de um mtodo para outro. A noo de timo para POMO devida a um economista ingls Francis Ysidro Edgeworth (EDGEWORTH, 1881) e posteriormente aprimorada por outro economista, mas agora francs, chamado Vilfredo Pareto (PARETO, 1986). A noo de timo segundo Edgeworth-Pareto que um ponto para estar na soluo de um POMO deve satisfazer a condio de que nenhum critrio utilizado pode melhorar a soluo sem piorar pelo menos outro critrio. Hoje em dia o postulado de Edgewort-Pareto mais conhecido na literatura por postulado de Pareto e fornece para POMO no uma nica soluo, mas um conjunto de solues denominadas no dominadas ou no inferiores. No que diz respeito s metodologias para a obteno de solues em POMO existem, como no caso mono-objetivo, mtodos Determinsticos e mtodos Heursticos. Os mtodos determinsticos so baseados no clculo e as tcnicas mais famosas podem so descritas na figura 1.4. Os mtodos heursticos so mtodos baseados fenmenos da natureza e esto entre os mais usados pelos pesquisadores os Algoritmos Genticos (GA), Evoluo Diferencial (DE), Simulated Annealing (SA), Colnias de formigas (ACO), pssaros (PSO), bactrias (BFO), vagalumes (FireFly) entre outros. Os mtodos determinsticos so mtodos de busca ponto-a-ponto e por isto no possvel obter a soluo de um POMO em apenas uma nica execuo, pois a soluo de um POMO um conjunto de pontos. Alm disso, aplicaes sucessivas de mtodos

determinsticos no garantem uma boa aproximao da soluo e nem tampouco a diversidade das solues. Assim os mtodos heursticos que trabalham com uma populao de pontos consistem em metodologias mais apropriadas na resoluo de problemas e otimizao multi-objetivos, pois podem alcanar a soluo do POMO em uma nica execuo (DEB, 2001).

29 O pioneiro na implementao de um algoritmo multi-objetivo foi Schaffer que em 1984, em sua tese de doutorado, utilizou a heurstica Algoritmos Genticos em POMO (SCHAFFER, 1984). Aps o trabalho de Schaffer, vrios trabalhos de pesquisa tem sido publicados com o intuito de fornecer novas tcnicas de resoluo de POMO e tambm na aplicao das tcnicas emergentes a problemas nas mais diversas reas do conhecimento. Alm disso eventos como a Conferncia de Otimizao Evolutiva em Problemas Multi-Objetivo (Conference on Evolutionary Multi-Criterion Optimization) tem difundido bem as novas

metodologias e conceitos bem como mostrado vrias aplicaes destas novas metodologias em reas afins. Vrios pesquisadores tem se empenhado na publicao de trabalhos sobre otimizao multicritrio. LOBATO (2008) utilizou um algoritmo multi-objetivo envolvendo a heurstica Evoluo Diferencial para a soluo de problemas de projeto de sistemas em engenharia. DEB (2001) realiza, em seu livro, um estudo de otimizao multi-objetivo utilizando conceitos de otimizao evolutiva. COELHO (2004) utiliza a otimizao multi-objetivo na otimizao de projetos mecnicos. DOERNER et al. (2001) utiliza a metaheurstica Otimizao por Colnia de Formigas para um problema multi-objetivo de portflio. FANG et al. (2005) realiza um estudo comparativo de mtodos de meta-modelagem para problemas multi-objetivo de resistncia a coliso. GANDIBLEUX et al. (1997) utiliza a heurstica Busca Tabu para resolver problemas multi-objetivo combinatoriais. OSYSZKA (1984) uma referncia clssica quando se trata de otimizao multicritrio. Em sua obra so tratados problemas multi-objetivo aplicados engenharia e com programas na linguagem Fortram. 6.1 Formulao do Problema de Otimizao Multi-Objetivo

De acordo com VANDERPLAATS (1984) um problema de otimizao constitudo por: i. Funo Objetivo Define as caractersticas do sistema a ser otimizado. uma varivel dependente das variveis de projeto; ii. Variveis de Projeto So as variveis independentes que influenciam a funo objetivo e/ou as restries. Variaes dos valores destas variveis

30 provocam o aumento ou diminuio do valor da funo objetivo. Tambm so chamadas de variveis de busca ou de deciso; iii. Restries As restries so limitaes do projeto a ser otimizado. Estas podem ocorrer devido a limitaes fsicas, de construo (econmicas), ambientais entre outras. As restries determinam uma regio chamada de Espao de Projetos, que um subespao do espao onde -dimensional ,

o nmero de variveis de projeto. Podem ser de trs tipos:

Restries de Igualdade, Restries de Desigualdade e Restries Laterais. Podemos escrever, de forma compacta, um Problema de Otimizao MultiObjetivo (POMO) atravs das seguintes expresses (DEB, 2001):

Minimizar ( ) ( ) Sujeito a { ( )
onde ( ) de

( ( )

( )

( ))

(3)

(4)
( ) so as so as restries de

( ) so as funes objetivo, igualdade, e ( )

restries

desigualdade,

so as restries laterais que determinam um limite

inferior e superior, respectivamente, para as variveis de projeto. Em ( ) um problema real em engenharia, cada uma das funes ( ) poderiam ser minimizadas ou maximizadas. Mas, como j foi dito

anteriormente, no h diferena do ponto de vista matemtico, em um problema de minimizao e de maximizao. Um pode ser transformado no outro de forma simples. Assim trataremos apenas de um problema de minimizao como feito de forma corrente na literatura. A imagem do espao de projetos, via vetor de objetivos ( ), um espao -dimensional denominado de espao de objetivos.

Neste momento cabe novamente ressaltar a diferena entre otimizao mono-objetivo e otimizao multi-objetivo. As principais diferenas, segundo DEB (2001), so: Em um problema mono-objetivo a meta encontrar uma nica soluo do problema de otimizao. Em um multi-objetivo a meta

31 encontrar um conjunto de solues que visam preservar a diversidade neste conjunto de solues; Na otimizao mono-objetivo trabalha-se com apenas um espao o de projetos. No caso multi-objetivo trabalha-se simultaneamente com dois espaos: o de projetos e o de objetivos. Manter a diversidade de solues no espao de objetivos fundamental para a qualidade de solues, pois ajuda na tomada de decises pela melhor soluo. Outro detalhe importante que nem sempre possvel garantir que a proximidade de solues no espao de projetos implique na proximidade de solues no espao de objetivos. O problema de minimizao do vetor de objetivos ( ) no significa simplesmente na minimizao de cada uma das funes objetivo que compem o vetor de objetivos, pois em muitas situaes os objetivos so conflitantes, isto , a melhora em um dos objetivos pode acarretar na piora do valor de outros objetivos (DEB, 2001). A figura abaixo retrata a dificuldade na escolha da soluo tima para um caso de minimizao de dois objetivos. A escolha depender de quem responsvel pela tomada de decises que com certeza levar em considerao limitaes fsicas, econmicas, etc.

Figura 6.1.1 Problema de minimizao de dois objetivos. Reproduzido de LOBATO (2008).

32 Neste contexto multi-objetivo, definiremos o que vem a ser chamada de soluo ideal ou utpica. Definio 6.1.1 A soluo ideal ou soluo utpica o valor timo de cada objetivo individualmente. Como o prprio nome diz, em uma situao real, a soluo ideal ou utpica nunca ser a soluo tima do problema de otimizao multi-objetivo. 6.2 Otimalidade de Pareto

Nosso objetivo nesta seo definir o conceito de timo segundo Pareto. Para isto teremos que definir o conceito de dominncia de uma soluo sobre outra soluo. A maior parte dos algoritmos de otimizao multi-objetivos utilizados pelos pesquisadores trabalham com o conceito de dominncia na busca pelas solues timas (OSYCZKA, 1984). Por isto o entendimento do conceito de timo de Pareto e da definio de dominncia fundamental para entender os algoritmos de otimizao multi-objetivos. Ao contrrio do que feito para o caso mono-objetivo, onde possvel definir matematicamente a soluo tima, no caso multi-objetivo no h uma definio de soluo tima e sim um conceito (entendimento) de solues timas. Este conceito conhecido por Postulado de Edgeworth-Pareto ou mais popularmente , na literatura, por Postulado de Pareto. Foi inicialmente concebido pelo economista ingls Francis Ysidro Edgeworth (EDGEWORTH, 1881) (Figura 6.2.1(a)) e posteriormente aperfeioado pelo tambm economista, mas agora francs, Vilfredo Pareto (PARETO, 1896) (Figura 6.2.1 (b)).

(a) Francis Ysidro Edgeworth

(b) Vilfredo Pareto

33 Figura 6.2.1 Idealizadores do conceito de timo para o POMO. Reproduzido de http://www.business.baylor.edu (acessado em 15 de outubro de 2011) A noo intuitiva do postulado de Pareto que um ponto para ser soluo de um POMO deve satisfazer a condio de que nenhum objetivo adotado melhora a soluo sem piorar pelo menos um outro objetivo. Para encontrar as solues de um POMO necessrio entender quando que uma soluo melhor que outra. Isto feito via o conceito de dominncia de uma soluo sobre outra. Para entender quando que uma soluo domina outra soluo considere o seguinte problema. Em uma compra de um automvel ser levado em considerao dois objetivos: o conforto e o preo. A tarefa encontrar quais so as melhores opes de compra que levam em considerao o menor preo com o maior conforto. Nota-se intuitivamente que estes dois objetivos so conflitantes. As opes so listadas na figura 6.2.2 abaixo:

Figura 6.2.2 Opes de compra de automveis: preo versus conforto. Reproduzido de LOBATO (2008).

Atravs de uma simples anlise das opes acima podemos descartar a opo 1, pois a opo 5 possui o mesmo preo mas com maior conforto. A soluo 2 possui menor conforto e maior preo que as solues 3 e 5, logo tambm deve ser descartada. Restam apenas as opes 3, 4 e 5. No possvel

34 dizer qual das opes que restaram a melhor opo de compra, pois uma soluo pode at ser mais barata que a outra, mas possui menor conforto e viceversa. Neste contexto dizemos que uma soluo domina sobre outra se seus valores so melhores que os valores de outra em pelo menos um objetivo e se os outros valores no so piores para todos os outros objetivos. Assim a soluo 5 domina sobre as solues 1 e 2. A soluo 3 domina apenas a soluo 2. Podemos observar que as solues 3, 4 e 5 no so dominadas por nenhuma outra soluo. As solues 3, 4 e 5 so denominadas solues no dominadas ou solues no inferiores. O espao de objetivos decomposto em dois subconjuntos: o conjunto de solues dominadas e o conjunto de solues no dominadas. Estes conjuntos possuem as propriedades (DEB, 2001): Qualquer soluo do conjunto dominado deve ser dominada por pelo menos uma soluo do conjunto no dominado; Nenhuma soluo do conjunto no dominado dominada por outra soluo do conjunto no dominado. 6.2.1 Operador de Dominncia de Pareto Nesta seo definiremos um operador de comparao entre duas solues no espao de objetivos. Esta comparao serve para informar quando uma soluo domina sobre outra soluo. Como dissemos anteriormente, a maioria dos algoritmos computacionais de otimizao multi-objetivo utiliza o conceito de dominncia na busca de solues para os POMO. Como nosso objetivo escolher as melhores solues, temos que estabelecer uma relao de ordem no espao de objetivos, pois estamos interessados nos melhores valores das funes objetivo que compe o POMO. Definiremos ento relao de ordem em um conjunto. Definio 6.2.1.1 Um conjunto se dados quaisquer dois elementos ordenado segundo a relao de ordem , sempre verdade que ou

e as seguintes propriedades com relao a so verdadeiras: a) b) Se e ento (Reflexividade) (Anti-Simetria)

35 c) Se e ento (Transitividade) dito parcialmente ordenado se valem as ou com ,

Definio 6.2.1.2 Um conjunto

propriedades a), b) e c) mas nem sempre se tem isto , nem sempre os elementos de Em um conjunto so comparveis. ,

-dimensional

, possvel estabelecer

generalizaes das relaes menor ou menor ou igual definindo-se as relaes e por exemplo da seguinte maneira:

Definio 6.2.1.3 (comparao de vetores) As operaes de comparao de vetores no espao , , sero feitas da seguinte forma:

* * *
As operaes e definido da forma:

+ + +

so definidas de maneira inteiramente anloga. O operador

*
Ou seja

+ +
continua sendo complementar condio

*
Assim, a condio de desigualdade de igualdade =. Qualquer espao , com

arbitrrio, munido das operaes de

comparao de vetores definidas acima, so espaos parcialmente ordenados, pois nem sempre possvel comparar dois vetores segundo estas operaes. Aqui surge uma pergunta: possvel definir outro tipo de operao de comparao de vetores de forma que os espaos se tornem conjuntos

ordenados (no parcialmente, mas totalmente)? A resposta para esta pergunta no. SILVA (2003) realiza uma explicao bem simples, porm clara e precisa, para esta resposta. Nosso objetivo definir um operador de comparao, que ser denominado operador de dominncia, sobre o espao de objetivos (subconjunto de algum espao ) para o POMO.

36 Definio 6.2.1.4 (dominncia de uma soluo) Uma soluo uma soluo (ser representado por ( ) ( ), isto , se ( ) domina

), no espao de projetos, se as ( ) para tal que ( ). maior (no sentido

condies forem satisfeitas (no espao de objetivos): i. ; ( ) ( ), ii. ( ) ( ), isto , existe pelo menos um

ou equivalentemente ( )

A condio i) diz que em nenhum dos objetivos, a soluo

ordinrio) do que a soluo . A condio ii) diz que pelo menos um dos objetivos da soluo estritamente melhor do que o da soluo .

Assim, se as duas condies acima forem vlidas, podemos dizer que a soluo soluo . Definio 6.2.1.5 (dominncia forte de uma soluo) Uma soluo fortemente uma soluo . Definiremos agora alguns conjuntos que so importantes no estudo de um POMO. Considere os seguintes conjuntos: projetos e o conjunto denominado espao de , o espao ( ), a imagem pelo vetor de objetivos de se ( ) ( ), isto , se ( ) domina dominada pela soluo , ou que a soluo no dominada pela

( ) para

denominado espao de objetivos. Definio 6.2.1.6 O conjunto timo de Pareto de projetos o subconjunto do espao , quando

formado por todas as solues no dominadas de .

comparadas a todas as solues de

Definio 6.2.1.7 O conjunto denominado fronteira de espao de objetivos no dominadas de O conjunto

o subconjunto do

formado pelas imagens, pelo vetor , de todas as solues , isto ( ).

denominado por fronteira de Pareto, no sentido , ou

matemtico de topologia, est realmente na fronteira do espao de projetos

equivalentemente, nenhuma soluo no dominada do POMO est no interior do espao de objetivos. A seguir definiremos um conjunto localmente Pareto timo. Definio 6.2.1.8 Seja com um conjunto com a seguinte propriedade. Existe so no dominadas com

tal que todas as solues de

37 relao ao conjunto localmente Pareto timo. A figura 6.2.3 mostra exemplos da localizao da fronteira de Pareto para problemas envolvendo, minimizao e/ou maximizao de um problema com dois objetivos enquanto a figura 6.2.4 mostra um exemplo de um conjunto localmente Pareto timo. . Ento o conjunto ser denominado de conjunto

Figura 6.2.3 Exemplo de fronteiras de Pareto para dois objetivos. Reproduzido de Lobato (2008).

38

Figura 6.2.4 Exemplo de conjunto de Pareto localmente timo. Reproduzido de LOBATO (2008). 6.3 Metas para problemas de Otimizao Multi-Objetivo

Sabemos que um fator importante para o responsvel pela tomada de decises que as solues encontradas por um algoritmo multi-objetivo sejam bem diversificadas, isto , bem espalhadas no espao de solues. Solues bem prximas, no espao de objetivos, a princpio podem ser consideradas iguais do ponto de vista de escolha para a execuo de um projeto real de engenharia. Assim, faz-se necessrio o controle da diversidade de solues em um algoritmo de otimizao multi-objetivo. Outro fator, que logicamente importante, a convergncia do algoritmo. Segundo DEB (2001) a qualidade de um algoritmo na resoluo de um POMO se basicamente atravs do alcance da qualidade das metas: convergncia e diversidade. A figura 6.3.1, abaixo, mostra exemplos de distribuies das solues sobre a Fronteira de Pareto.

39

Figura 6.3.1 Distribuio de solues sobre a Fronteira de Pareto. Reproduzida de LOBATO (2008). Uma meta sobre a distribuio de solues especfica de problemas de otimizao multi-objetivo, enquanto que a convergncia comum para qualquer problema de otimizao (ZITZLER et al., 2001). Segundo DEB (2001) para avaliar o desempenho de um algoritmo multi-objetivo, importante que se observe a qualidade das duas metas: convergncia do algoritmo e diversidade das solues. A figura abaixo relaciona as principais metas em otimizao multi-objetivo.

Figura 6.3.2 Metas de convergncia e Diversidade. Reproduzida de LOBATO (2008).

40 No possvel afirmar que um algoritmo supera outro em qualidade observando apenas uma das mtricas acima relacionadas. importante avaliar a qualidade das duas mtricas em um teste de um algoritmo. A figura 6.3.3 (a), abaixo, mostra um caso hipottico de boa convergncia mas, m diversidade de solues enquanto o a figura 6.3.3 (b) mostra boa diversidade mas, m convergncia.

Figura 6.3.3 Convergncia versus Diversidade. Reproduzida de LOBATO (2008).

A figura abaixo retrata outras situaes. No caso da figura 6.3.4 (a) evidente que o algoritmo A melhor do que o algoritmo B. No entanto na figura 6.3.4 (b) no h como afirmar qual algoritmo melhor.

Figura 6.3.4 Comparao entre dois algoritmos hipotticos. Reproduzida de LOBATO (2008).

41 Na maioria dos casos reais, devido a sua complexidade inerente, impossvel determinar a fronteira de Pareto, isto , o conjunto soluo analtica do POMO. Como ento avaliar o desempenho de um algoritmo de otimizao multiobjetivo? A avaliao do desempenho de um algoritmo multi-objetivo se ocorre da seguinte forma. Problemas testes onde o conjunto timo de Pareto e a Fronteira de Pareto esto totalmente determinados so utilizados na avaliao do algoritmo. Se o algoritmo de otimizao multi-objetivo, aplicado sobre estes problemas, convergem e preservam boa diversidade de solues, ento se assume que estes quando aplicados a outros problemas tero desempenho similar. SCHAFFER (1984), em sua tese de doutorado, props uma grande variedade de problemas que cuja soluo analtica conhecida e, portanto so teis em testes para os algoritmos multi-objetivo. Hoje em dia, muitos algoritmos de otimizao multi-objetivo possuem a implementao de alguns recursos, testados com sucesso em vrios casos, que visam preservar a diversidade de solues. 6.3.1 Mtricas de Convergncia e Diversidade de Solues

Nesta subseo vamos descrever matematicamente as principais mtricas utilizadas para medir a qualidade de um algoritmo de otimizao multi-objetivo. Como dissemos na seo anterior, a qualidade da soluo obtida por um algoritmo medida por sua convergncia, em relao soluo analtica, e tambm pela distribuio das solues sobre a fronteira Pareto. Dividiremos as mtricas em: Mtricas de Convergncia e Mtricas de Espalhamento. 6.3.1.1 Mtricas de Convergncia

So mtricas utilizadas para medir a distncia entre o conjunto obtidas por um algoritmo e o conjunto Pareto) do POMO. 6.3.1.1 a) Taxa de Erro ( conjunto

de solues

de solues analticas (Fronteira de

) Esta mtrica conta quantas solues do . Sua expresso matemtica :

no pertencem a Fronteira de Pareto

onde

42 Tem-se que . Quanto menor for o valor de tem-se que . melhor a

convergncia do algoritmo e quando

6.3.1.1 b) Convergncia Mtrica ( ) Esta mtrica calcula a mdia aritmtica das distncias entre o conjunto de solues no dominadas obtidas o conjunto de solues analticas. expressa atravs da frmula (DEB, 2001): Onde a distncia euclidiana (no espao de objetivos) entre a soluo mais prxima. Isto e e

a soluo de

(
Quanto menor for o valor de

* (

melhor ser a convergncia do algoritmo. ) Esta mtrica tambm calcula uma e o conjunto de

6.3.1.1 c) Distncia Geracional (

mdia entre o conjunto de solues no dominadas obtidas solues analticas. Sua frmula dada por (DEB, 2001): ( Onde )

a distncia euclidiana (no espao de objetivos) entre a soluo mais prxima e , ento .

a soluo de quando

um nmero natural no nulo. Observe que

6.3.1.2 Mtricas de Espalhamento

So mtricas utilizadas para medir o quanto as solues do conjunto um algoritmo, esto espalhadas.

, obtido por

6.3.1.2 a) Espaamento (

) Esta mtrica, proposta por ZITZLER et al. . Sua

(2000), mede o quanto as solues esto espalhadas no conjunto expresso dada por . Onde ( ) /

a distncia, no espao de objetivos, entre a soluo

e a soluo em

que esteja mais prxima, isto ,

43

( )

Quanto menor for o valor do desvio, melhor espalhadas estaro as solues. ) Esta mtrica tambm foi proposta por

6.3.1.2 b) Nmero de Nichos (

ZITZLER et al. (2000). Esta mtrica calcula o nmero de nichos existentes no conjunto de solues obtidas pelo algoritmo. Sua expresso dada por: Onde ( ) a distncia entre as solues ( e ) . Esta distncia pode ser representa o e quando

calculada no espao de variveis ou de objetivos. O valor de ( )

nmero de solues cuja distncia entre si maior que o parmetro as solues e

esto no mesmo nicho. Quanto maior o nmero

de nichos

melhor espalhadas esto as solues.

6.3.1.2 c) Espalhamento Mximo (EM) Esta mais uma mtrica proposta por ZITZLER et al. (2000). Esta mtrica nos fornece a distribuio das solues no conjunto de solues matemtica dada por: ( ( ) ( )) obtidas pelo algoritmo. Sua expresso

Quanto maior for o valor de das solues sobre o conjunto .

significa que h uma melhor distribuio

6.3.1.2 d) Diversidade Mtrica ( ) Esta uma mtrica proposta por DEB, (2001) e tambm serve para medir o espalhamento das solues no conjunto de solues obtidas pelo algoritmo. dada por:

44 ( Na frmula acima, e )

representam a distncia euclidiana entre as e do conjunto de solues no e o membro mais

solues extremas da fronteira de Pareto dominadas . O nmero

a distncia entre a soluo

prximo da fronteira de Pareto

e a mdia destas distncias.

6.4 Algoritmos Heursticos de Otimizao Multi-Objetivo

Nesta seo faremos a descrio de alguns famosos algoritmos multiobjetivos evolutivos. A disponibilidade e popularidade de recursos computacionais tem fomentado o aumento de aplicaes, em problemas reais de engenharia, utilizando tcnicas de otimizao. Sem dvida as tcnicas de otimizao baseadas no processo de evoluo das espcies, principalmente os Algoritmos Genticos, foram as tcnicas mais empregadas na resoluo de problemas complexos de otimizao. Aps a publicao do famoso livro de Goldberg em 1989, os Algoritmos Genticos ganharam enorme notoriedade entre

pesquisadores do mundo inteiro e passaram a ser a tcnica de otimizao mais empregada desde ento (GOLDBERG, 1989). No contexto multi-objetivo, o primeiro algoritmo baseado em Algoritmos Genticos foi o algoritmo proposto por SCHAFFER (1984) denominado VEGA Vector Evaluated Genetic Algorithm. A partir de ento vrios algoritmos baseados em tcnicas evolutivas foram propostos. Dentre os mais famosos, em ordem cronolgica, podemos destacar: MOGA Multi Objective Genetic Algorithm (FONSECA and FLEMING, 1993); NPGA Niched Pareto Genetic Algorithm (HORN et al., 1994); NSGA Nondominated Sorting Genetic Algorithm (SRINIVAS and DEB, 1994); SPEA Strength Pareto Evolutionary Algorithm (ZITZLER and THIELE, 1998); PESA Pareto Envelope-based Selection Algorithm (CORNE et al., 2000; CORNE et al. 2001); PAES Pareto-Archived Evolution Estrategy (KNOWLES and CORNE, 2000); NSGA II Nondominated Sorting Genetic Algorithm II (DEB et al., 2000); PMOGA Pareto Multi-objective Genetic Algorithm (CASTRO, 2001); DMOEA Dynamic Multi-objective Evolutionary Algorithm (YEN and LU, 2003); MOGA I1 Multi-objective Genetic

45 Algorithm (SILVA, 2004); PAMUC Preferences Applied to Multiobjectivity and Constraints (COELHO, 2004). Conforme descrevemos anteriormente, na literatura existem vrios algoritmos de otimizao multi-objetivos que foram testados e tiveram sua eficincia aprovada por pesquisadores das mais diversas reas em todo o mundo. O que diferencia um algoritmo evolutivo de otimizao multi-objetivo de outro so os mecanismos que cada um utiliza para encontrar a aptido das solues, o mecanismo de elitismo e a diversidade das solues. Neste contexto apresentaremos alguns algoritmos evolutivos ressaltando as estratgias utilizadas por eles para a realizao dos mecanismos mencionados. 6.4.1 MOGA ( Multi-Objective Genetic Algorithms)

Este algoritmo foi proposto por FONSECA and FLEMING (1993) e utiliza o conceito de dominncia e diversidade para as solues obtidas em cada gerao. O ranking de uma soluo calculado pela equao:

onde

o nmero de solues que dominam a soluo

. Assim, as solues

que so no-dominadas possuem ranking 1 e o valor mximo para o ranking no ultrapassa o tamanho da populao ( ).

A prxima etapa realizada pelo MOGA o ordenamento das solues quanto ao valor do ranking. Um mesmo valor de aptido , denominado aptido mdia, atribudo s solues de mesmo ranking e as solues melhores ranqueadas possuem valores maiores de aptido, para que seja garantido o mecanismo de elitismo na seleo dos indivduos. Para garantir a diversidade entre as solues no-dominadas, usado o conceito de nichos em cada ranking. Aps obtidos os nichos, calcula-se um novo valor de aptido. Este valor denominado aptido compartilhada e calculada para todas as solues em cada ranking. Aps isto, este valor multiplicado por um fator de escala: ( )
( )

46 onde ( ) o nmero de solues no ranking . Aps calculada a aptido, pela

ltima frmula, o MOGA realiza as operaes usuais de um algoritmos gentico: seleo, cruzamento e mutao. Tambm usado o conceito de contador de nicho no MOGA. Para cada soluo , o contador calculado atravs da frmula:
( )

( onde

( )

( )

) e que possuem o mesmo

a distncia euclidiana entre as solues e

valor de ranking,

so os valores mximo e mnimo, respectivamente, foi proposta por GOLDBERG (1989)

para a -sima funo objetivo. A funo

e chamada de funo de compartilhamento. definida por: ( ) { ( )

O valor do parmetro compartilhamento e

define como ser o comportamento da funo de

denominado raio de nicho. Este raio define uma ,

regio em torno de uma soluo, sendo que solues que satisfazem esto em nichos diferentes e de nicho, maiores valores de ( )

. De acordo com a definio do contador

significam mais solues dentro do mesmo pela equao:

nicho. Calcula-se a aptido compartilhada de cada soluo

De acordo com a frmula anterior, solues que esto em nichos menos ocupados possuiro valores de aptido compartilhada maiores. Isto influencia no mecanismo de diversidade. A seguir destacamos a estrutura do Algoritmo MOGA: Estrutura do Algoritmo MOGA Dados de entrada: Tamanho da Populao ( ) e Parmetro de Compartilhamento( ) Passos i. Gerao da Populao Inicial; ii. Inicializar os contadores ( ) , para todos os rankings;

47 Realizar at que extrapole o nmero de geraes. iii. Calcular o valor de para todas as solues ; iv. Incrementar ( ); Incio de um lao para calculo da aptido final v. Ordenar a populao de forma descrescente em relao aos valores de . Identificar ( ). Calcular, para cada soluo, um valor de aptido mdia. Fazer ; vi. Para cada soluo com , calcular ; vii. Calcular a aptido final; viii. Se , fazer e voltar ao passo vi. ; Fim do lao ix. Realizao das operaes usuais dos AG; x. Substituio da Populao; xi. Volta ao passo iii. Dados de sada: _________________________________________________________________ Figura 6.4.1 Estrutura do Algoritmo MOGA Segundo DEB (2001) o algoritmo MOGA o valor de aptido para as solues facilmente calculado, ajudando assim na eficincia computacional do algoritmo e segundo COELHO (2003) o MOGA possui melhor desempenho que outros algoritmos no elitistas. Conforme podemos observar nos clculos das aptides, no necessariamente, solues com alto valor de ranking pior valor de aptido que solues com podem ter

mais baixo. Isto acontece quando baixo, sendo o valor

existem muitas solues, prximas entre si com valor de

de contador de nicho alto neste caso e, portanto aptido compartilhada baixa. Isto mostra um ponto negativo do MOGA, o processo de seleo no bom e portanto pode haver dificuldade na convergncia. 6.4.2 NPGA ( Niched Pareto Genetic Algorithms)

O NPGA tambm um algoritmo que fundamentado no conceito de no dominncia da sua populao e foi proposto por HORN et al. (1994). Neste algoritmo no faz-se necessrio calcular a aptido das solues para uma posterior seleo dos mais aptos para reproduo. Neste algoritmo realizado um mecanismo de seleo por torneio denominado Torneio de Pareto. Neste mecanismo, duas solues potenciais, escolhidas aleatoriamente na populao,

48 so comparadas com um subconjunto da populao. Assim podem haver apenas as seguintes situaes: A soluo domina todas solues do subpopulao S e a soluo

dominada por alguma soluo de S, ento a soluo soluo a vencedora se domina S e se

vence o torneio. A

dominada por alguma

soluo de S; Pode ocorrer de nenhuma das solues dominarem S, ou que pelo menos uma soluo em S domine e . Assim calcula-se o contador de nicho e

escolhe-se a soluo vencedora. O clculo do nicho feito sobre a nova populao filha gerada ( ). Assim no incio do processo, no possui nenhuma soluo e, portanto o clculo de

nicho no realizado e caso haja empate entre as solues, a soluo vencedora escolhida de forma aleatria. Cada par de solues vencedoras gera um par de solues filhas e estas so includas no conjunto . A partir da primeira gerao,

o clculo de nicho pode ser realizado de forma anloga ao processo descrito no algoritmo MOGA. A seguir destacamos a estrutura do Algoritmo NPGA: Estrutura do Algoritmo NPGA Dados de entrada: Tamanho da Populao ( Tamanho do torneio ( ) e Parmetro de Compartilhamento( ) ),

), Gerao atual ( ), Mximo de Geraes(

Passos i. Gerao da Populao Pai Inicial e da populao filha vazia; Lao para realizao do Torneio. ii. Fazer ; iii. Fazer ; iv. Realizar a seleo pelo Torneio de Pareto nos indivduos e e o ganhador ser o pai . Fazer ; v. Realizar a seleo pelo Torneio de Pareto nos indivduos e e o ganhador ser o pai ; vi. Realizar o cruzamento entre e gerando os filhos e ; vii. Aplicar o operador de mutao; viii. Atualizar a populao filha * , +; ix. Fazer x. Se voltar ao passo iv. Seno terminar torneio.

49 xi. Misturar a populao pai populao filha formando uma nova populao pai; xii. Fazer ; xiii. Se terminar. Seno * +, e voltar ao passo iii. Dados de sada: _________________________________________________________________ Figura 6.4.2 Estrutura do Algoritmo NPGA A principal vantagem do algoritmo NPGA o fato dele no necessitar calcular um valor de aptido para as solues (DEB, 2001). Quando o parmetro tamanho do torneio pequeno (quando comparado ao tamanho da

populao), o operador de seleo por Torneio de Pareto realiza poucas comparaes e portanto torna o algoritmo eficiente no quesito tempo computacional. A desvantagem a incorporao dos termos e .

6.4.3 NSGA II ( Non-Dominated Sorting Genetic Algorithms)

Este com certeza um dos algoritmos mais famosos entre os algoritmos multiobjetivo. O algoritmo NSGA II uma extenso do algoritmo NSGA e foi proposto por DEB et al. (2000). Utiliza, como muitos outros, o conceito de dominncia para realizar um ordenamento das suas solues para posterior seleo elitista. Trabalha com uma populao pai e uma populao filha . A populao inicial

ordenada por no dominncia e a aptido de cada soluo igual ao seu valor de no dominncia. Atravs dos operadores convencionais dos AG (seleo por torneio, cruzamento e mutao) obtida uma populao filha , de mesmo

tamanho da populao pai. Em seguida realiza-se a unio entre as populaes pai e filha em um mesmo conjunto com uma populao . Na -sima gerao o NSGA II trabalha ). A

com o dobro do tamanho da populao inicial (

prxima etapa do NSGA II o ordenamento por no dominncia das solues. Obtm-se subconjuntos ordenados populao pai atual em que sero inseridos na prxima

. Como observamos anteriormente, o tamanho da populao e somente solues podem ser inseridas na prxima

gerao pai. Assim solues do conjunto

solues devem ser descartadas. Insere-se primeiro as , depois do e assim sucessivamente, at alcanar o

50 nmero de solues , sendo que possivelmente algumas solues devero

ser descartadas. A figura, abaixo, mostra uma representao do esquema descrito acima.

Figura 6.4.3 Esquema de Elitismo no NSGA II Reproduzido de LOBATO (2008)

As solues contidas nos conjuntos que

devem ser inseridas em

at

. Com certeza vamos ter o primeiro (esto ordenados por tal que | | . Quando isto acontecer o

no-dominncia) conjunto

algoritmo NSGA II implementa um mtodo chamado de distancia de multido para selecionar as solues de que estejam melhor espalhadas.

Este mecanismo de corte de solues, ou melhor, de escolha das melhores solues (no sentido de diversidade) consiste em ordenar decrescentemente o conjunto em relao s suas distncias, e inserindo as primeiras . , calculado para cada

solues em

O operador denominado distncia de multido soluo em

, uma estimativa do permetro do cuboide formado pelos

vrtices de seus dois vizinhos mais prximos. Quanto maior o valor da distncia de multido , mais afastado est a soluo dos seus vizinhos e os valores

extremos em cada objetivo tero cuboide infinito. LOBATO (2008) mostra como calcular a distncia de multido de uma soluo .

A seguir apresentamos a estrutura do Algoritmo NPGA:

51 Estrutura do Algoritmo NSGA II Dados de entrada: Tamanho Geraes( da ) Populao ( ), Gerao atual ( ), Mximo de

Passos i. Gerao da Populao Pai Inicial e da populao filha vazia; ii. Fazer ; iii. Realizar a seleo, cruzamento e mutao para gerar a populao filha . Fazer ; iv. Ordenar por no dominncia e criar * +; v. Enquanto , copiar as solues de em ; vi. Calcular a distncia de multido para cada soluo em , ordenando de acordo com a ordem decrescente de em seguida copia-se as primeiras de para ; vii. Fazer ; viii. Se ento terminar. Seno volte ao passo iii. Dados de sada: _________________________________________________________________ Figura 6.4.4 Estrutura do Algoritmo NSGA II Um dos principais fatores que levaram o NSGA II a gozar de certo prestgio entre os pesquisadores a forma que ele mantm a diversidade das solues via o operador de distncia de multido. Outro fato interessante que no h nenhum parmetro de controle como o parmetro parmetros conjunto e no MOGA e os

no NPGA. O ponto negativo do NSGA II quando o e assim o processo de corte de

possui mais elementos que

solues dever eliminar solues no dominadas. Considere, em uma situao hipottica, um caso onde e existam vrias solues timas de Pareto

bem prximas e uma soluo, no tima de Pareto, mas tambm no dominada at o momento, que esteja um pouco mais distante. O processo de corte pela distncia de multido vai eliminar uma soluo tima de Pareto, na regio mais densa descrita anteriormente, e copiar para a soluo no dominada cujo

cuboide maior. Esta situao est ilustrada nas figuras 6.4.5 (a) e 6.4.5 (b) abaixo. Mas segundo DEB et al. (2000) este problema no afeta seriamente a convergncia do algoritmo para um conjunto de solues timas de Pareto.

52

Figura 6.4.5 Situao problema no algoritmo NSGA II. Reproduzido de LOBATO (2008).

Captulo 7
_________________________________ Problemas Testes
Neste captulo realizaremos a simulao da heurstica FireFly (otimizao por vagalumes) em alguns problemas matemticos mono-objetivo e de problemas multi-objetivo em engenharia. Os problemas matemticos mono-objetivos que

53 estudaremos, so problemas reconhecidamente difceis de encontrarmos o timo global, pois, em alguns casos possuem vrios timos locais (multimodais). Os problemas multi-objetivo a serem tratados so os famosos problemas introduzidos por ZITZLER et al. (2000) (ZDT1, ZDT2, ZDT3 e ZDT4). 7.1 Problemas Teste

Os primeiros trs problemas so mono-objetivos e podem ser encontrados em KOSIEL & MICHALEWICZ (1999) e foram escolhidos devido dificuldade obvia, observada pelos grficos e pelas suas expresses analticas, de serem otimizadas. Os outros quatro problemas so problemas multi-objetivos clssicos e foram extrados de LOBATO (2008). Os problemas multi-objetivos foram apresentados originalmente por ZITZLER et al. (2000). Por terem soluo analtica conhecida, so muito empregados na literatura na validao de novos algoritmos propostos. So conhecidos pela denominao ZDT1, ZDT2, ZDT3, ZDT4, ZDT5 e ZDT6. Faremos um estudo dos quatro primeiros problemas. Todos casos multi-objetivo tem-se que as variveis so definidas no intervalo ( limitada a cinco. 7.1.1 Problema Teste 1 ) e o nmero de variveis

Minimizar

)
Este um problema sem restries. A funo acima conhecida na

literatura como funo Haupt & Haupt (HAUPT & HAUPT, 1998). Podemos observar atravs do grfico funo mnimo ( ) locais ( e um ) com nico ( , abaixo, que esta possui vrios pontos de ponto ) de mnimo . global, o ponto

54

Figura 7.1.1 - Grfico da funo do problema teste 1 7.1.2 Problema Teste 2

Minimizar

( (

) )

Sujeito s seguintes restries laterais

Podemos observar pelo grfico da funo ( )

, abaixo, que esta apresenta ), com

um nico mnimo global. Este ponto de mnimo global o ponto (

. Este um belo exemplo para mostrar que mtodos de otimizao

determinsticos, s vezes, na funcionam to bem. O grfico desta funo quase plano numa regio muito grande e tambm plana prximo ao timo global. Por isto, mtodos que utilizam a informao da derivada no funcionam para esta funo.

55

Figura 7.1.2 Grfico da funo do problema teste 2 7.1.3 Problema Teste 3

Minimizar

Sujeito s seguintes restries laterais

A funo

, a ser minimizada, apresenta vrios timos locais(mais de


. Abaixo apresentamos o grfico da

cinquenta) e um mnimo global igual a funo teste trs:

56

Figura 7.1.3 Grfico da funo do problema teste 3 7.1.4 Problema Teste 4

O problema ZDT1 dado pelas seguintes expresses: ( ) ( ) )) ( ) ( )

{ ( ( ) (

A regio tima de Pareto, no espao de projetos, a seguinte regio: ( )e .

Nosso objetivo encontrar a soluo tima (Curva de Pareto) do seguinte problema com dois objetivos e com cinco variveis de projeto: ( ) (

( ( ) (

))

57 7.1.5 Problema Teste 5

O problema ZDT2 dado pelas funes: ( ) ( { ( ( ) ( ) )) ( ( ) ( ))

A regio tima de Pareto, no espao de projetos, tambm corresponde a regio: ( )e , mas, neste caso, a fronteira de Pareto

no convexa. Nosso objetivo encontrar a soluo tima (Curva de Pareto) do seguinte problema com dois objetivos e com cinco variveis de projeto: ( ) (

( ( ) (

))

7.1.6 Problema Teste 6

O problema ZDT3 dado pelas funes: ( ) ( ) )) ( ) ( ) ( ( ) ) ( ))

( ( ) (

A regio tima de Pareto, no espao de projetos, tambm corresponde a regio: ( )e , mas, neste caso, a fronteira de Pareto

no convexa. Nosso objetivo encontrar a soluo tima (Curva de Pareto) do seguinte problema com dois objetivos e com cinco variveis de projeto:

58 ( ) (

( ( ) (

))

7.1.7 Problema Teste 7

O problema ZDT4 dado pelas funes abaixo. Possui uma grande quantidade de timos locais (cerca de ). Assim este problema um grande desafio para

qualquer algoritmo de otimizao global. ( ) ( ) ( ) ( ( ) ( ) ( ))

( ( ) (

))

A regio tima de Pareto, no espao de projetos, tambm corresponde a regio: ( )e , mas, neste caso, a fronteira de Pareto

no convexa. Nosso objetivo encontrar a soluo tima (Curva de Pareto) do seguinte problema com dois objetivos e com cinco variveis de projeto: ( ) (

( ( ) (

))

Captulo 8
_________________________________ Resultados e Discusso

59 Neste captulo apresentaremos os resultados e discusses para os sete problemas descritos no captulo anterior. Os primeiros trs problemas so monoobjetivo e os ltimos quatro so multi-objetivo. A meta Heurstica utilizada na simulao de todos os problemas testes a emergente heurstica baseada no comportamento de uma colnia de vagalumes denominada apenas por FireFly. 8.1 Resultados e Discusso do Problema Teste 1

Em uma simulao usamos os seguintes parmetros no algoritmo FireFly: Coeficiente de atratividade mxima: ; ;

Coeficiente de absoro do brilho emitido pelos vagalumes:

Coeficiente de insero de aleatoriedade na movimentao dos vagalumes: Populao inicial: ; ; .

Nmero mximo de iteraes:

O resultados obtidos para esta simulao foram: Variveis de Projeto ( ( ) ( )) Valor da Funo Objetivo Avaliaes da Funo Objetivo 8.2 ( ; . ); ( ( ) ( ))

Resultados e Discusso do Problema Teste 2

Em uma simulao inicial usamos os seguintes parmetros no algoritmo FireFly: Coeficiente de atratividade mxima: ; ;

Coeficiente de absoro do brilho emitido pelos vagalumes:

Coeficiente de insero de aleatoriedade na movimentao dos vagalumes: Populao inicial: ; ; .

Nmero mximo de iteraes:

Os resultados obtidos para esta simulao foram: Variveis de Projeto ( ( ) ( )) Valor da Funo Objetivo Avaliaes da Funo Objetivo ( ; . ); ( ( ) ( ))

60 Podemos observar que os valores obtidos na simulao do algoritmo FireFly conferem com os valores da literatura para esta funo especfica. Queremos agora verificar se h influncia do fator (fator de atratividade)

no nmero de iteraes necessrias para a convergncia do algoritmo. Para isto vamos variar o fator de atratividade de zero a um em um passo de variao igual a 0.1. Os outros fatores foram mantidos constantes e iguais aos da simulao para o primeiro caso. O critrio de convergncia utilizado a obteno de cinco casas decimais iguais soluo real. Os resultados obtidos esto na Tabela 8.2.1.

Influncia do fator de atratividade no nmero de iteraes para a convergncia Fator Nmero de Iteraes 1500 1200 1000 600 600 500 500 500 330 300 250 Avaliaes da Funo Objetivo 3.970.900 3.177.200 2.642.000 1.588.550 1.588.550 1.314.650 1.314.650 1.314.650 864.350 790.700 659.350

Tabela 8.2.1 Influncia do fator de atratividade no nmero de iteraes para convergncia do algoritmo FireFly.

Pelos dados da tabela acima, que foram encontrados pela simulao do algoritmo FireFly com os parmetros informados, conclumos que h influncia do fator de atratividade no nmero de iteraes necessrias (em mdia) para a

convergncia do algoritmo. Esta concluso est em concordncia com o valor de adotado na literatura.

61 8.3 Resultados e Discusso do Problema Teste 3

Em uma simulao inicial usamos os seguintes parmetros no algoritmo FireFly: Coeficiente de atratividade mxima: ; ;

Coeficiente de absoro do brilho emitido pelos vagalumes:

Coeficiente de insero de aleatoriedade na movimentao dos vagalumes: Populao inicial: ; ; .

Nmero mximo de iteraes:

Os resultados obtidos para esta simulao foram: Variveis de Projeto ( ( ) ( ))


Valor da Funo Objetivo -

( ; .

);

( ( ) ( ))

Avaliaes da Funo Objetivo

Queremos agora verificar se h influncia do fator

(Tamanho da

Populao) no nmero de iteraes necessrias para a convergncia do algoritmo. Para isto vamos variar o tamanho da populao de dez a cento e cinquenta em um passo de variao igual a vinte unidades. Os outros fatores foram mantidos constantes e iguais aos da simulao para o primeiro caso. Os resultados obtidos esto na Tabela 8.3.1.

Influncia do tamanho da populao no nmero de iteraes para a convergncia Fator Nmero de Iteraes 1500 700 200 80 30 20 10 Avaliaes da Funo Objetivo 314.800 720.430 529.050 404.270 246.990 244.110 170.130

62 Tabela 8.3.1 Influncia do fator de absoro no nmero de iteraes para convergncia do algoritmo FireFly.

A partir dos resultados da tabela acima podemos observar que o algoritmo de otimizao por colnia de vagalumes FireFly responde bem ao aumento do tamanho da populao de vagalumes. Neste caso especfico, o nmero de variveis pequeno e o tamanho do espao de busca tambm. O aumento do nmero de indivduos da populao inicial implica automaticamente no aumento da complexidade do algoritmo e consequentemente no aumento do custo do tempo computacional, mas, neste caso, o aumento do custo computacional no foi significativo. 8.4 Resultados e Discusso do Problema Teste 4

Em nossa simulao usamos os seguintes parmetros no algoritmo FireFly:

Coeficiente de atratividade mxima:

; ;

Coeficiente de absoro do brilho emitido pelos vagalumes:

Coeficiente de insero de aleatoriedade na movimentao dos vagalumes: Populao inicial: ; ; .

Nmero mximo de iteraes:

Nas figuras 8.4.1 e 8.4.2 esto apresentados os perfis da populao inicial da nossa simulao e da curva soluo obtida para o problema ZDT1, respectivamente:

63
Generation --> 100 1 0.9 0.8 0.7

f (x , ..., x )

5 2 1

0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.4.1 Curva soluo para o problema ZDT1.

Generation Initial Population--> 1 6

f (x , ..., x )

2 1

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.4.2 Espalhamento da populao inicial de 100 indivduos

A seguir apresentaremos os resultados das mtricas de desempenho para o algoritmo FireFly. Comparamos com alguns resultados da literatura extrados de LOBATO (2008), onde o autor compara um algoritmo baseado na Heurstica

64 Evoluo Diferencial denominado MODE (Multi-Objective Differential Evolution) com o famoso algoritmo multi-objetivo baseado em Algoritmos Genticos denominado NSGA II.

Mtricas de Desempenho para o problema ZDT1 Mtrica NSGA II 0.0008 0.0006 0.4632 MODE 0.0016 0.0001 0.1988 MO-FireFly 0.00051517 0.00012215 0.8360

Tabela 8.4.3 Avaliao e Comparao das mtricas de desempenho do algoritmo MO-FireFly (MO Multi-Objective) em relao aos algoritmos NSGAII e MODE 8.5 Resultados e Discusso do Problema Teste 5

Em nossa simulao usamos os seguintes parmetros no algoritmo FireFly:

Coeficiente de atratividade mxima:

; ;

Coeficiente de absoro do brilho emitido pelos vagalumes:

Coeficiente de insero de aleatoriedade na movimentao dos vagalumes: Populao inicial: ; ; .

Nmero mximo de iteraes:

Nas figuras 8.5.1 e 8.5.2 esto apresentados os perfis da populao inicial da nossa simulao e da curva soluo obtida para o problema ZDT2, respectivamente:

65

Generation --> 100 1 0.9 0.8 0.7

f (x , ..., x )

5 2 1

0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.5.1 Curva soluo para o problema ZDT2.


Generation Initial Population--> 1 9 8 7 6

f (x , ..., x )

5 4 3 2 1 0

2 1

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.5.2 Espalhamento da populao inicial de 100 indivduos

A seguir apresentaremos os resultados das mtricas de desempenho para o algoritmo FireFly. Comparamos com alguns resultados da literatura extrados de

66 LOBATO (2008), onde o autor compara um algoritmo baseado na Heurstica Evoluo Diferencial denominado MODE (Multi-Objective Differential Evolution) com o famoso algoritmo multi-objetivo baseado em Algoritmos Genticos denominado NSGA II.

Mtricas de Desempenho para o problema ZDT2 Mtrica NSGA II 0.0008 0.0006 0.4632 MODE 0.0011 0.0001 0.1988 MO-FireFly 0.00042460 0.000048804 0.4799

Tabela 8.5.3 Avaliao e Comparao das mtricas de desempenho do algoritmo MO-FireFly (MO Multi-Objective) em relao aos algoritmos NSGAII e MODE 8.6 Resultados e Discusso do Problema Teste 6

Em nossa simulao usamos os seguintes parmetros no algoritmo FireFly:

Coeficiente de atratividade mxima:

; ;

Coeficiente de absoro do brilho emitido pelos vagalumes:

Coeficiente de insero de aleatoriedade na movimentao dos vagalumes: Populao inicial: ; ; .

Nmero mximo de iteraes:

Nas figuras 8.6.1 e 8.6.2 esto apresentados os perfis da populao inicial da nossa simulao e da curva soluo obtida para o problema ZDT3, respectivamente:

67

Generation --> 100 1 0.8 0.6 0.4

f (x , ..., x )

0.2 0 -0.2 -0.4 -0.6 -0.8

2 1

0.1

0.2

0.3

0.4 0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.6.1 Curva soluo para o problema ZDT3. Observe que as solues obtidas esto marcadas com um + azul, que est marcado juntamente com a soluo do problema que est representado na figura acima atravs de uma o (bolinha) vermelha.
Generation Initial Population --> 1 6

f (x , ..., x )

5 2 1

-1 0

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.6.2 Espalhamento da populao inicial de 100 indivduos

68 Os pontos marcados em vermelho representam a curva de Pareto do Problema ZDT3, que para este caso descontnua. A seguir apresentaremos os resultados das mtricas de desempenho para o algoritmo FireFly. Comparamos com alguns resultados da literatura extrados de LOBATO (2008), onde o autor compara um algoritmo baseado na Heurstica Evoluo Diferencial denominado MODE (Multi-Objective Differential Evolution) com o famoso algoritmo multi-objetivo baseado em Algoritmos Genticos, denominado NSGA II.

Mtricas de Desempenho para o problema ZDT3 Mtrica NSGA II 0.0434 0.0005 0.5756 MODE 0.0010 0.0001 0.2881 MO-FireFly 0.00045355 0.000059762 0.6596

Tabela 8.6.3 Avaliao e Comparao das mtricas de desempenho do algoritmo MO-FireFly (MO Multi-Objective) em relao aos algoritmos NSGAII e MODE 8.7 Resultados e Discusso do Problema Teste 7

Em nossa simulao usamos os seguintes parmetros no algoritmo FireFly:

Coeficiente de atratividade mxima:

; ;

Coeficiente de absoro do brilho emitido pelos vagalumes:

Coeficiente de insero de aleatoriedade na movimentao dos vagalumes: Populao inicial: ; ; .

Nmero mximo de iteraes:

Nas figuras 8.7.1 e 8.7.2 esto apresentados os perfis da populao inicial da nossa simulao e da curva soluo obtida para o problema ZDT4, respectivamente:

69

Generation --> 100 1 0.9 0.8 0.7


f (x , ..., x )
5 2 1

0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.7.1 Curva soluo para o problema ZDT4.

Generation Initial Population --> 1 35

30

25

f (x , ..., x )

5 2 1

20

15

10

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Figura 8.7.2 Espalhamento da populao inicial de 100 indivduos

70 A seguir apresentaremos os resultados das mtricas de desempenho para o algoritmo FireFly. Comparamos com alguns resultados da literatura extrados de LOBATO (2008), onde o autor compara um algoritmo baseado na Heurstica Evoluo Diferencial denominado MODE (Multi-Objective Differential Evolution) com o famoso algoritmo multi-objetivo baseado em Algoritmos Genticos denominado NSGA II.

Mtricas de Desempenho para o problema ZDT4 Mtrica NSGA II 0.0434 0.0002 0.5756 MODE 0.0010 0.0001 0.2881 MO-FireFly 0.00045855 0.000078133 0.7552

Tabela 8.7.3 Avaliao e Comparao das mtricas de desempenho do algoritmo MO-FireFly (MO Multi-Objective) em relao aos algoritmos NSGAII e MODE

A seguir apresentaremos uma sequncia de quadros que mostram como se d o comportamento da movimentao da populao de vagalumes na busca pela curva de Pareto com o passar das geraes. No ttulo de cada quadro ser mostrado qual o nmero exato da gerao de vagalumes que est nele representado.
Generation --> 1 60 25 Generation --> 2

50

20

40
f (x , ..., x )
f (x , ..., x )
5
5 2 1

15

30

10

20

10

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

71
Generation --> 4 6 3.5 Generation --> 6

2.5 4
f (x , ..., x )

f (x , ..., x )

5 1 2

1.5

2 1 1

0.5

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

0 0

0.1

0.2

0.3

0.4

0.5 f1(x 1)

0.6

0.7

0.8

0.9

Generation --> 7 1 0.9 0.8 0.7


f (x , ..., x )

Generation --> 8 1 0.9 0.8 0.7


f (x , ..., x )
5 2 1

0.6 0.5 0.4 0.3 0.2 0.1 0

0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

Generation --> 10 1 0.9 0.8 0.7


f (x , ..., x )

Generation --> 12 1 0.9 0.8 0.7


f (x , ..., x )
5 2 1

0.6 0.5 0.4 0.3 0.2 0.1 0

0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

72
Generation --> 15 1 0.9 0.8 0.7
f (x , ..., x ) f (x , ..., x )
5 5

Generation --> 18 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

Generation --> 21 1 0.9 0.8 0.7


f (x , ..., x ) f (x , ..., x )
5 5

Generation --> 25 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5 f1(x1)

0.6

0.7

0.8

0.9

Figura 8.7.4 Movimentao dos vagalumes ao longo de algumas geraes. Atravs dos quadros acima, notamos que a partir da dcima gerao o algoritmo j convergiu para curva de Pareto e nas geraes seguintes o algoritmo realizou a tarefa de espalhar melhor as solues sobre a curva soluo, garantindo assim uma boa diversidade das solues. A partir da vigsima gerao j no conseguimos, a olho nu, notar diferena entre as curvas solues obtida pelo algoritmo. Apenas para servir de comparao com a

centsima gerao, os valores das mtricas de desempenho para a dcima quinta gerao e so: . Assim notamos que o

trabalho realizado pelo algoritmo a partir das quinze primeiras geraes apenas

73 na questo da melhora (muito pouco) da convergncia e do espalhamento das solues.

Referncias Bibliogrficas
ALI, A.; MAJHI, S., Design of Optimum PID Controller by Bacterial Foraging Strategy. Proceedings of the IEEE International Conference on Industrial Technology (ICIT - 2006) pp. 601605. BABU, B. V., CHAKOLE, P. G., MUBEEN, J. H. S., Multiobjective differential evolution (mode) for optimization of adiabatic styrene reactor, Chemical Engineering Science, 60 (2005), 4822-4837. CASTRO, R.E. Otimizao de Estruturas com Multi-Objetivos via Algoritmos Genticos. Tese (Doutorado) Departamento de Engenharia Civil

COPPE/UFRJ, 2001. COELHO, R. F. Multi-Criteria Optimization With Expert Rules for Mecanical Design. Tese de Doutorado. Universit Libre de Bruxelles, Facult des Sciences Appliques, 2004. CORNE, D.W., KNOWLES, J.D., OATES, M.J. The Pareto Envelope-based Selection Algorithm for Multiobjective Optimization. In: Proceedings of the Parallel Problem Solving from Nature VI Conference, Springer. Lecture Notes in Computer Science. Paris France: M. Schoenauer, K. Deb, G. Rudolph, X. Yao, E. Lutton, J.J. Merelo e H.-P. Scwefel (eds), 2000. CORNE, D.W., JERRAM, N.R., KNOWLES, J.D., OATES, M.J. Pesa-ii Regionbased Selection in Evolutionary Multiobjective Optimization. In: Proceedings of the Genetic an Evolutionay Computation Conference, Morgan Kaufmann Publishers. San Francisco California: L. Spector, E. D. Goodman, A. Wu, W. Langdon, H.-M. Voigt, M. Gen, S. Sen , M. Dorigo, S. Pezeshk, M.H. Garzon e E. Burke (eds), 2001. DEB, K., AGRAWAL, S., PRATAB, A., MEYARIVAN, T.A. Fast Elitist NonDominated Genetic Algorithm for Multi-Objective Optimization: NSGA II. Kanpur India, 2000. DEB, K. Multi-objective optimization using Evolutionary Algorithms. John Wiley & Sons, Inc., pg.77-80 e 129-135. 2001.

74 DOERNER, K., GUTJAHR, W.J., HARTL, R.F., STRAUSS, C., STUMMER, C. Ant Colony Optimization in Multiobjective Portifolio. In: Proceedings of the 4th Metaheuristics International Conference, July 16-20, 2001, 243-248. USA: Souza J.P. (ed), MIC2001, 2001. EDGEWORTH, F.Y. Mathematical Physics. First Edition. London, England: P. Keagan, 1881. ENCYCLOPEDIA BRITANNICA, Firefly. In: Encyclopedia Britannica. Ultimate Reference Suite. Chicago: Encyclopedia Britannica (2009). FANG, H., RAIS-ROHANI, M., LUI, Z., HORSTEMEYER, M.F. A Comparative Study of Metamodeling Methods for Multiobjective Crashworthiness Optimization. Computers and Structures, v.83, pp 2121-2136, 2005. FIGUEIREDO, D. G. de,. Problemas de Mximo e Mnimo na Geometria Euclidiana. Revista Matemtica Universitria/SBM, N 9/10, Rio de Janeiro, 1989. FONSECA, C.M., FLEMING, P.J. Genetic Algorithms for Multi-objective Optimization: Formulation, Discussion and Generalization. In: Proceedings of the Fifth International Conference on Genetic Algorithms. USA, Gen93, 1993. GANDIBLEUX, X., MEZDAOUI, N., FREVILLE, A. A Tabu Search Procedure to Solve Multiobjective Combinatorial Optimization Procedures. In: Advances in Multiple Objective and Goal Programming, Lecture Notes in Economics and Mathematical Systems 455, 291-300. Springer-Verlag: Cabalero R. Ruiz F. and Steuer R. (eds), 1997. GOLDBERG, D. E.; Genetic Algorithms in Search. Optimization and Machine Learning. EUA: Addison-Wesley. 1989. HAUPT, R.L., HAUPT, S.E. Practical Genetic Algorithms. John Wiley & Sons, Inc., Hoboken, New Jersey. 1998. HORN, J., NAFPLIOTIS, N., GOLDBERG, D.E. A Niched Pareto Genetic Algorithm for Multiobjective Optimization. In: Proceedings of the First IEEE Conference on Evolutionary Computation. Florida USA: IEEE World Congress on Computational Intelligence, 1994. IZMAILOV, A., SOLODOV, M. Otimizao, volume 1, Condies de otimalidade, Elementos de Anlise Convexa e de Dualidade. Rio de Janeiro, SBM-IMPA. 2005. JUMADINOVA, J., DASGUPTA, P., Firefly-inspired synchronization for improved dynamic pricing in online markets. In: Proceedings of the 2008 Second

75 IEEE International Conference on Self-Adaptive and Self-Organizing Systems. (2008) 403-412. KENNEDY, J., EBERHART, R. C., Particle Swarm Optimization. Proceedings of the 1995 IEEE International Conference on Neural Networks, Perth, Australia, 1995,pp. 1942-1948. KNOWLES, J.D., CORNE, D.W. Approximating the Nondominate Front Using the Pareto Archived Evolution Estrategy. Evolutionary Computation, v8, n2, pp149-172, 2000. KOZIEL, S.; MICHALEWICZ Z. Evolutionary algorithms, homomorphous mappings, and constrained parameter optimization. Evolutionary Computation, Cambridge, v.7, p. 19-44, 1999. KRINK, T; LOVEMBERG, M. The Life Cycle Model: Combining Particle Swarm, Genetic Algorithms and Hill Climbers. Lecture Notes and Computer Science. Vol.2439, pp.621-630. 2004. KRISHNANAND, K., GHOSE, D., Glowworm swarm based optimization algorithm for multimodal functions with collective robotics applications. Multiagent and Grid Systems 2(3) (2006) 209-222. LEIDENFROST, R., ELMENREICH, W., Establishing wireless time-triggered communication using a firefly clock synchronization approach. In: Proceedings of the 2008 International Workshop on Intelligent Solutions in Embedded Systems. (2008) 1-18. LOBATO, F. S. Otimizao Multi-objetivo para o projeto de sistemas em engenharia. Tese de Doutorado, Universidade Federal de Uberlndia, FEMEC, 2008. MARTINEZ, J.M.; SANTOS, S.A. Mtodos Computacionais de Otimizao. XX Colquio Brasileiro de Matemtica IMPA, Rio de Janeiro, 1995. pg. 256. MOREIRA, C.G.T. de A.; SALDANHA, N.C. A Desigualdade Isoperimtrica. Revista Matemtica Universitria/SBM, N 15, Rio de Janeiro, 1993. MOREIRA, F. R. O Mtodo de Newton: Uma Anlise de Convergncia Local e Semi-Local. O Teorema de Kantorovich. Dissertao de Mestrado em Matemtica. Universidade Federal de Gois. 2006. MURRAY, J., Mathematical Biology: An Introduction. Secausus, NJ, USA: Springer-Verlag, New York. 2002.

76 OSYCZKA, A. Multicriterion Optimization in Engineering with Fortram Programs. First Edition. England. Ellis Horwood Limited, 1984. PARETO, V. Cours DEconomie Politique. First Edition. Frana. Vol. I and II. F. Rouge, Lausanne, 1896. PASSINO, K.M., Biomimicry of bacterial foraging for distributed optimization and control. IEEE Control Systems Magazine, Vol. 22, No. 3, 2002, pp. 5267. ROJAS ,J.E., VIANA, F.A.C., RADE, D.A., STEFFEN Jr., V. Identification of External Forces in Mechanical Systems by Using LifeCycle Model and StressStiffening Effect. Mechanical Systems and Signal Processing, Vol. 21 (7), pp. 2900-2917, 2007. SCHAFFER, J.D. Multi Objective Optimization with Vector Evaluated Genetic Algorithms. Tese de Doutorado.. Vanderbilt University, 1984. SILVA, V.V. da. Ordenamento do corpo dos complexos . Revista da

Olimpada de Matemtica do Estado de Gois (OMEG). IME-UFG. Editora da UFG. 2003. SILVA, C.M. Desenvolvimento de um Algoritmo de Otimizao Multiobjetivo usando Algoritmos Genticos. Tese (Doutorado) Universidade Federal do Rio de Janeiro, 2004. SRINIVAS, N., DEB, K. Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms. Evolutionary Computation, v.2, n.3, p.221-248, 1994. VANDERPLAATS, G. N., Numerical optimization techniques for engineering design: with applications. McGraw-Hill.1984. VENTER, G. and SOBIESZCZANSKI-SOBIESKI, J., Particle Swarm Optimization, Proceedings of the 43rd AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics, and Materials Conference, Denver, CO, Vol. AIAA-2002-1235, April 2225 2002. VIANA, F. A. C. Surrogate Modeling Techniques and Optimization Methods Applied to Design and Identification Problems. Tese de Doutorado. Universidade Federal de Uberlndia. FEMEC, 2008. VIANA, F.A.C., MACIEL, B.C.O., NETO, N.S.B., OLIVEIRA, M.F., STEFFEN Jr, V., GES, L.C.S. Aircraft Longitudinal Stability and Control Derivatives Identification by Using Life Cycle and Levenberg-Marquardt Optimization Algo-

77 rithms. Inverse Problems in Science and Engineering, Vol. 17 (1), pp. 17-34. 2009. YANG, X.S., Nature-Inspired Metaheuristic Algorithms. Luniver Press (2008). YEN, G. G., LU, H. Dynamic Multiobjective Evolutionary Algorithm: Adaptative Cell-based Rank and Densit Estimation. IEEE Transactions Evolutionary Computation, v.7, n.3, pp.253-274, 2003. ZITZLER, E., THIELE, L. An Evolutionary Algorithm for Multiobjective Optimization: The Strength Pareto Approach. TIK-Report No. 43, 1998. ZITZLER, E., DEB, K., THIELE, L. Comparison of multiobjective evolutionary algorithms: Empirical results. Evolutionary Computation Journal, v.8, n.2, pp.125-148, 2000. ZITZLER, E., LAUMANNS, M., THIELE, L. SPEA II: Improving the Strength Pareto Evolutionary Algorithm. Zurich Switzerland, 2001. Computer Engineering and Networks Laboratory (TIK). Swiss Federal Isntitute of Technology (ETH) Zurich, Gloriastrasse 35, CH-8092.