104
1 Capítulo 1 _________________________________ Introdução A procura por soluções ótimas para determinados problemas é objeto de estudo há vários séculos. 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 isoperimétrico ou Problema da Princesa Dido. Na obra Eneida de Vigílio, encontramos uma referência a este problema: "No século IX antes de Cristo, a princesa fenícia Dido, que havia assassinado seu marido, chegou às terras do norte da África (Tunez) junto com seu irmão Pigmalião 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 dispôs de maneira que cobrisse a maior parte de terreno possível..." . A área que a princesa cercou tinha o formato de um círculo. Apenas em 1870 foi apresentada uma solução completa para o problema. Foi o matemático K. Weirstrass quem apresentou a solução baseada em uma teoria criada por ele. A teoria criada por Weierstrass é foi o Cálculo Variacional. Existem diversas demonstrações para este resultado. Podemos citar por exemplo MOREIRA and SALDANHA

Heurísticas Novas novo

Embed Size (px)

Citation preview

Page 1: Heurísticas Novas novo

1

Capítulo 1_________________________________Introdução

A procura por soluções ótimas para determinados problemas é objeto de

estudo há vários séculos. 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 isoperimétrico ou Problema da Princesa Dido. Na obra

Eneida de Vigílio, encontramos uma referência a este problema: "No século IX

antes de Cristo, a princesa fenícia Dido, que havia assassinado seu marido,

chegou às terras do norte da África (Tunez) junto com seu irmão Pigmalião 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 dispôs de maneira que cobrisse a maior parte de terreno possível..." .

A área que a princesa cercou tinha o formato de um círculo. Apenas em 1870 foi

apresentada uma solução completa para o problema. Foi o matemático K.

Weirstrass quem apresentou a solução baseada em uma teoria criada por ele. A

teoria criada por Weierstrass é foi o Cálculo Variacional. Existem diversas

demonstrações para este resultado. Podemos citar por exemplo MOREIRA and

SALDANHA (1993) e FIGUEIREDO (1989). Outro problema antigo e bastante

interessante que também envolve otimização é o chamado Problema da

Braquistócrona. Esta palavra vem do grego brakhisto (o mais curto) e chronos

(tempo). O problema consiste em encontrar qual a trajetória que uma partícula

deve percorrer com o menor tempo onde os pontos de saída e chegada são fixos,

a velocidade inicial é nula, sem atrito e sujeita apenas a ação da gravidade.

Na natureza podemos observar diversas soluções ótimas para problemas

envolvendo, por exemplo, procura de alimentos por formigas, construção dos

alvéolos onde as abelhas depositam o mel, formação na migração de pássaros,

entre outras. Na busca por alimento, as formigas buscam o caminho mais curto e

Page 2: Heurísticas Novas novo

2

com a maior quantidade de ferormônio depositado no caminho por outras

formigas; na construção dos alvéolos as abelhas buscam minimizar a quantidade

de material gasta na construção e ao mesmo tempo maximizar a produção e no

fenômeno da migração, as aves buscam uma formação que reduza o esforço de

aves que se encontram atrás de outras na formação. Há um rodízio das aves na

formação para garantir que aves mais cansadas estejam em uma posição

privilegiada na formação.

A otimização é uma ferramenta importante na tomada de decisões durante

a análise e/ou projeto de um determinado sistema físico. Para utilizar esta

ferramenta devemos ter em mente qual o objetivo a ser alcançado, ou seja, a

quantidade que medirá a eficiência deste sistema. Podemos querer minimizar

custos, tempo, material, energia ou maximizar lucro, volume, força. O objetivo

depende de características do projeto. Para cada parâmetro envolvido no sistema

ou projeto, cria-se uma variável que representará este parâmetro. Estas variáveis

são chamadas de Variáveis de Projeto ou Variáveis de Decisão. A otimização

visa encontrar o valor de cada variável que otimiza o sistema. Frequentemente

estas variáveis estão sujeitas a restrições, que são limites impostos pelo projeto e

que os parâmetros (variáveis) devem obedecer. As restrições podem ser de

igualdade, desigualdade e/ou laterais.

Uma restrição de desigualdade é chamada de Restrição Ativa se no ponto

ótimo x¿ vale a igualdade, isto é, se g j ( x¿)=0 , j=1 ,…,k (MARTINEZ and SANTOS,

1995), caso contrário é dita inativa. A figura 1 ilustra um exemplo onde para j=1e

j=2 as restrições são ativas e para j=3 a restrição é inativa.

Figura 1.1 – Restrições Ativas e Inativas

Page 3: Heurísticas Novas novo

3

Em geral um problema de otimização com um objetivo pode ser escrito da

seguinte forma

Minimizar f ( x ) , x∈Rn (1)

Sujeito a {h l ( x )=0 , l=1 ,…,nrestreqg j ( x )≤0 , j=1 ,…,nrestneqx iinf ≤ x i≤ x i

¿ , i=1 ,…n (2)

A função f (x) é chamada de função objetivo. As funções hl(x ) e g j(x) são

as restrições de igualdade e de desigualdade respectivamente. O variável x é um

vetor de n coordenadas, isto é, x=(x1 , x2, ... , xn) e x iinf e x i

¿ são os limites inferior e

superior respectivamente, da i-ésima coordenada do vetor x.

Caso o problema seja o de encontrar o máximo para a função objetivo f (x),

basta multiplicar a função por -1 e transformá-lo em um problema de minimização

da função −f (x), pois as soluções locais e globais são as mesmas, somente os

sinais de cada coordenada do ponto ótimo é que serão opostas, conforme a figura

abaixo. Por isso, do ponto de vista matemático, não existe nenhuma diferença

relevante entre os problemas de minimização e de maximização da função

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 – má xf ( x )=min [−f (x )]

Existem vários técnicas de otimização e não há uma forma padrão e

universal de classificação destas técnicas. Os métodos dependem do tipo de

função objetivo que aparece no problema (se é linear ou não linear), do espaço

das variáveis de projeto (se há restrições ou o problema é irrestrito), das variáveis

de projeto (inteiras ou contínuas) e das técnicas de otimização empregadas

Page 4: Heurísticas Novas novo

4

(determinística diferenciável, determinística não diferenciável, estocástica e

híbrida). Apresentamos a seguir algumas definições úteis na denominação dos

tipos de problemas que estudaremos:

Programação Linear (PL) e Programação Não Linear (PNL) – Quando a

função objetivo e as restrições são lineares o problema é chamado de

problema de programação linear. Caso contrário é um problema de

programação não linear. Problemas de PL aparecem muito em aplicações em

economia e transporte e problema de PNL aparecem com frequência em

aplicações de engenharia.

Problemas Restritos e Problemas Irrestritos – Um problema de otimização

irrestrito é aquele onde nrestreq=nrestrneq=0, isto é, não há nenhuma função de

restrição de igualdade e desigualdade das variáveis de projeto. Caso contrário

o problema é chamado de restrito. As restrições podem ser lineares, não

lineares ou ainda uma combinação delas.

Otimização Inteira e Otimização Contínua – Em vários problemas de

otimização, só faz sentido analisar as variáveis de projeto para números

inteiros. Por exemplo, para problemas que envolvem número de produtos,

número de ônibus em uma frota, número de trabalhadores em uma fábrica,

etc.. Estes problemas também são denominados problemas de otimização

discreta. Na otimização contínua todas as variáveis pertencem ao conjunto

dos números reais R.

Otimização Local ou Global – Um problema de minimização global um

ponto de mínimo é aquele que possui o menor valor da função objetivo

quando comparado a todos os pontos da região viável do espaço de projeto.

Um mínimo local é um ponto que possui o menor valor da função objetivo

apenas em uma vizinhança deste ponto (que esteja na região viável) em

consideração. A seguir apresentamos uma figura que ilustra a definição de

mínimo local e global.

Page 5: Heurísticas Novas novo

5

Figura 1.3 – Representação de Mínimos locais e Global

Otimização Determinística – São métodos de otimização que utilizam

recursos do cálculo em seus algoritmos de busca. São métodos iterativos e

são utilizados quando se conhece o modelo que representa o problema de

otimização. Possuem algumas restrições quanto à implementação, pois em

geral não são métodos de otimização global e alguns dependem do

conhecimento das derivadas da função objetivo e das restrições. A

convergência de métodos determinísticos, bem como suas taxas de

convergência, podem ser provadas por teoremas e são objetos de estudo de

matemáticos no mundo inteiro. Podemos classificar os métodos

determinísticos quanto à ordem das derivadas que aparecem na sua

implementação. A seguir está uma classificação destes métodos:

Métodos de Ordem Zero – São métodos de otimização determinística que não

utilizam a derivada das funções do problema. Os mais famosos são: O Método da

Seção Áurea e o Método de Powell.

Métodos de Primeira Ordem – São métodos que utilizam o conhecimento da

primeira derivada das funções do problema. Os mais usados são: O método da

Máxima Descida (Método do Gradiente), Métodos das Direções Conjugadas e os

Métodos da Métrica Variável. São mais eficientes, computacionalmente falando,

do que os métodos de primeira ordem, pois possuem taxa de convergência mais

alta.

Método de Segunda Ordem – É o método que depende do cálculo da primeira e

segunda derivada das funções que aparecem no problema de otimização. O

método de segunda ordem é o famoso Método de Newton. Por sua vez, o método

de segunda ordem possui ordem de convergência maior que os de primeira

Page 6: Heurísticas Novas novo

6

ordem. Para ilustrar o que significa a taxa de convergência, um método que

converge com taxa um (convergência linear) precisa dobrar o número de

iterações para conseguir dobrar o número de casas decimais exatas de uma

solução. Já um método que converge com taxa dois (convergência quadrática)

para dobrar o número de casas decimais exatas de uma solução precisa realizar

apenas mais uma iteração. Para uma demonstração deste resultado e para saber

um pouco mais sobre taxas de convergência veja MOREIRA (2006).

Pode ser provado que o Método de Newton possui convergência

quadrática (sob certas condições) e que o Método da Máxima Descida possui

convergência linear.

A seguir apresentamos uma figura que ilustra os métodos de otimização

determinística bem como sua classificação quando às restrições e uso de

derivadas.

Figura 1.4 – Classificação de Métodos Determinísticos de Otimização

Otimização Estocástica – Os métodos de otimização estocástica também

são chamados de métodos heurísticos. A palavra heurística vem do grego

Page 7: Heurísticas Novas novo

7

“heuriskein” que significa descobrir/encontrar. Estes métodos utilizam apenas

informações das funções que aparecem no problema de otimização e não de

suas derivadas. São métodos de otimização global e possuem “mecanismos

de fuga” de mínimos locais. Os mais famosos são os Algoritmos Genéticos

(AG), Algoritmo de Evolução Diferencial (ED), Recozimento Simulado (SA),

Algoritmo de Colônias de Formigas (ACO), Otimização por Bactérias,

Algoritmos dos Vagalumes, Busca Tabu, Otimização por Colisão de Partículas

(PSO), entre outros.

Otimização Híbrida – Quando se utiliza mais de um método em um problema

de otimização dizemos que esta é uma técnica híbrida de otimização.

Métodos de otimização estocástica (heurística) convergem rapidamente para

a região do ótimo, mas demoram muito para refinar a solução. Já métodos

determinísticos possuem apenas convergência local e em geral não são muito

lentos, assim se estiverem na região do ótimo global, convergem com certa

rapidez para o ótimo. Por isto é muito comum a aplicação de um método

estocástico para se chegar a região do ótimo e depois a aplicação de um

método determinístico para refinar a solução. Existe também a proposta da

aplicação de dois métodos heurísticos simultaneamente para refinar a solução

de um problema.

Neste estudo concentraremos nossa atenção nos métodos heurísticos de

otimização PSO (baseado no comportamento social de pássaros), FireFly

(baseado no comportamento coletivo de vagalumes), BFO(baseado no

comportamento de bactérias na procura por alimento) e no algoritmo chamado

Life Cycle (que é um mix entre várias heurísticas). Realizaremos também um

estudo sobre otimização para problemas com mais de um objetivo, denominados

Problemas de Otimização Multi-Objetivo (POMO). Ao final realizaremos algumas

aplicações da heurística FireFly para problemas mono e multi-objetivos.

Page 8: Heurísticas Novas novo

8

Capítulo 2_________________________________Otimização por Enxame de

Partículas (Particle Swarm

Optimization – PSO)

O algoritmo de Otimização por Enxame de Partículas (do inglês Particle

Swarm Optimization - PSO) é uma heurística baseada em população 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 espécies de pássaros e cardumes de peixes onde cada ave

(peixe) é uma partícula e o bando (cardume) é o enxame, daí o nome enxame de

partículas. Existem vários modelos de comportamento social, dentre eles,

Kennedy e Eberhart se interessaram por um modelo particular desenvolvido por

um biólogo chamado Frank Heppner.

Considere o seguinte cenário: Um grupo de pássaros está procurando por

comida ou local para descanso, em certa região. Suponha que nesta região há

apenas um local de comida ou descanso e que os pássaros não sabem, a priori,

onde está este lugar. Qual é a melhor estratégia para procurar este lugar? A

estratégia escolhida por muitos grupos de pássaros é a de seguir um pássaro que

está mais próximo da comida ou do descanso.

Através de regras simples que os pássaros usam para se movimentarem,

um pássaro quando sai do bando para pousar na comida ou no local de descanso

acaba atraindo os pássaros mais próximos, isto é, os indivíduos aprendem com o

sucesso da “melhor” ave do bando. Outro fato a ser considerado é que cada

indivíduo do bando faz uso de informações pessoais para encontrar um local para

descanso ou uma fonte de comida.

Page 9: Heurísticas Novas novo

9

Assim faz-se necessário um ajuste da capacidade individual de procurar

uma boa solução (exploração - exploration) e da capacidade de tirar proveito das

informações do bando para alcançar seu próprio sucesso (proveito - exploitation).

Quando há pouca exploração, a resposta pode convergir para a primeira boa

solução 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 socialização dos indivíduos.

2.1 População (Enxame) Inicial

Para a inicialização do algoritmo, o vetor de posição e o vetor de

velocidades podem ser definidos aleatoriamente pelas seguintes equações:

x i0=x lower+k1 (xupper−x lower )

v i0=x lower+k2 ( xupper−xlower )

∆ t

onde x lower e xupper são os limites inferior e superior, respectivamente, das variáveis

de projeto, k 1e k 2 são números aleatórios no intervalo [ 0,1 ] uniformemente

distribuídos e ∆ t corresponde ao passo de tempo.

2.2 O Algoritmo PSO

No enxame definido pelo algoritmo PSO, as partículas que o compõe,

comunicam-se para compartilhar o conhecimento que cada uma adquiriu e desta

forma aumentam sua capacidade de tomada de decisão, não baseada apenas em

um conhecimento individual de cada partícula, mas no conhecimento do enxame.

Vamos estabelecer as notações necessárias para o entendimento do

algoritmo. Cada partícula i do enxame, na iteração k será representada pelos

seguintes vetores:

A posição atual da partícula (n-dimensional): x ik=(x1i

k , x2 ik ,…,x¿

k );

A melhor posição encontrada pela partícula até o momento: pbesti ;

A sua velocidade atual: v ik=(v1 i

k , v2ik ,…,v¿

k ).

Page 10: Heurísticas Novas novo

10

O enxame de partículas também guarda um vetor pbestswarm, que representa

seu conhecimento social. Este vetor armazena a melhor posição encontrada, em

todas as iterações, quando consideramos todas as partículas do enxame.

O PSO faz uso de um vetor de velocidades e um vetor de posição para

modelar o comportamento (movimento) das partículas do enxame. O vetor de

velocidades e o vetor de posição das partículas são atualizados pelas seguintes

equações:

v ik+1=wv i

k+c1 r1

( pibest−x i

k )∆ t

+c2 r2

( pswarmbest −x i

k)∆ t

x ik+1=xi

k+v ik+1∆ t

onde r1e r2 são números aleatórios uniformemente distribuídos entre 0 e 1 e

i=1,2 ,…,nparticulas.

A figura abaixo ilustra, de forma bidimensional, a atualização da velocidade

quando consideramos duas partículas.

Figura 2.2.1 – Atualização do vetor velocidade – PSO

Reproduzido de VIANA(2008)

Existem três parâmetros que devem ser controlados pelo usuário na

simulação do algoritmo PSO, são eles: a inércia da partícula (w), e os dois

parâmetros c1 e c2 (cognitivo e social respectivamente). A inércia controla a

Page 11: Heurísticas Novas novo

11

capacidade do algoritmo em explorar, isto é, um valor alto de w facilita um

comportamento mais global, enquanto um valor baixo facilita um comportamento

local (VENTER & SOBIESZCZANSKI-SOBIESKI, 2002). Os parâmetros de

confiança c1 e c2 indicam o quanto uma partícula confia em si (c1) e no enxame (c2

).

Apresentamos abaixo um fluxograma básico da aplicação do algoritmo PSO.

Figura 2.2.2 – Fluxograma de aplicação do PSOReproduzido de VIANA (2008)

2.3 Parâmetros do Algoritmo

A fórmula utilizada para a atualização do vetor de velocidades contém alguns

parâmetros do algoritmo PSO que devem ser ajustados de acordo com o

problema. Os parâmetros são de confiança e de inércia. Os parâmetros de

confiança devem ser ajustados de forma a balancear a relação entre o

Page 12: Heurísticas Novas novo

12

conhecimento da própria partícula e o conhecimento do enxame. A literatura

sugere a utilização dos valores c1=c2=2, porém os parâmetros de confiança

podem ser ajustados para outros valores, em geral satisfazendo c1+c2=4. Para a

inércia, os valores propostos na literatura devem satisfazer 0.8≤w≤1.4. Um

processo de ajuste dinâmico do fator de inércia é proposto por VENTER &

SOBIESZCZANSKI-SOBIESKI (2002). Segundo eles, este ajuste promove

Uma convergência mais rápida do algoritmo;

A escolha de um valor de w mais livre e até mesmo sem a interação do

usuário.

O fator de inércia é atualizado de acordo com a equação:

wnew=f wold

onde f é uma constante entre 0 e 1. O valor de w não é atualizado a cada

iteração. Um coeficiente de variação (CV) dos valores da função objetivo, para um

subconjunto das melhores partículas, é calculado a cada iteração. Se o CV ficar

abaixo de um valor fixado a priori, é assumido que o algoritmo está convergindo

para a solução ótima (VENTER & SOBIESZCZANSKI-SOBIESKI, 2002). Neste

caso, o fator de inércia é atualizado segundo a equação anterior. O valor do

coeficiente de variação é calculado por

CV=Desvio Padrãomédia

2.4 Operador de Perturbação

Este operador atua como o operador de mutação nos Algoritmos Genéticos. Tem

como objetivo evitar uma convergência prematura do algoritmo. Este operador

altera tanto o vetor posição quanto o vetor velocidade. O vetor velocidade é

recalculado segundo a seguinte expressão:

v ik+1=c1 r1

( p ibest−x i

k )∆ t

e o vetor posição é recalculado por sua expressão usual.

Este operador é aplicado ao final de cada iteração e as partículas a

sofrerem este processo de mutação são identificadas pelo mesmo coeficiente de

variação definido anteriormente. Quando o coeficiente de variação (de um

Page 13: Heurísticas Novas novo

13

subconjunto das melhores partículas) for menor que um valor pré-estabelecido

assume - se que o enxame está se tornando muito uniforme. Assim, partículas

que estão longe do centro do enxame são identificadas. As partículas que estão

localizadas a mais de duas vezes o desvio padrão do centro do enxame serão

perturbadas. Podemos observar que a expressão utilizada para a perturbação das

partículas que estão longe do centro do enxame leva em consideração apenas o

fator cognitivo da partícula e não o fator social do grupo. Agindo assim, o

algoritmo, está dando um “voto de confiança” para estas partículas com o objetivo

de aumentar a diversidade na população de partículas, isto é, no conjunto de

potenciais soluções para o problema de otimização.

VENTER & SOBIESZCZANSKI-SOBIESKI (2002) afirmam que não há

consenso quanto à eficiência real deste operador de perturbação. Segundo os

autores, Kennedy e Eberhart concluíram que este operador pode não ser

necessário, enquanto Fourie e Groenwold reintroduziram este operador em suas

aplicações.

A seguir apresentamos um pseudocódigo de implementação do algoritmo PSO:

Pseudocódigo para o Algoritmo PSODados de entrada:

f (x), onde x=(x1 , x2,…, xn) {função custo}

S= [ xilower , x iupper ] , i=1: n {espaço de projeto}

m = tamanho do enxame , w , c1 e c2 {parâmetros do algoritmo}

Dado de saída:x¿=min

x∈Sf (x )

Início: Para i=1 :m faça

x i0→Geraçãoda população Inicial

FimCalcular pi

best e pswarmbest iniciais

Enquanto k<nmaxgeracões façaPara i=1 :m faça

v ik=w v i

k+c1r 1

( pibest−xi

k)∆ t

+c2r2

( pswarmbest −x i

k )∆ t

x ik=x i

k+v ik+1∆ t

Calcular pibest e pswarm

best

k=k+1

Page 14: Heurísticas Novas novo

14

fim

_____fim__________________________________________________________Figura 2.4.1 – Pseudocódigo de Implementação do Algoritmo PSO

Capítulo 3_________________________________Otimização por Vagalumes

(Firefly Algorithm - FA)

Os vagalumes são sem dúvida um dos insetos mais fascinantes de toda a

natureza. São insetos noturnos da família Lampyridae (ordem Coleoptera) e são

famosos por sua característica bioluminescente. Habitam principalmente as

regiões tropicais e temperadas e sua população é composta por mais de 1900

espécies, ENCICLOPEDIA BRITANICA(2009).

Baseado no comportamento destes insetos, Xin-She Yang (YANG, 2008)

propôs, na Universidade de Cambridge, um algoritmo heurístico de otimização.

Segundo YANG (2008), a biologia ainda não possui um conhecimento completo

de todas as utilidades que a luminescência pode trazer aos vagalumes, mas pelo

menos três funções já foram identificadas:

i. A luminescência é uma ferramenta de comunicação e de atração

para potenciais parceiros de reprodução;

ii. Serve como isca para a atração de alguma eventual presa;

iii. Também 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 característica, isto é, na atração de parceiros para reprodução. Esta

característica é vista em algumas espécies de vagalumes, onde a taxa de

intermitência e a intensidade de cada flash é parte essencial do mecanismo de

Page 15: Heurísticas Novas novo

15

atração do sexo oposto para acasalamento. Na maioria dos casos, as fêmeas é

que são atraídas pelo brilho emitido pelos machos. Observa-se também que

quando há uma grande quantidade de vagalumes numa mesma região, então há

uma sincronização na emissão dos flashes, que torna evidente uma característica

de organização emergente (YANG, 2008). Mecanismos de comunicação via

flashes luminescentes e sua sincronização tem sido emulados com sucesso e

sido aplicados em vários projetos de Rede Wireless (LEIDENFROST &

ELMENREICH, 2008), Dinâmica de Preços de Mercado (JUMADINOVA &

DASGUPTA, 2008) e robótica móvel (KRISHNANAND & GHOSE, 2006).

3.1 O algoritmo Firefly

Para a implementação do algoritmo FA, YANG(2008) definiu três regras

simplificadoras para o delineamento da execução do algoritmo, são elas:

Os vagalumes não possuem sexo, isto é qualquer vagalume do

enxame poderá ser atraído ou atrair;

A atratividade de um vagalume é diretamente proporcional ao brilho

emitido e inversamente proporcional à distância entre os vagalumes

(esta regra é baseada no comportamento real destes insetos);

O brilho emitido é determinado em comparação com seu valor na

função objetivo, isto é, quanto melhor avaliado maior será o seu

brilho.

Para entender o algoritmo FA devemos compreender como se dá a

variação 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 é função de sua avaliação. Como a atratividade entre dois vagalumes

é inversamente proporcional à distância entre eles, devemos escolher uma função

decrescente, em relação à distância r=d (x i , x j) entre os vagalumes. Tem sido

amplamente utilizada a seguinte função

β=β0 e−γ r2

onde β0 e γ são parâmetros pré-determinados do algoritmo: atratividade máxima

(quando r=0 e geralmente β0=1) e coeficiente de absorção, respectivamente.

Page 16: Heurísticas Novas novo

16

Para explorar eficazmente o espaço 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 distância;

ii. Um vetor de passo aleatório.

Assim, na k-ésima iteração, a movimentação de um vagalume x ik em

direção a um melhor vagalume x jk é definida pela seguinte equação:

x ik+1=xi

k+β (x jk−x ik )+α(rand−12 )

em que, o segundo termo da equação insere o fator de atratividade β e o terceiro

termo, regulado pelo parâmetro α , regula a inserção de certa aleatoriedade no

caminho percorrido pelo vagalume e rand é um número aleatório entre 0 e 1.

Pseudocódigo para o Algoritmo FADados de entrada:

f (x), onde x=(x1 , x2 ,…, xn) {função custo}

S= [ xilower , x iupper ] , i=1: n {espaço de projeto}

m = tamanho da população, β0 e γ {parâmetros do algoritmo}

Dado de saída:

x¿=minx∈S

f (x )

Início: Para i=1 :m faça

x i0→Geraçãoda população Inicial

fim Realizar

Para i=1 :m façaPara j=1:m faça

Se f ( x jk )< f (x ik) então

r→distânciaentre x jk e x i

k

β→ β0 e−γ r 2

{atratividade}

uik→Gerar vetor aleatório

x ik+1=xi

k+β (x jk−x ik )+uikfim

fim Até que algum critério de parada seja satisfeitoFim

Page 17: Heurísticas Novas novo

17

Figura 3.1.1 – Pseudocódigo de Implementação do Algoritmo FA

Observação 3.1.1 – Note que o melhor vagalume do enxame não é movido.

Podemos inserir um movimento aleatório para ele e caso não melhore o valor da

função objetivo, o movimento é descartado.

Observação 3.1.2 – De acordo com o pseudocódigo acima, um vagalume segue

o primeiro vagalume que seja mais brilhante do que ele (melhor avaliado na

função objetivo) e não o melhor vagalume da população. Isto faz com que haja

uma maior diversidade na população de vagalumes, pois se todos seguissem o

vagalume de brilho mais intenso, a população se estagnaria em poucas gerações.

3.2 Alguns Detalhes Técnicos

Cada vagalume do enxame explora o espaço de projeto levando em consideração

resultados obtidos por outros vagalumes e também aplicam seus movimentos ao

acaso. A influência de outros vagalumes se deve ao fator de atratividade. Este

movimento que leva em consideração os resultados do enxame pode ser ajustado

pela modificação de dois parâmetros:

O valor da atratividade máxima β0;

O valor do coeficiente de absorção γ .

O primeiro parâmetro descreve a atratividade quando dois vagalumes

encontram-se no mesmo ponto do espaço de projetos. Em geral escolhe-se

β0∈[0,1] e dois casos extremos devem ser analisados. Quando β0=0, não

consideramos o comportamento social dos vagalumes e consideramos apenas o

movimento aleatório. Quando β0=1, é equivalente ao sistema de crédito total nas

informações dadas pelo enxame onde o vagalume mais brilhante influencia

totalmente no movimento dos outros vagalumes, especialmente os que estão na

sua vizinhança.

O valor do coeficiente de absorção γ determina a variação da atratividade

em função da distância entre dois vagalumes. A utilização de γ=0 corresponde a

uma atratividade constante entre os vagalumes e valores altos para o coeficiente

de absorção γ , resultam na atratividade tendendo a zero que é equivalente a uma

busca apenas aleatória por parte dos vagalumes. YANG (2008) propõe γ ∈ [ 0,10 ] .

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

Page 18: Heurísticas Novas novo

18

considerado. Alguns autores sugerem a atualização do coeficiente de absorção a

cada iteração. Podemos sugerir o valor de γ através da seguinte expressão:

γ=γ0

rmax

ou

γ=γ0

rmax2

considerando que γ 0∈[0,1] e

rmax=max d (x i , x j ) ,∀ x i , x j na k-ésima iteração.

No caso da atualização do valor do coeficiente de absorção γ podemos

observar que à medida que a população se torna mais uniforme, o valor do

coeficiente aumenta e a partir deste aumento o algoritmo FA considera mais os

movimentos aleatórios dos vagalumes.

Finalmente vamos descrever o vetor de passo aleatório. Muitos autores

utilizam como vetor de passo aleatório o seguinte vetor

uik=α(rand−1

2 )onde rand U (0,1) é um número aleatório com distribuição uniforme e α um

parâmetro inicial do algoritmo. Podemos sugerir uma nova forma de calcular o

vetor de passo aleatório para o FA dependendo dos limites inferior e superior do

espaço de projetos:

uik={αran d2 (x iupper−x ik ) se sinal (ran d1−0,5 )<0

αrand2 (x ik−x ilower ) se sinal (ran d1−0,5 )≥0

onde os rand i são números aleatórios uniformemente distribuídos no intervalo [0,1].

Page 19: Heurísticas Novas novo

19

Capítulo 4_________________________________Otimização por Colônia de

Bactérias (Bacterial Foraging

Optimization - BFO)

O algoritmo de Otimização por Colônia de Bactérias (do Inglês Bacterial Foraging

Optimization – BFO) é um algoritmo baseado na inteligência de enxames e é

inspirado no comportamento das bactérias Escherichia Coli (E. Coli) na busca

por nutrientes e foi proposto em 2001 pelo Prof. Kevin Passino (PASSINO, 2002).

Bactérias possuem a característica de migrarem para áreas ricas em

nutrientes e o mecanismo utilizado por elas para este movimento é chamado de

Quimiotaxia. Muitas bactérias possuem uma série de flagelos rotativos em sua

superfície celular que funcionam como propulsores do movimento realizado por

elas. Quando todos os flagelos movem-se no sentido anti-horário eles

impulsionam a célula em um movimento helicoidal e quando se movem no sentido

horário todos eles puxam a bactéria em diferentes direções aleatórias, com

deslocamento muito pequeno. Tais movimentos justificam-se como uma

estratégia da bactéria para aumentar as chances de encontrar uma região ótima.

Como a mobilidade das bactérias E. Coli dependem da agregação

quimiotática, é razoável esperar que a população das bactérias dependa da

quantidade de nutrientes ofertada (disponível). Em um ambiente favorável, a

reprodução das bactérias se dá através do processo de fissão binária. Neste

processo o DNA é replicado antes da divisão e, em seguida, a parede celular e a

membrana plasmática crescem para dentro, dividindo a célula em duas idênticas.

Page 20: Heurísticas Novas novo

20

Pensando computacionalmente, o objetivo do algoritmo BFO é emular um

percurso aleatório com certa tendência para cada bactéria, que deve dirigir-se

para a maior quantidade de nutrientes evitando substâncias nocivas. De acordo

com ALI & MAJHI (2006), o comportamento de busca de uma colônia de bactérias

E. Coli pode ser delineado pelos seguintes processos:

Quimiotaxia;

Aglomeração (Swarming);

Reprodução;

Eliminação e Dispersão.

A seguir apresentaremos as notações que utilizaremos para a definição do

algoritmo BFO. Após a definição das notações, faremos uma apresentação

detalhada de cada um dos processos citados acima e ao final apresentaremos um

Pseudocódigo para o algoritmo de Otimização BFO.

4.1 Notação Utilizada

É necessário definir uma notação para que possamos entender os processos e o

algoritmo BFO. A seguir apresentamos a notação referente aos parâmetros do

algoritmo.

n : dimensão do espaço de busca;

N Bac : número total de bactérias na colônia;

NQuimio : número de etapas da Quimiotaxia;

N Nado : número de nados das bactérias;

N Repro : número de reproduções;

N E−D : número de eventos de eliminação e dispersão;

PE−D : probabilidade de eliminação e dispersão;

C (i) : tamanho do passo na direção aleatória especificada pelo giro.

Seja P ( j , k ,l )={θi ( j , k , l ); i=1,2 ,…, NBac } a posição de cada bactéria da

população na j-ésima etapa quimiotática, k-ésima etapa de reprodução e no l-

ésimo evento de eliminação e dispersão. Usaremos J ( i , j , k , l )=f (θi ( j ,k , l ) ) para

denotar o custo da i-ésima bactéria θi ( j , k , l )∈Rn.

Page 21: Heurísticas Novas novo

21

4.2 Quimiotaxia

A Quimiotaxia é o movimento quimicamente dirigido que desenvolvem

alguns seres vivos. Este movimento dirigido e as substâncias químicas envolvidas

nele são utilizados por alguns organismos unicelulares, insetos, mamíferos e até

mesmo pelo homem, com diversos fins, como por exemplo, na busca por

nutrientes, a fim de evitar predadores, para gerar comunicação entre indivíduos

na formação de colônias ou grupos, para atração sexual ou mesmo a demarcação

de território (MURRAY, 2002). Além desta definição, na literatura o termo

quimiotaxia é referido ao movimento celular em resposta a gradientes de

concentração de químicos presentes em um determinado ambiente.

A bactéria E. Coli movimenta-se de duas formas principais: nadar (swin) ou

girar (tumble). No nado a bactéria move-se em uma direção específica, enquanto

no giro ela não possui uma direção certa de movimento e há pouco

deslocamento. Em geral as bactérias alternam estes dois tipos de movimento

durante toda a sua vida.

Vamos definir o passo quimiotáxico para o algoritmo BFO da seguinte

forma: um nado seguido por um giro ou um giro seguido por um nado. O

movimento quimiotáxico de uma bactéria θi ( j , k , l ) pode ser expresso por:

θi ( j+1 , k , l )=θi ( j , k ,l )+C (i)∆(i)

√∆T ( i)∆(i)

onde ∆ indica um vetor aleatório cujos elementos estão no intervalo [−1,1].

4.3 Aglomeração (Swarming)

Este processo descreve a capacidade que muitas bactérias têm de comunicar-se

umas com as outras com o objetivo de cooperar na busca por nutrientes. Foi

observado que quando algumas bactérias foram estimuladas com um alto nível de

succinato, liberam um aspertato atrativo, que as ajudam a agregar-se em grupos

e assim mover-se com padrões concêntricos de enxames com alta densidade

bacteriana.

Para considerar este processo de atração entre as bactérias é necessário

inserir uma penalidade baseada nas distâncias relativas entre cada bactéria e a

bactéria mais saudável do enxame. Esta penalidade é incluída na função custo

Page 22: Heurísticas Novas novo

22

original. Quando todas as bactérias convergem para um ponto específico, a

penalidade tende a zero. A representação matemática (penalidade) para o

swarming considerando a sinalização entre as bactérias via um atrator e um

repulsor pode ser expressa por:

JCC (θ , P ( j , k ,l ) )=∑i=1

NBac [−datração .exp(−watração .∑m=1

n

(θm−θmi )2)]+∑i=1

N Bac [hrepulsão .exp(−wrepulsão .∑m=1

n

(θm−θmi )2)]onde datração, watr ação, hrepulsão e w repulsãosão coeficientes que devem ser escolhidos

adequadamente.

Vamos entender o que significa cada um destes coeficientes:

datração é a profundidade do atrator liberado pela bactéria, isto

é, uma quantificação de quanto atrator é liberado;

watração é uma medida de largura do sinal atrator, isto é, uma

quantificação da taxa de difusão química;

A célula também repele uma célula próxima no sentido de que

consome nutrientes próximos e é fisicamente impossível

haver duas células na mesma posição, assim hrepulsão é a altura

do efeito repulsor e w repulsão é uma medida da largura do sinal

repulsor.

Um valor negativo de JCC indica que a bactéria está em um lugar promissor,

isto é, em um lugar com bastante nutrientes. Um valor nulo indica um ambiente

neutro e um valor positivo de JCC indica um ambiente nocivo à bactéria. Assim, o

custo de uma bactéria θ, considerando o efeito do swarming, pode ser dada por:

J ( i , j , k , l )=J (i , j , k , l )+J CC (θ ,P ( j , k ,l))

4.4 Reprodução

Após várias etapas de quimiotaxia, as bactérias são separadas em dois

grupos de tamanhos iguais. O primeiro grupo é o das bactérias mais saudáveis e

o segundo grupo o das menos saudáveis. As menos saudáveis morrem e as mais

Page 23: Heurísticas Novas novo

23

saudáveis se dividem em duas de mesma localização, permanecendo constante o

número de bactérias da colônia. A saúde da bactéria θi ( j , k , l ) é calculada da

seguinte forma

JSaúdei = ∑

j=1

NQuimio

J (i , j ,k , l)=∑j=1

N Quimio

f (θi ( j , k , l ))

onde a saúde de uma bactéria é medida pela quantidade de nutrientes que ela

conseguiu se alimentar em toda a sua vida e o quanto foi bem sucedida em evitar

substâncias nocivas.

4.5 Eliminação e Dispersão

Mudanças graduais ou repentinas no ambiente onde vivem as bactérias, podem

acontecer por diversas razões, como por exemplo, o aumento significativo da

temperatura local que pode causar a morte de muitas bactérias. Estes eventos

podem acontecer de tal forma que todas as bactérias da colônia sejam mortas ou

um grupo é disperso para outro local. Para simular este fenômeno, algumas

bactérias são destruídas de forma aleatória, com uma pequena probabilidade,

enquanto novos substitutos são inicializados aleatoriamente no espaço de busca.

Este processo colabora na redução da probabilidade do algoritmo ficar preso em

um mínimo local.

4.6 Pseudocódigo do Algoritmo BFO

A seguir apresentamos um pseudocódigo de implementação do algoritmo BFO.

Pseudocódigo para o Algoritmo BFODados de entrada:

f (x), onde x=(x1 , x2 ,…,xn ); S= [ xilower , x iupper ] , i=1: n; N Bac,NQuimio, N Nado, N Repro, N E−D ,

PE−D {parâmetros do algoritmo}

Dado de saída:

x¿=minx∈S

f (x )

Início: Para i=1 :NBac faça

x i0→Geraçãoda população Inicial de Bactérias

Page 24: Heurísticas Novas novo

24

fim Realizar

Enquanto w<Nmaxgerações

Para l=1 :N E−D façaPara k=1:N Repro faça

Para j=1:N Quimio façaCalcule J (i , j , k ,l) incluindo JccRealize o deslocamento

θi ( j+1 , k , l )=θi ( j , k ,l )+C (i)∆(i)

√∆T ( i)∆(i)fim

Calcule a saúde de cada bactériaElimine a metade das bactérias com menor a saúdeDuplique as bactérias com maior saúdefim

Para cada bactéria realize a eliminação-dispersão com certa probabilidade PE−D

w=w+1fim

_fim____________________________________________________________Figura 4.6.1 – Pseudocódigo de Implementação do Algoritmo BFO

Page 25: Heurísticas Novas novo

25

Capítulo 5_________________________________LifeCycle (LC)

O algoritmo denominado Life Cycle (LC) é um método híbrido heurístico de

otimização que utiliza vários outros métodos heurísticos de otimização na sua

execução. Este método é baseado no conceito de mudança de ciclos(estágios)

durante a vida de qualquer ser vivo. Foi proposto inicialmente por KRINK &

LOVENBERG (2004) onde estes autores utilizaram um mix das heurísticas PSO e

GA para representar cada estágio do Life Cycle.

Os métodos heurísticos de otimização mais famosos já foram utilizados,

com sucesso, por pesquisadores em engenharia e outras áreas do conhecimento

do mundo inteiro. Em geral, estes métodos se mostraram eficientes na tarefa de

otimização em várias aplicações. A ideia do método LC é utilizar o que cada

heurística, usado como ciclo ou estágio de vida, tem de melhor como ferramenta

de otimização. Outro fator interessante do LC é que ele pode evitar a estagnação,

ou convergência prematura para um ótimo local, de uma heurística quando

somente esta é aplicada a uma população, pois, antes que a população se

estagne, outra heurística entra em ação na população atual que outra heurística

obteve. Isto melhora a diversidade da população de soluções.

O algoritmo Life Cycle é um algoritmo de otimização que usa,

sequencialmente, várias heurísticas em uma estrutura tipo cascata. Para a

implementação do LC faz-se necessário definir a quantidade de gerações que

compõe cada ciclo, sendo que após o encerramento deum ciclo, outra heurística

atua sobre a população na tarefa de otimização. O tamanho de cada ciclo é o

único parâmetro específico do LC, os outros parâmetros utilizados são os

parâmetros de cada heurística que atua no LC.

Não há uma regra rígida no procedimento de otimização via Life Cycle.

Outra forma de aplicação pode ser feita da seguinte maneira: cria-se

Page 26: Heurísticas Novas novo

26

randomicamente uma população e esta é dividida em algumas subpopulações;

em cada subpopulação atua uma heurística e após o término do intervalo de

estágio, realize-se a mudança de aplicação das heurísticas sobre as

subpopulações. A tendência é que cada subpopulação convirja para ótimo do

problema. Agindo desta forma, podemos explorar melhor o espaço de projetos,

mas o preço a ser pago por isto é o aumento significativo do custo computacional.

Alguns autores tem utilizado o Life Cycle como algoritmo de otimização.

VIANA et al. (2009) usaram o LC no estudo de estabilidade longitudinal e

identificação de parâmetros de controle em aeronaves. ROJAS et al. (2007)

usaram o LC na identificação de forças externas em sistemas mecânicos. A

seguir apresentamos a figura de um esquema para a utilização do LC.

Figura 5.1 – Esquema de aplicação do algoritmo Life Cycle

Reproduzido de VIANA(2008)

Page 27: Heurísticas Novas novo

27

Capítulo 6_________________________________Otimização Multi-Objetivo

Neste capítulo vamos dissertar sobre a teoria da otimização multi-objetivo. Não

temos a pretensão de esgotar o assunto e sim de explanar sobre as principais

características e definições sobre este assunto. Devido a crescente necessidade

de mercado na busca de soluções que envolvem problemas de otimização com

mais de um objetivo, a academia tem se envolvido bastante, nos últimos anos, na

criação e validação de metodologias para resolver problemas multi-objetivos,

multicritérios ou de otimização vetorial (SCHAFFER, 1984; DEB, 2001; BABU et

al., 2005; LOBATO, 2008).

Problemas de Otimização em Engenharia possuem dificuldade inerente da

área, pois vivenciam situações reais e cada vez mais complexas. São constituídos

de sistemas de equações algébricas e diferenciais (parciais e ordinárias) que

surgem a partir de balanceamentos de massa e energia. Em geral são problemas

restritos, pois possuem restrições econômicas, ambientais, de limitações físicas,

etc. Outro ponto importante no tratamento de Problemas de Otimização Multi-

Objetivo (POMO) é que, em quase sua totalidade, é impossível a obtenção de

solução analítica de problemas reais.

Existem diferenças significativas entre problemas com um único objetivo e

problemas com mais de um objetivo. As principais são:

i. A conceituação de ótimo para os problemas mono e multi-objetivo.

Em problemas mono-objetivos o ótimo é um ponto do espaço de

projetos que minimizam (maximizam) a função objetivo. Em POMO

muitas vezes os objetivos são conflitantes, isto é, a melhora em um

objetivo pode acarretar na piora de outro (DEB, 2001).

ii. Em problemas mono-objetivos existe o valor ótimo global. Já em

problemas multi-objetivos existe um conjunto de soluções

Page 28: Heurísticas Novas novo

28

igualmente ótimas que visam preservar a diversidade de soluções,

sendo que não é possível dizer que uma solução é melhor que

outra.

Não há um consenso sobre o conceito de ótimo para um POMO. Isto

dificulta a comparação de resultados de um método para outro. A noção de ótimo

para POMO é devida a um economista inglês Francis Ysidro Edgeworth

(EDGEWORTH, 1881) e posteriormente aprimorada por outro economista, mas

agora francês, chamado Vilfredo Pareto (PARETO, 1986). A noção de ótimo

segundo Edgeworth-Pareto é que um ponto para estar na solução de um POMO

deve satisfazer a condição de que “nenhum critério utilizado pode melhorar a

solução sem piorar pelo menos outro critério”. Hoje em dia o postulado de

Edgewort-Pareto é mais conhecido na literatura por postulado de Pareto e fornece

para POMO não uma única solução, mas um conjunto de soluções denominadas

não dominadas ou não inferiores.

No que diz respeito às metodologias para a obtenção de soluções em

POMO existem, como no caso mono-objetivo, métodos Determinísticos e

métodos Heurísticos. Os métodos determinísticos são baseados no cálculo e as

técnicas mais famosas podem são descritas na figura 1.4. Os métodos heurísticos

são métodos baseados fenômenos da natureza e estão entre os mais usados

pelos pesquisadores os Algoritmos Genéticos (GA), Evolução Diferencial (DE),

Simulated Annealing (SA), Colônias de formigas (ACO), pássaros (PSO),

bactérias (BFO), vagalumes (FireFly) entre outros. Os métodos determinísticos

são métodos de busca ponto-a-ponto e por isto não é possível obter a solução de

um POMO em apenas uma única execução, pois a solução de um POMO é um

conjunto de pontos. Além disso, aplicações sucessivas de métodos

determinísticos não garantem uma boa aproximação da solução e nem tampouco

a diversidade das soluções. Assim os métodos heurísticos que trabalham com

uma população de pontos consistem em metodologias mais apropriadas na

resolução de problemas e otimização multi-objetivos, pois podem alcançar a

solução do POMO em uma única execução (DEB, 2001).

O pioneiro na implementação de um algoritmo multi-objetivo foi Schaffer

que em 1984, em sua tese de doutorado, utilizou a heurística Algoritmos

Genéticos em POMO (SCHAFFER, 1984). Após o trabalho de Schaffer, vários

Page 29: Heurísticas Novas novo

29

trabalhos de pesquisa tem sido publicados com o intuito de fornecer novas

técnicas de resolução de POMO e também na aplicação das técnicas emergentes

a problemas nas mais diversas áreas do conhecimento. Além disso eventos como

a Conferência de Otimização Evolutiva em Problemas Multi-Objetivo (Conference

on Evolutionary Multi-Criterion Optimization) tem difundido bem as novas

metodologias e conceitos bem como mostrado várias aplicações destas novas

metodologias em áreas afins. Vários pesquisadores tem se empenhado na

publicação de trabalhos sobre otimização multicritério. LOBATO (2008) utilizou

um algoritmo multi-objetivo envolvendo a heurística Evolução Diferencial para a

solução de problemas de projeto de sistemas em engenharia. DEB (2001) realiza,

em seu livro, um estudo de otimização multi-objetivo utilizando conceitos de

otimização evolutiva. COELHO (2004) utiliza a otimização multi-objetivo na

otimização de projetos mecânicos. DOERNER et al. (2001) utiliza a meta-

heurística Otimização por Colônia de Formigas para um problema multi-objetivo

de portfólio. FANG et al. (2005) realiza um estudo comparativo de métodos de

meta-modelagem para problemas multi-objetivo de resistência a colisão.

GANDIBLEUX et al. (1997) utiliza a heurística Busca Tabu para resolver

problemas multi-objetivo combinatoriais. OSYSZKA (1984) é uma referência

clássica quando se trata de otimização multicritério. Em sua obra são tratados

problemas multi-objetivo aplicados à engenharia e com programas na linguagem

Fortram.

6.1 Formulação do Problema de Otimização Multi-Objetivo

De acordo com VANDERPLAATS (1984) um problema de otimização é

constituído por:

i. Função Objetivo – Define as características do sistema a ser otimizado. É

uma variável dependente das variáveis de projeto;

ii. Variáveis de Projeto – São as variáveis independentes que influenciam a

função objetivo e/ou as restrições. Variações dos valores destas variáveis

provocam o aumento ou diminuição do valor da função objetivo. Também

são chamadas de variáveis de busca ou de decisão;

iii. Restrições – As restrições são limitações do projeto a ser otimizado. Estas

podem ocorrer devido a limitações físicas, de construção (econômicas),

Page 30: Heurísticas Novas novo

30

ambientais entre outras. As restrições determinam uma região chamada de

Espaço de Projetos, que é um subespaço do espaço n-dimensional Rn,

onde n é o número de variáveis de projeto. Podem ser de três tipos:

Restrições de Igualdade, Restrições de Desigualdade e Restrições

Laterais.

Podemos escrever, de forma compacta, um Problema de Otimização Multi-

Objetivo (POMO) através das seguintes expressões (DEB, 2001):

Minimizar F⃗ ( x )=( f 1 ( x ) , f 2 ( x ) ,…, f m ( x ) ) , x∈Rn (3)

Sujeito a {h l ( x )=0 , l=1 ,…,nrestreqg j ( x )≤0 , j=1 ,…,nrestneqx iinf ≤ x i≤ x i

¿ , i=1 ,…n (4)

onde f 1 ( x ) ,…, f m ( x ) são as funções objetivo, hl ( x ) ,l=1 ,…,nrestreq são as restrições

de igualdade, g j ( x ) , j=1 ,…,nrestrneq são as restrições de desigualdade, x iinf e x i

¿ são

as restrições laterais que determinam um limite inferior e superior,

respectivamente, para as variáveis de projeto.

Em um problema real em engenharia, cada uma das funções f 1 ( x ) ,…, f m ( x )

poderiam ser minimizadas ou maximizadas. Mas, como já foi dito anteriormente,

não há diferença do ponto de vista matemático, em um problema de minimização

e de maximização. Um pode ser transformado no outro de forma simples. Assim

trataremos apenas de um problema de minimização como é feito de forma

corrente na literatura. A imagem do espaço de projetos, via vetor de objetivos

F⃗ (x), é um espaço m-dimensional denominado de espaço de objetivos.

Neste momento cabe novamente ressaltar a diferença entre otimização

mono-objetivo e otimização multi-objetivo. As principais diferenças, segundo DEB

(2001), são:

Em um problema mono-objetivo a meta é encontrar uma única

solução do problema de otimização. Em um multi-objetivo a meta é

encontrar um conjunto de soluções que visam preservar a

diversidade neste conjunto de soluções;

Na otimização mono-objetivo trabalha-se com apenas um espaço o

de projetos. No caso multi-objetivo trabalha-se simultaneamente

Page 31: Heurísticas Novas novo

31

com dois espaços: o de projetos e o de objetivos. Manter a

diversidade de soluções no espaço de objetivos é fundamental para

a qualidade de soluções, pois ajuda na tomada de decisões pela

melhor solução. Outro detalhe importante é que nem sempre é

possível garantir que a proximidade de soluções no espaço de

projetos implique na proximidade de soluções no espaço de

objetivos.

O problema de minimização do vetor de objetivos F⃗ (x) não significa

simplesmente na minimização de cada uma das funções objetivo que compõem o

vetor de objetivos, pois em muitas situações os objetivos são 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 solução ótima

para um caso de minimização de dois objetivos. A escolha dependerá de quem é

responsável pela tomada de decisões que com certeza levará em consideração

limitações físicas, econômicas, etc.

Figura 6.1.1 – Problema de minimização de dois objetivos.

Reproduzido de LOBATO (2008).

Neste contexto multi-objetivo, definiremos o que vem a ser chamada de

solução ideal ou utópica.

Definição 6.1.1 – A solução ideal ou solução utópica é o valor ótimo de cada

objetivo individualmente.

Page 32: Heurísticas Novas novo

32

Como o próprio nome diz, em uma situação real, a solução ideal ou utópica

nunca será a solução ótima do problema de otimização multi-objetivo.

6.2 Otimalidade de Pareto

Nosso objetivo nesta seção é definir o conceito de ótimo segundo Pareto. Para

isto teremos que definir o conceito de dominância de uma solução sobre outra

solução. A maior parte dos algoritmos de otimização multi-objetivos utilizados

pelos pesquisadores trabalham com o conceito de dominância na busca pelas

soluções ótimas (OSYCZKA, 1984). Por isto o entendimento do conceito de ótimo

de Pareto e da definição de dominância é fundamental para entender os

algoritmos de otimização multi-objetivos.

Ao contrário do que é feito para o caso mono-objetivo, onde é possível

definir matematicamente a solução ótima, no caso multi-objetivo não há uma

definição de solução ótima e sim um conceito (entendimento) de soluções ótimas.

Este conceito é conhecido por Postulado de Edgeworth-Pareto ou mais

popularmente , na literatura, por Postulado de Pareto. Foi inicialmente concebido

pelo economista inglês Francis Ysidro Edgeworth (EDGEWORTH, 1881) (Figura

6.2.1(a)) e posteriormente aperfeiçoado pelo também economista, mas agora

francês, Vilfredo Pareto (PARETO, 1896) (Figura 6.2.1 (b)).

(a) Francis Ysidro Edgeworth (b) Vilfredo Pareto

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)

Page 33: Heurísticas Novas novo

33

A noção intuitiva do postulado de Pareto é que um ponto para ser solução

de um POMO deve satisfazer a condição de que “nenhum objetivo adotado

melhora a solução sem piorar pelo menos um outro objetivo”.

Para encontrar as soluções de um POMO é necessário entender quando

que uma solução é melhor que outra. Isto é feito via o conceito de dominância de

uma solução sobre outra. Para entender quando é que uma solução domina outra

solução considere o seguinte problema. Em uma compra de um automóvel será

levado em consideração dois objetivos: o conforto e o preço. A tarefa é encontrar

quais são as melhores opções de compra que levam em consideração o menor

preço com o maior conforto. Nota-se intuitivamente que estes dois objetivos são

conflitantes. As opções são listadas na figura 6.2.2 abaixo:

Figura 6.2.2 – Opções de compra de automóveis: preço versus conforto.

Reproduzido de LOBATO (2008).

Através de uma simples análise das opções acima podemos descartar a

opção 1, pois a opção 5 possui o mesmo preço mas com maior conforto. A

solução 2 possui menor conforto e maior preço que as soluções 3 e 5, logo

também deve ser descartada. Restam apenas as opções 3, 4 e 5. Não é possível

dizer qual das opções que restaram é a melhor opção de compra, pois uma

solução pode até ser mais barata que a outra, mas possui menor conforto e vice-

versa. Neste contexto dizemos que uma solução domina sobre outra se seus

Page 34: Heurísticas Novas novo

34

valores são melhores que os valores de outra em pelo menos um objetivo e se os

outros valores não são piores para todos os outros objetivos. Assim a solução 5

domina sobre as soluções 1 e 2. A solução 3 domina apenas a solução 2.

Podemos observar que as soluções 3, 4 e 5 não são dominadas por nenhuma

outra solução. As soluções 3, 4 e 5 são denominadas soluções não dominadas ou

soluções não inferiores.

O espaço de objetivos é decomposto em dois subconjuntos: o conjunto de

soluções dominadas e o conjunto de soluções não dominadas. Estes conjuntos

possuem as propriedades (DEB, 2001):

Qualquer solução do conjunto dominado deve ser dominada por pelo

menos uma solução do conjunto não dominado;

Nenhuma solução do conjunto não dominado é dominada por outra

solução do conjunto não dominado.

6.2.1 Operador de Dominância de Pareto

Nesta seção definiremos um operador de comparação entre duas soluções no

espaço de objetivos. Esta comparação serve para informar quando uma solução

domina sobre outra solução. Como dissemos anteriormente, a maioria dos

algoritmos computacionais de otimização multi-objetivo utiliza o conceito de

dominância na busca de soluções para os POMO.

Como nosso objetivo é escolher as melhores soluções, temos que

estabelecer uma relação de ordem no espaço de objetivos, pois estamos

interessados nos melhores valores das funções objetivo que compõe o POMO.

Definiremos então relação de ordem em um conjunto.

Definição 6.2.1.1 – Um conjunto M é ordenado segundo a relação de ordem “≼”

se dados quaisquer dois elementos x , y∈M , é sempre verdade que x≼ y ou y≼ x

e as seguintes propriedades com relação a “≼” são verdadeiras:

a) x≼ x (Reflexividade)

b) Se x≼ y e y≼ x então x= y (Anti-Simetria)

c) Se x≼ y e y≼ z então x≼ z (Transitividade)

Page 35: Heurísticas Novas novo

35

Definição 6.2.1.2 – Um conjunto M é dito parcialmente ordenado se valem as

propriedades a), b) e c) mas nem sempre se tem x≼ y ou y≼ x com x , y∈M , isto

é, nem sempre os elementos de M são comparáveis.

Em um conjunto n-dimensional Rn, n≥2, é possível estabelecer

generalizações das relações “menor” ou “menor ou igual” definindo-se as relações

≺ e ≼ por exemplo da seguinte maneira:

Definição 6.2.1.3 (comparação de vetores) – As operações de comparação de

vetores no espaço Rn, n≥2, serão feitas da seguinte forma:

x≼ y⇒ {x i≤ y i; i=1,2 ,…,n}x≺ y⇒ {x i< y i ; i=1,2 ,…,n }x= y⇒ {x i= y i ; i=1,2 ,…,n}

As operações ≻ e ≽ são definidas de maneira inteiramente análoga. O operador

≠ é definido da forma:

x≠ y⇒ {∃ i ; x i≠ y i }Ou seja

x≠ y⇏ {x i≠ y i ; i=1,2 ,…n}Assim, a condição de desigualdade ≠ continua sendo complementar à condição

de igualdade =.

Qualquer espaço Rn, com n≥2 arbitrário, munido das operações de

comparação de vetores definidas acima, são espaços parcialmente ordenados,

pois nem sempre é possível comparar dois vetores segundo estas operações.

Aqui surge uma pergunta: É possível definir outro tipo de operação de

comparação de vetores de forma que os espaços Rn se tornem conjuntos

ordenados (não parcialmente, mas totalmente)? A resposta para esta pergunta é

não. SILVA (2003) realiza uma explicação bem simples, porém clara e precisa,

para esta resposta.

Nosso objetivo é definir um operador de comparação, que será

denominado operador de dominância, sobre o espaço de objetivos (subconjunto

de algum espaço Rn) para o POMO.

Page 36: Heurísticas Novas novo

36

Definição 6.2.1.4 (dominância de uma solução) – Uma solução x domina

uma solução y (será representado por x⊲ y), no espaço de projetos, se as

condições forem satisfeitas (no espaço de objetivos):

i. F⃗ ( x )≼ F⃗ ( y ), isto é, se f i ( x )≤ f i ( y ) para i=1 ,2 ,…,m;

ii. F⃗ ( x )≠ F⃗ ( y ), isto é, existe pelo menos um i tal que f i ( x )≠ f i ( y ), ou

equivalentemente f i ( x )< f i ( y ).

A condição i) diz que em nenhum dos objetivos, a solução y é maior (no sentido

ordinário) do que a solução x. A condição ii) diz que pelo menos um dos objetivos

da solução x é estritamente melhor do que o da solução y.

Assim, se as duas condições acima forem válidas, podemos dizer que a

solução y é dominada pela solução x, ou que a solução x é não dominada pela

solução y.

Definição 6.2.1.5 (dominância forte de uma solução) – Uma solução x domina

fortemente uma solução y se F⃗ ( x )≺ F⃗ ( y ), isto é, se f i ( x )< f i ( y ) para i=1 ,2 ,…,m.

Definiremos agora alguns conjuntos que são importantes no estudo de um

POMO. Considere os seguintes conjuntos: H é o conjunto denominado espaço de

projetos e F=F⃗ (H), a imagem pelo vetor de objetivos de H , o espaço

denominado espaço de objetivos.

Definição 6.2.1.6 – O conjunto ótimo de Pareto Pótimo é o subconjunto do espaço

de projetos H formado por todas as soluções não dominadas de H , quando

comparadas a todas as soluções de H .

Definição 6.2.1.7 – O conjunto denominado fronteira de Pfront é o subconjunto do

espaço de objetivos F formado pelas imagens, pelo vetor F⃗, de todas as soluções

não dominadas de H , isto é Pfront=F⃗(Pótimo).

O conjunto Pfrontdenominado por fronteira de Pareto, no sentido matemático

de topologia, está realmente na fronteira do espaço de projetos F, ou

equivalentemente, nenhuma solução não dominada do POMO está no interior do

espaço de objetivos. A seguir definiremos um conjunto localmente Pareto ótimo.

Definição 6.2.1.8 – Seja P1⊂H um conjunto com a seguinte propriedade. Existe

P2⊂H com P1⊂P2 tal que todas as soluções de P1 são não dominadas com

relação ao conjunto P2. Então o conjunto P1 será denominado de conjunto

localmente Pareto ótimo.

Page 37: Heurísticas Novas novo

37

A figura 6.2.3 mostra exemplos da localização da fronteira de Pareto para

problemas envolvendo, minimização e/ou maximização de um problema com dois

objetivos enquanto a figura 6.2.4 mostra um exemplo de um conjunto localmente

Pareto ótimo.

Figura 6.2.3 – Exemplo de fronteiras de Pareto para dois objetivos.

Reproduzido de Lobato (2008).

Page 38: Heurísticas Novas novo

38

Figura 6.2.4 – Exemplo de conjunto de Pareto localmente ótimo.

Reproduzido de LOBATO (2008).

6.3 Metas para problemas de Otimização Multi-Objetivo

Sabemos que um fator importante para o responsável pela tomada de decisões é

que as soluções encontradas por um algoritmo multi-objetivo sejam bem

diversificadas, isto é, bem espalhadas no espaço de soluções. Soluções bem

próximas, no espaço de objetivos, a princípio podem ser consideradas iguais do

ponto de vista de escolha para a execução de um projeto real de engenharia.

Assim, faz-se necessário o controle da diversidade de soluções em um algoritmo

de otimização multi-objetivo. Outro fator, que é logicamente importante, é a

convergência do algoritmo. Segundo DEB (2001) a qualidade de um algoritmo na

resolução de um POMO se basicamente através do alcance da qualidade das

metas: convergência e diversidade. A figura 6.3.1, abaixo, mostra exemplos de

distribuições das soluções sobre a Fronteira de Pareto.

Page 39: Heurísticas Novas novo

39

Figura 6.3.1 – Distribuição de soluções sobre a Fronteira de Pareto.

Reproduzida de LOBATO (2008).

Uma meta sobre a distribuição de soluções é específica de problemas de

otimização multi-objetivo, enquanto que a convergência é comum para qualquer

problema de otimização (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: convergência do algoritmo e diversidade das soluções.

A figura abaixo relaciona as principais metas em otimização multi-objetivo.

Figura 6.3.2 – Metas de convergência e Diversidade.

Reproduzida de LOBATO (2008).

Page 40: Heurísticas Novas novo

40

Não é possível afirmar que um algoritmo supera outro em qualidade

observando apenas uma das métricas acima relacionadas. É importante avaliar a

qualidade das duas métricas em um teste de um algoritmo. A figura 6.3.3 (a),

abaixo, mostra um caso hipotético de boa convergência mas, má diversidade de

soluções enquanto o a figura 6.3.3 (b) mostra boa diversidade mas, má

convergência.

Figura 6.3.3 – Convergência versus Diversidade.

Reproduzida de LOBATO (2008).

A figura abaixo retrata outras situações. 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) não há como afirmar qual algoritmo é melhor.

Figura 6.3.4 – Comparação entre dois algoritmos hipotéticos.

Reproduzida de LOBATO (2008).

Page 41: Heurísticas Novas novo

41

Na maioria dos casos reais, devido a sua complexidade inerente, é

impossível determinar a fronteira de Pareto, isto é, o conjunto solução analítica do

POMO. Como então avaliar o desempenho de um algoritmo de otimização multi-

objetivo? A avaliação 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 estão totalmente determinados são utilizados na avaliação do

algoritmo. Se o algoritmo de otimização multi-objetivo, aplicado sobre estes

problemas, convergem e preservam boa diversidade de soluções, então se

assume que estes quando aplicados a outros problemas terão desempenho

similar. SCHAFFER (1984), em sua tese de doutorado, propôs uma grande

variedade de problemas que cuja solução analítica é conhecida e, portanto são

úteis em testes para os algoritmos multi-objetivo. Hoje em dia, muitos algoritmos

de otimização multi-objetivo possuem a implementação de alguns recursos,

testados com sucesso em vários casos, que visam preservar a diversidade de

soluções.

6.3.1 Métricas de Convergência e Diversidade de Soluções

Nesta subseção vamos descrever matematicamente as principais métricas

utilizadas para medir a qualidade de um algoritmo de otimização multi-objetivo.

Como dissemos na seção anterior, a qualidade da solução obtida por um

algoritmo é medida por sua convergência, em relação à solução analítica, e

também pela distribuição das soluções sobre a fronteira Pareto. Dividiremos as

métricas em: Métricas de Convergência e Métricas de Espalhamento.

6.3.1.1 Métricas de Convergência

São métricas utilizadas para medir a distância entre o conjunto R de soluções

obtidas por um algoritmo e o conjunto F de soluções analíticas (Fronteira de

Pareto) do POMO.

6.3.1.1 a) Taxa de Erro (T erro) – Esta métrica conta quantas soluções do

conjunto R não pertencem a Fronteira de Pareto F. Sua expressão matemática é:

Page 42: Heurísticas Novas novo

42

T erro= ∑i=1

¿ R∨¿ ei¿ R∨¿ ¿

¿¿ onde e i={1 se xi∈F0 se x i∉F

Tem-se que 0≤Terro≤1. Quanto menor for o valor de T erro melhor é a convergência

do algoritmo e quando T erro=0 tem-se que R⊆F.

6.3.1.1 b) Convergência Métrica (Υ ) – Esta métrica calcula a média

aritmética das distâncias entre o conjunto de soluções não dominadas obtidas R e

o conjunto F de soluções analíticas. É expressa através da fórmula (DEB, 2001):

Υ= ∑i=1

¿R∨¿ di¿R∨¿¿

¿¿

Onde d i é a distância euclidiana (no espaço de objetivos) entre a solução x i∈ R e

a solução de F mais próxima. Isto é

d i=d (x i ,F )=min {d (x i , y ) ; y∈F }Quanto menor for o valor de Υ melhor será a convergência do algoritmo.

6.3.1.1 c) Distância Geracional (DGer) – Esta métrica também calcula uma

média entre o conjunto de soluções não dominadas obtidas R e o conjunto F de

soluções analíticas. Sua fórmula é dada por (DEB, 2001):

DGer=¿¿¿

Onde d i é a distância euclidiana (no espaço de objetivos) entre a solução x i∈ R e

a solução de F mais próxima e p é um número natural não nulo. Observe que

quando p=1, então DGer=Υ .

6.3.1.2 Métricas de Espalhamento

São métricas utilizadas para medir o quanto as soluções do conjunto R, obtido por

um algoritmo, estão espalhadas.

6.3.1.2 a) Espaçamento (Spc) – Esta métrica, proposta por ZITZLER et al.

(2000), mede o quanto as soluções estão espalhadas no conjunto R. Sua

expressão é dada por

Spc=¿¿¿

Onde d i é a distância, no espaço de objetivos, entre a solução x i e a solução em R

que esteja mais próxima, isto é,

Page 43: Heurísticas Novas novo

43

d i= min⏟xk∈R, k ≠i

∑m=1

¿R∨¿|f m (xi )−f m (xk )|¿

¿

e

d= ∑i=1

¿R∨¿di¿ R∨¿¿

¿¿

Quanto menor for o valor do desvio, melhor espalhadas estarão as soluções.

6.3.1.2 b) Número de Nichos (NC) – Esta métrica também foi proposta por

ZITZLER et al. (2000). Esta métrica calcula o número de nichos existentes no

conjunto de soluções R obtidas pelo algoritmo. Sua expressão é dada por:

NC=1

|R|−1∑i=1

¿R∨¿ ¿ x j∈R ;d (x i ,x j)>σ∨¿¿¿

¿

Onde d (x i , x j ) é a distância entre as soluções x i e x j. Esta distância pode ser

calculada no espaço de variáveis ou de objetivos. O valor de NC representa o

número de soluções cuja distância entre si é maior que o parâmetro σ e quando

d (x i , x j )<σ as soluções x i e x j estão no mesmo nicho. Quanto maior o número de

nichos NC melhor espalhadas estão as soluções.

6.3.1.2 c) Espalhamento Máximo (EM) – Esta é mais uma métrica

proposta por ZITZLER et al. (2000). Esta métrica nos fornece a distribuição das

soluções no conjunto de soluções R obtidas pelo algoritmo. Sua expressão

matemática é dada por:

EM=√∑k=1

m

( |R|máx⏟i=1

f k (x i )−|R|mín⏟i=1

f k (x i ))Quanto maior for o valor de EM significa que há uma melhor distribuição

das soluções sobre o conjunto R.

6.3.1.2 d) Diversidade Métrica (Δ) – Esta é uma métrica proposta por

DEB, (2001) e também serve para medir o espalhamento das soluções no

conjunto de soluções R obtidas pelo algoritmo. É dada por:

Page 44: Heurísticas Novas novo

44

Δ=d f+d l+∑i=1

|R|−1

¿d i−d∨¿

d f+d l+ (|R|−1 )d¿

Na fórmula acima, d f e d l representam a distância euclidiana entre as

soluções extremas da fronteira de Pareto F e do conjunto de soluções não

dominadas R. O número d i é a distância entre a solução x i∈ R e o membro mais

próximo da fronteira de Pareto F e d é a média destas distâncias.

6.4 Algoritmos Heurísticos de Otimização Multi-Objetivo

Nesta seção faremos a descrição de alguns famosos algoritmos multi-

objetivos evolutivos. A disponibilidade e popularidade de recursos computacionais

tem fomentado o aumento de aplicações, em problemas reais de engenharia,

utilizando técnicas de otimização. Sem dúvida as técnicas de otimização

baseadas no processo de evolução das espécies, principalmente os Algoritmos

Genéticos, foram as técnicas mais empregadas na resolução de problemas

complexos de otimização. Após a publicação do famoso livro de Goldberg em

1989, os Algoritmos Genéticos ganharam enorme notoriedade entre

pesquisadores do mundo inteiro e passaram a ser a técnica de otimização mais

empregada desde então (GOLDBERG, 1989).

No contexto multi-objetivo, o primeiro algoritmo baseado em Algoritmos

Genéticos foi o algoritmo proposto por SCHAFFER (1984) denominado “VEGA –

Vector Evaluated Genetic Algorithm”. A partir de então vários algoritmos baseados

em técnicas evolutivas foram propostos. Dentre os mais famosos, em ordem

cronológica, 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

Page 45: Heurísticas Novas novo

45

Algorithm (SILVA, 2004); PAMUC – Preferences Applied to Multiobjectivity and

Constraints (COELHO, 2004).

Conforme descrevemos anteriormente, na literatura existem vários

algoritmos de otimização multi-objetivos que foram testados e tiveram sua

eficiência aprovada por pesquisadores das mais diversas áreas em todo o mundo.

O que diferencia um algoritmo evolutivo de otimização multi-objetivo de outro são

os mecanismos que cada um utiliza para encontrar a aptidão das soluções, o

mecanismo de elitismo e a diversidade das soluções. Neste contexto

apresentaremos alguns algoritmos evolutivos ressaltando as estratégias utilizadas

por eles para a realização 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 dominância e diversidade para as soluções obtidas em cada geração.

O ranking de uma solução x i é calculado pela equação:

ri=1+ni

onde ni é o número de soluções que dominam a solução x i. Assim, as soluções

que são não-dominadas possuem ranking 1 e o valor máximo para o ranking não

ultrapassa o tamanho da população (N pop).

A próxima etapa realizada pelo MOGA é o ordenamento das soluções

quanto ao valor do ranking. Um mesmo valor de aptidão é, denominado aptidão

média, é atribuído às soluções de mesmo ranking e as soluções melhores

ranqueadas possuem valores maiores de aptidão, para que seja garantido o

mecanismo de elitismo na seleção dos indivíduos.

Para garantir a diversidade entre as soluções não-dominadas, é usado o

conceito de nichos em cada ranking. Após obtidos os nichos, calcula-se um novo

valor de aptidão. Este valor é denominado aptidão compartilhada e é calculada

para todas as soluções em cada ranking. Após isto, este valor é multiplicado por

um fator de escala:

F i'=μ (ri)F i

∑j=1

μ(ri)

F j'

Page 46: Heurísticas Novas novo

46

onde μ(r i) é o número de soluções no ranking ri. Após calculada a aptidão, pela

última fórmula, o MOGA realiza as operações usuais de um algoritmos genético:

seleção, cruzamento e mutação.

Também é usado o conceito de contador de nicho no MOGA. Para cada

solução x i, o contador é calculado através da fórmula:

nc i=∑j=1

μ(ri)

Sh(d ij)

d ij=√∑k=1

m ( f k (x i)− f k (x j )f kmax−f k

min )2

onde d ij é a distância euclidiana entre as soluções x i e x j que possuem o mesmo

valor de ranking, f kmax e f k

min são os valores máximo e mínimo, respectivamente,

para a k-ésima função objetivo. A função Sh foi proposta por GOLDBERG (1989)

e é chamada de função de compartilhamento. É definida por:

Sh (d ij)={1−( dijσ share )

α

se d ij≤σ share

0casocontrário

O valor do parâmetro α define como será o comportamento da função de

compartilhamento e σ shareé denominado raio de nicho. Este raio define uma região

em torno de uma solução, sendo que soluções que satisfazem d ij>σ share, estão em

nichos diferentes e Sh (d ij)=0. De acordo com a definição do contador de nicho,

maiores valores de nc i significam mais soluções dentro do mesmo nicho. Calcula-

se a aptidão compartilhada de cada solução x i pela equação:

F i'=F i

nci

De acordo com a fórmula anterior, soluções que estão em nichos menos

ocupados possuirão valores de aptidão 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 População (N pop) e Parâmetro de Compartilhamento(σ share)

Passosi. Geração da População Inicial;

ii. Inicializar os contadores μ (ri )=0, para todos os rankings;

Page 47: Heurísticas Novas novo

47

Realizar até que extrapole o número de gerações.iii. Calcular o valor de ri para todas as soluções x i;

iv. Incrementar μ (ri );Início de um laço para calculo da aptidão final

v. Ordenar a população de forma descrescente em relação aos valores de ri. Identificar r¿=max (r¿¿ i)¿. Calcular, para cada solução, um valor de aptidão média. Fazer r=1;

vi. Para cada solução x i com ri=r, calcular nc i;vii. Calcular a aptidão final;viii. Se r<r ¿, fazer r=r+1 e voltar ao passo vi. ;

Fim do laçoix. Realização das operações usuais dos AG;x. Substituição da População;xi. Volta ao passo iii.

Dados de saída: SoluçõesNão−Dominadas

_________________________________________________________________Figura 6.4.1 –Estrutura do Algoritmo MOGA

Segundo DEB (2001) o algoritmo MOGA o valor de aptidão para as

soluções é facilmente calculado, ajudando assim na eficiência computacional do

algoritmo e segundo COELHO (2003) o MOGA possui melhor desempenho que

outros algoritmos não elitistas. Conforme podemos observar nos cálculos das

aptidões, não necessariamente, soluções com alto valor de ranking ri podem ter

pior valor de aptidão que soluções com ri mais baixo. Isto acontece quando

existem muitas soluções, próximas entre si com valor de ri baixo, sendo o valor de

contador de nicho alto neste caso e, portanto aptidão compartilhada baixa. Isto

mostra um ponto negativo do MOGA, o processo de seleção não é bom e

portanto pode haver dificuldade na convergência.

6.4.2 NPGA ( Niched Pareto Genetic Algorithms)

O NPGA também é um algoritmo que é fundamentado no conceito de não

dominância da sua população e foi proposto por HORN et al. (1994). Neste

algoritmo não é faz-se necessário calcular a aptidão das soluções para uma

posterior seleção dos mais aptos para reprodução. Neste algoritmo é realizado

um mecanismo de seleção por torneio denominado Torneio de Pareto. Neste

mecanismo, duas soluções potenciais, escolhidas aleatoriamente na população,

Page 48: Heurísticas Novas novo

48

são comparadas com um subconjunto da população. Assim podem haver apenas

as seguintes situações:

A solução x i domina todas soluções do subpopulação S e a solução x j é

dominada por alguma solução de S, então a solução x i vence o torneio. A

solução x j é a vencedora se x j domina S e se x i é dominada por alguma

solução de S;

Pode ocorrer de nenhuma das soluções dominarem S, ou que pelo menos

uma solução em S domine x i e x j. Assim calcula-se o contador de nicho e

escolhe-se a solução vencedora.

O cálculo do nicho é feito sobre a nova população filha gerada (Q). Assim

no início do processo, Q não possui nenhuma solução e, portanto o cálculo de

nicho não é realizado e caso haja empate entre as soluções, a solução vencedora

é escolhida de forma aleatória. Cada par de soluções vencedoras gera um par de

soluções filhas e estas são incluídas no conjunto Q. A partir da primeira geração,

o cálculo de nicho pode ser realizado de forma análoga ao processo descrito no

algoritmo MOGA.

A seguir destacamos a estrutura do Algoritmo NPGA:

Estrutura do Algoritmo NPGADados de entrada:

Tamanho da População (N pop) e Parâmetro de Compartilhamento(σ share),

Tamanho do torneio (t dom), Geração atual (n), Máximo de Gerações(nMax)

Passosi. Geração da População Pai Inicial P e da população filha Q vazia;

Laço para realização do Torneio.ii. Fazer n=1;iii. Fazer t=0;iv. Realizar a seleção pelo Torneio de Pareto nos indivíduos x i e x i+1

e o ganhador será o pai p1. Fazer i=i+2;

v. Realizar a seleção pelo Torneio de Pareto nos indivíduos x i e x i+1

e o ganhador será o pai p2;

vi. Realizar o cruzamento entre p1 e p2 gerando os filhos c1 e c2;vii. Aplicar o operador de mutação;viii. Atualizar a população filha Qn=Q n∪{c1,c2 };ix. Fazer t=t+1

x. Se t<t dom voltar ao passo iv. Senão terminar torneio.

Page 49: Heurísticas Novas novo

49

xi. Misturar a população pai Pn à população filha Qn formando uma nova população pai;

xii. Fazer n=n+1;xiii. Se n=nMaxterminar. Senão Qn+1={}, e voltar ao passo iii.

Dados de saída: SoluçõesNão−Dominadas_________________________________________________________________

Figura 6.4.2 –Estrutura do Algoritmo NPGA

A principal vantagem do algoritmo NPGA é o fato dele não necessitar

calcular um valor de aptidão para as soluções (DEB, 2001). Quando o parâmetro

tamanho do torneio t dom é pequeno (quando comparado ao tamanho da

população), o operador de seleção por Torneio de Pareto realiza poucas

comparações e portanto torna o algoritmo eficiente no quesito tempo

computacional. A desvantagem é a incorporação dos termos σ share e t dom.

6.4.3 NSGA II ( Non-Dominated Sorting Genetic Algorithms)

Este é com certeza um dos algoritmos mais famosos entre os algoritmos multi-

objetivo. O algoritmo NSGA II é uma extensão do algoritmo NSGA e foi proposto

por DEB et al. (2000). Utiliza, como muitos outros, o conceito de dominância para

realizar um ordenamento das suas soluções para posterior seleção elitista.

Trabalha com uma população pai P e uma população filha Q. A população inicial

é ordenada por não dominância e a aptidão de cada solução é igual ao seu valor

de não dominância. Através dos operadores convencionais dos AG (seleção por

torneio, cruzamento e mutação) é obtida uma população filha Q0, de mesmo

tamanho da população pai. Em seguida realiza-se a união entre as populações

pai e filha em um mesmo conjunto R0. Na n-ésima geração o NSGA II trabalha

com uma população Rn com o dobro do tamanho da população inicial (N pop¿. A

próxima etapa do NSGA II é o ordenamento por não dominância das soluções.

Obtém-se subconjuntos ordenados F1, F2 ,…, Ft que serão inseridos na próxima

população pai Pn+1. Como observamos anteriormente, o tamanho da população

atual em Rn é 2N pop e somente N pop soluções podem ser inseridas na próxima

geração pai. Assim N pop soluções devem ser descartadas. Insere-se primeiro as

soluções do conjunto F1, depois do F2 e assim sucessivamente, até alcançar o

Page 50: Heurísticas Novas novo

50

número de soluções N pop, sendo que possivelmente algumas soluções deverão

ser descartadas. A figura, abaixo, mostra uma representação do esquema

descrito acima.

Figura 6.4.3 – Esquema de Elitismo no NSGA II

Reproduzido de LOBATO (2008)

As soluções contidas nos conjuntos F i devem ser inseridas em Pn+1 até que

|Pn+1|+|F i|≤ N pop. Com certeza vamos ter o primeiro (estão ordenados por não-

dominância) conjunto F j tal que |Pn+1|+|F j|>N pop. Quando isto acontecer o

algoritmo NSGA II implementa um método chamado de distancia de multidão para

selecionar as N pop−|Pn+1| soluções de F j que estejam melhor espalhadas.

Este mecanismo de corte de soluções, ou melhor, de escolha das melhores

soluções (no sentido de diversidade) consiste em ordenar decrescentemente o

conjunto F j em relação às suas distâncias, e inserindo as primeiras N pop−|Pn+1|soluções em Pn+1.

O operador denominado distância de multidão d i, calculado para cada

solução x i em F j, é uma estimativa do perímetro do cuboide formado pelos

vértices de seus dois vizinhos mais próximos. Quanto maior o valor da distância

de multidão d i, mais afastado está a solução x i dos seus vizinhos e os valores

extremos em cada objetivo terão cuboide infinito. LOBATO (2008) mostra como

calcular a distância de multidão d ide uma solução x i.

A seguir apresentamos a estrutura do Algoritmo NPGA:

Page 51: Heurísticas Novas novo

51

Estrutura do Algoritmo NSGA IIDados de entrada:

Tamanho da População (N pop), Geração atual (n), Máximo de Gerações(nMax)

Passosi. Geração da População Pai Inicial P e da população filha Q vazia;ii. Fazer n=0;iii. Realizar a seleção, cruzamento e mutação para gerar a

população filha Qn. Fazer Rn=Pn∪Qn;

iv. Ordenar Rn por não dominância e criar Pn+1={};v. Enquanto |Pn+1|+|F i|≤ N pop, copiar as soluções de F i em Pn+1;

vi. Calcular a distância de multidão para cada solução em F j,

ordenando F j de acordo com a ordem decrescente de d i em

seguida copia-se as primeiras N pop−|Pn+1| de F j para Pn+1;

vii. Fazer n=n+1;viii. Se n=nMaxentão terminar. Senão volte ao passo iii.

Dados de saída: SoluçõesNão−Dominadas_________________________________________________________________

Figura 6.4.4 –Estrutura do Algoritmo NSGA II

Um dos principais fatores que levaram o NSGA II a gozar de certo prestígio

entre os pesquisadores é a forma que ele mantém a diversidade das soluções via

o operador de distância de multidão. Outro fato interessante é que não há

nenhum parâmetro de controle como o parâmetro σ share no MOGA e os parâmetros

σ share e t dom no NPGA. O ponto negativo do NSGA II é quando o conjunto F1 possui

mais elementos que N pop e assim o processo de corte de soluções deverá eliminar

soluções não dominadas. Considere, em uma situação hipotética, um caso onde

|F1|>N pop e existam várias soluções ótimas de Pareto bem próximas e uma

solução, não ótima de Pareto, mas também não dominada até o momento, que

esteja um pouco mais distante. O processo de corte pela distância de multidão vai

eliminar uma solução ótima de Pareto, na região mais densa descrita

anteriormente, e copiará para Pn+1 a solução não dominada cujo cuboide é maior.

Esta situação está ilustrada nas figuras 6.4.5 (a) e 6.4.5 (b) abaixo. Mas segundo

DEB et al. (2000) este problema não afeta seriamente a convergência do

algoritmo para um conjunto de soluções ótimas de Pareto.

Page 52: Heurísticas Novas novo

52

Figura 6.4.5 – Situação problema no algoritmo NSGA II.

Reproduzido de LOBATO (2008).

Capítulo 7_________________________________Problemas Testes

Neste capítulo realizaremos a simulação da heurística FireFly (otimização por

vagalumes) em alguns problemas matemáticos mono-objetivo e de problemas

multi-objetivo em engenharia. Os problemas matemáticos mono-objetivos que

Page 53: Heurísticas Novas novo

53

estudaremos, são problemas reconhecidamente difíceis de encontrarmos o ótimo

global, pois, em alguns casos possuem vários ótimos locais (multimodais). Os

problemas multi-objetivo a serem tratados são os famosos problemas introduzidos

por ZITZLER et al. (2000) (ZDT1, ZDT2, ZDT3 e ZDT4).

7.1 Problemas Teste

Os primeiros três problemas são mono-objetivos e podem ser encontrados

em KOSIEL & MICHALEWICZ (1999) e foram escolhidos devido à dificuldade

obvia, observada pelos gráficos e pelas suas expressões analíticas, de serem

otimizadas. Os outros quatro problemas são problemas multi-objetivos clássicos e

foram extraídos de LOBATO (2008).

Os problemas multi-objetivos foram apresentados originalmente por

ZITZLER et al. (2000). Por terem solução analítica conhecida, são muito

empregados na literatura na validação de novos algoritmos propostos. São

conhecidos pela denominação ZDT1, ZDT2, ZDT3, ZDT4, ZDT5 e ZDT6.

Faremos um estudo dos quatro primeiros problemas. Todos casos multi-objetivo

tem-se que as variáveis são definidas no intervalo (0,1) e o número de variáveis é

limitada a cinco.

7.1.1Problema Teste 1

Minimizar

T 1 (x1 , x2 )=x1 sin 4 x1+1.1x2 sin 2x2 0≤x1≤10 0≤x2≤10

Este é um problema sem restrições. A função acima é conhecida na

literatura como função Haupt & Haupt (HAUPT & HAUPT, 1998). Podemos

observar através do gráfico função T 1, abaixo, que esta possui vários pontos de

mínimo locais e um único ponto de mínimo global, o ponto (x1 , x2)=(9.039 ,8.668)

com T 1(9.039 ,8.668)=−18.5547.

Page 54: Heurísticas Novas novo

54

Figura 7.1.1 - Gráfico da função do problema teste 1

7.1.2Problema Teste 2

Minimizar

T 2 (x1 , x2 )=−cos x1cos x2 exp (−(x1−π )2−(x2−π )2)

Sujeito às seguintes restrições laterais

−30≤ x1≤30−30≤x2≤30

Podemos observar pelo gráfico da função T 3, abaixo, que esta apresenta

um único mínimo global. Este ponto de mínimo global é o ponto (π ,π ), com

T 3 (π ,π )=−1. Este é um belo exemplo para mostrar que métodos de otimização

determinísticos, às vezes, na funcionam tão bem. O gráfico desta função é quase

plano numa região muito grande e também é plana próximo ao ótimo global. Por

isto, métodos que utilizam a informação da derivada não funcionam para esta

função.

Page 55: Heurísticas Novas novo

55

Figura 7.1.2 – Gráfico da função do problema teste 2

7.1.3Problema Teste 3

Minimizar

T 3 (x1 , x2 )=x12+x2

2−cos (18x1 )−cos (18 x2 )

Sujeito às seguintes restrições laterais

−1≤x1≤1e−1≤x2≤1

A função T 3, a ser minimizada, apresenta vários ótimos locais(mais de

cinquenta) e um mínimo global igual a −2. Abaixo apresentamos o gráfico da

função teste três:

Page 56: Heurísticas Novas novo

56

Figura 7.1.3 – Gráfico da função do problema teste 3

7.1.4Problema Teste 4

O problema ZDT1 é dado pelas seguintes expressões:

ZDT 1={ f 1 (x1 )=x1

g (x2 ,…,xm )=1+9

m−1∑i=2

m

x i

h( f 1 (x1 ) , g (x2 ,…, xm ))=1−√ f 1 (x1 )/ g (x2 ,…, xm )

A região ótima de Pareto, no espaço de projetos, é a seguinte região:

x1∈(0,1) e x i=0 , i=2 ,…,m.

Nosso objetivo é encontrar a solução ótima (Curva de Pareto) do seguinte

problema com dois objetivos e com cinco variáveis de projeto:

ZDT 1={ min f 1(x1)min f 2 ( x1 ,…, x5 )=h ( f 1 (x1 ) , g ( x2 ,…, x4 ))

Page 57: Heurísticas Novas novo

57

7.1.5Problema Teste 5

O problema ZDT2 é dado pelas funções:

ZDT 2={ f 1 (x1 )=x1

g (x2 ,…,xm )=1+9

m−1∑i=2

m

x i

h( f 1 (x1 ) , g (x2 ,…,xm ))=1−( f 1 (x1 )/g ( x2 ,…, xm ))2

A região ótima de Pareto, no espaço de projetos, também corresponde a

região: x1∈(0,1) e x i=0 , i=2 ,…,m, mas, neste caso, a fronteira de Pareto é não

convexa.

Nosso objetivo é encontrar a solução ótima (Curva de Pareto) do seguinte

problema com dois objetivos e com cinco variáveis de projeto:

ZDT 2={ min f 1(x1)min f 2 (x1 ,…, x5 )=h ( f 1 (x1 ) , g (x2 ,…, x4 ))

7.1.6Problema Teste 6

O problema ZDT3 é dado pelas funções:

ZDT 3 {f 1 (x1 )=x1

g (x2 ,…, xm )=1+ 9m−1

∑i=2

m

x i

h ( f 1 (x1 ) , g ( x2 ,…, xm ))=1−√ f 1 (x1 )g (x2,…, xm )

−f 1 (x1)

g (x2 ,…,xm )sin(10 π f 1 (x1 ))

A região ótima de Pareto, no espaço de projetos, também corresponde a

região: x1∈(0,1) e x i=0 , i=2 ,…,m, mas, neste caso, a fronteira de Pareto é não

convexa.

Page 58: Heurísticas Novas novo

58

Nosso objetivo é encontrar a solução ótima (Curva de Pareto) do seguinte

problema com dois objetivos e com cinco variáveis de projeto:

ZDT 3={ min f 1(x1)min f 2 (x1 ,…, x5 )=h ( f 1 (x1 ) , g (x2,…, x4 ))

7.1.7Problema Teste 7

O problema ZDT4 é dado pelas funções abaixo. Possui uma grande quantidade

de ótimos locais (cerca de 219). Assim este problema é um grande desafio para

qualquer algoritmo de otimização global.

ZDT 4={f 1 (x1 )=x1

g (x2 ,…,xm )=1+10 (m−1 )+∑i=2

m

(x i2−10 cos (4 π x i))

h ( f 1 (x1) , g (x2 ,…, xm ))=1−√ f 1 (x1 )g (x2 ,…,xm )

A região ótima de Pareto, no espaço de projetos, também corresponde a

região: x1∈(0,1) e x i=0 , i=2 ,…,m, mas, neste caso, a fronteira de Pareto é não

convexa.

Nosso objetivo é encontrar a solução ótima (Curva de Pareto) do seguinte

problema com dois objetivos e com cinco variáveis de projeto:

ZDT 4={ min f 1(x1)min f 2 (x1 ,…, x5 )=h ( f 1 (x1 ) , g (x2 ,…, x4 ))

Capítulo 8

Page 59: Heurísticas Novas novo

59

_________________________________Resultados e Discussão Neste capítulo apresentaremos os resultados e discussões para os sete

problemas descritos no capítulo anterior. Os primeiros três problemas são mono-

objetivo e os últimos quatro são multi-objetivo. A meta Heurística utilizada na

simulação de todos os problemas testes é a emergente heurística baseada no

comportamento de uma colônia de vagalumes denominada apenas por FireFly.

8.1 Resultados e Discussão do Problema Teste 1

Em uma simulação usamos os seguintes parâmetros no algoritmo FireFly:

Coeficiente de atratividade máxima: β0=1;

Coeficiente de absorção do brilho emitido pelos vagalumes: γ=1;

Coeficiente de inserção de aleatoriedade na movimentação dos

vagalumes: α=0.7;

População inicial: N pop=50;

Número máximo de iterações: N iter−max=200.

O resultados obtidos para esta simulação foram:

Variáveis de Projeto – (x (1 ) , x (2))=(9.038965399393 ,8.668116906805 );

Valor da Função Objetivo - T 1 (x (1 ) , x (2))=−18.554720928163746;

Avaliações da Função Objetivo – 529.050.

8.2 Resultados e Discussão do Problema Teste 2

Em uma simulação inicial usamos os seguintes parâmetros no algoritmo FireFly:

Coeficiente de atratividade máxima: β0=1;

Coeficiente de absorção do brilho emitido pelos vagalumes: γ=1;

Coeficiente de inserção de aleatoriedade na movimentação dos

vagalumes: α=0.5;

População inicial: N pop=50;

Número máximo de iterações: N iter−max=250.

Os resultados obtidos para esta simulação foram:

Variáveis de Projeto – (x (1 ) , x (2))=(3.141597071886 ,3.141598683271 );

Page 60: Heurísticas Novas novo

60

Valor da Função Objetivo - T 2 (x (1 ) , x (2))=−0.999999999916182;

Avaliações da Função Objetivo – 661.050.

Podemos observar que os valores obtidos na simulação do algoritmo

FireFly conferem com os valores da literatura para esta função específica.

Queremos agora verificar se há influência do fator β0 (fator de atratividade)

no número de iterações necessárias para a convergência do algoritmo. Para isto

vamos variar o fator de atratividade de zero a um em um passo de variação igual

a 0.1. Os outros fatores foram mantidos constantes e iguais aos da simulação

para o primeiro caso. O critério de convergência utilizado é a obtenção de cinco

casas decimais iguais à solução real. Os resultados obtidos estão na Tabela

8.2.1.

Influência do fator de atratividade no número de iterações para a convergência

Fator β0Número de Iterações Avaliações da Função Objetivo

β0=0.0 1500 3.970.900

β0=0.1 1200 3.177.200

β0=0.2 1000 2.642.000

β0=0.3 600 1.588.550

β0=0.4 600 1.588.550

β0=0.5 500 1.314.650

β0=0.6 500 1.314.650

β0=0.7 500 1.314.650

β0=0.8 330 864.350

β0=0.9 300 790.700

β0=1.0 250 659.350

Tabela 8.2.1 – Influência do fator de atratividade no número de iterações

para convergência do algoritmo FireFly.

Pelos dados da tabela acima, que foram encontrados pela simulação do

algoritmo FireFly com os parâmetros informados, concluímos que há influência do

fator de atratividade β0 no número de iterações necessárias (em média) para a

Page 61: Heurísticas Novas novo

61

convergência do algoritmo. Esta conclusão está em concordância com o valor de

β0 adotado na literatura.

8.3 Resultados e Discussão do Problema Teste 3

Em uma simulação inicial usamos os seguintes parâmetros no algoritmo FireFly:

Coeficiente de atratividade máxima: β0=1;

Coeficiente de absorção do brilho emitido pelos vagalumes: γ=1;

Coeficiente de inserção de aleatoriedade na movimentação dos

vagalumes: α=0.8;

População inicial: N pop=100;

Número máximo de iterações: N iter−max=200.

Os resultados obtidos para esta simulação foram:

Variáveis de Projeto – (x (1 ) , x (2))=10−4 (0.0131359832 ,−0.3588762036 );

Valor da Função Objetivo - T 3 (x (1 ) , x (2))=−1.999999789787573;

Avaliações da Função Objetivo – 2.038 .100.

Queremos agora verificar se há influência do fator N pop (Tamanho da

População) no número de iterações necessárias para a convergência do

algoritmo. Para isto vamos variar o tamanho da população de dez a cento e

cinquenta em um passo de variação igual a vinte unidades. Os outros fatores

foram mantidos constantes e iguais aos da simulação para o primeiro caso. Os

resultados obtidos estão na Tabela 8.3.1.

Influência do tamanho da população no número de iterações para a convergência

Fator N popNúmero de Iterações Avaliações da Função Objetivo

N pop=10 1500 314.800

N pop=30 700 720.430

N pop=50 200 529.050

N pop=70 80 404.270

N pop=90 30 246.990

N pop=110 20 244.110

Page 62: Heurísticas Novas novo

62

N pop=130 10 170.130

Tabela 8.3.1 – Influência do fator de absorção no número de iterações para

convergência do algoritmo FireFly.

A partir dos resultados da tabela acima podemos observar que o algoritmo

de otimização por colônia de vagalumes FireFly responde bem ao aumento do

tamanho da população de vagalumes. Neste caso específico, o número de

variáveis é pequeno e o tamanho do espaço de busca também. O aumento do

número de indivíduos da população 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 não

foi significativo.

8.4 Resultados e Discussão do Problema Teste 4

Em nossa simulação usamos os seguintes parâmetros no algoritmo FireFly:

Coeficiente de atratividade máxima: β0=1;

Coeficiente de absorção do brilho emitido pelos vagalumes: γ=1;

Coeficiente de inserção de aleatoriedade na movimentação dos

vagalumes: α=0.8;

População inicial: N pop=100;

Número máximo de iterações: N iter−max=200.

Nas figuras 8.4.1 e 8.4.2 estão apresentados os perfis da população inicial

da nossa simulação e da curva solução obtida para o problema ZDT1,

respectivamente:

Page 63: Heurísticas Novas novo

63

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x1)

f 2(x1,

...,

x5)

Generation --> 100

Figura 8.4.1 – Curva solução para o problema ZDT1.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

1

2

3

4

5

6

f1(x

1)

f 2(x1,

...,

x5)

Generation Initial Population--> 1

Figura 8.4.2 – Espalhamento da população inicial de 100 indivíduos

A seguir apresentaremos os resultados das métricas de desempenho para

o algoritmo FireFly. Comparamos com alguns resultados da literatura extraídos de

LOBATO (2008), onde o autor compara um algoritmo baseado na Heurística

Page 64: Heurísticas Novas novo

64

Evolução Diferencial denominado MODE (Multi-Objective Differential Evolution)

com o famoso algoritmo multi-objetivo baseado em Algoritmos Genéticos

denominado NSGA II.

Métricas de Desempenho para o problema ZDT1

Métrica NSGA II MODE MO-FireFly

Υ 0.0008 0.0016 0.00051517

DGer0.0006 0.0001 0.00012215

Δ 0.4632 0.1988 0.8360

Tabela 8.4.3 – Avaliação e Comparação das métricas de desempenho do

algoritmo MO-FireFly (MO – Multi-Objective) em relação aos algoritmos

NSGAII e MODE

8.5 Resultados e Discussão do Problema Teste 5

Em nossa simulação usamos os seguintes parâmetros no algoritmo FireFly:

Coeficiente de atratividade máxima: β0=1;

Coeficiente de absorção do brilho emitido pelos vagalumes: γ=2;

Coeficiente de inserção de aleatoriedade na movimentação dos

vagalumes: α=1.0;

População inicial: N pop=100;

Número máximo de iterações: N iter−max=100.

Nas figuras 8.5.1 e 8.5.2 estão apresentados os perfis da população inicial

da nossa simulação e da curva solução obtida para o problema ZDT2,

respectivamente:

Page 65: Heurísticas Novas novo

65

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x1)

f 2(x1,

...,

x5)

Generation --> 100

Figura 8.5.1 – Curva solução para o problema ZDT2.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

1

2

3

4

5

6

7

8

9

f1(x1)

f 2(x1,

...,

x5)

Generation Initial Population--> 1

Figura 8.5.2 – Espalhamento da população inicial de 100 indivíduos

A seguir apresentaremos os resultados das métricas de desempenho para

o algoritmo FireFly. Comparamos com alguns resultados da literatura extraídos de

Page 66: Heurísticas Novas novo

66

LOBATO (2008), onde o autor compara um algoritmo baseado na Heurística

Evolução Diferencial denominado MODE (Multi-Objective Differential Evolution)

com o famoso algoritmo multi-objetivo baseado em Algoritmos Genéticos

denominado NSGA II.

Métricas de Desempenho para o problema ZDT2

Métrica NSGA II MODE MO-FireFly

Υ 0.0008 0.0011 0.00042460

DGer0.0006 0.0001 0.000048804

Δ 0.4632 0.1988 0.4799

Tabela 8.5.3 – Avaliação e Comparação das métricas de desempenho do

algoritmo MO-FireFly (MO – Multi-Objective) em relação aos algoritmos

NSGAII e MODE

8.6 Resultados e Discussão do Problema Teste 6

Em nossa simulação usamos os seguintes parâmetros no algoritmo FireFly:

Coeficiente de atratividade máxima: β0=1;

Coeficiente de absorção do brilho emitido pelos vagalumes: γ=1;

Coeficiente de inserção de aleatoriedade na movimentação dos

vagalumes: α=0.5;

População inicial: N pop=100;

Número máximo de iterações: N iter−max=100.

Nas figuras 8.6.1 e 8.6.2 estão apresentados os perfis da população inicial

da nossa simulação e da curva solução obtida para o problema ZDT3,

respectivamente:

Page 67: Heurísticas Novas novo

67

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

f1(x

1)

f 2(x1,

...,

x5)

Generation --> 100

Figura 8.6.1 – Curva solução para o problema ZDT3.

Observe que as soluções obtidas estão marcadas com um “+” azul, que está

marcado juntamente com a solução do problema que está representado na figura

acima através de uma “o” (bolinha) vermelha.

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

0

1

2

3

4

5

6

f1(x

1)

f 2(x1,

...,

x5)

Generation Initial Population --> 1

Figura 8.6.2 – Espalhamento da população inicial de 100 indivíduos

Page 68: Heurísticas Novas novo

68

Os pontos marcados em vermelho representam a curva de Pareto do

Problema ZDT3, que para este caso é descontínua.

A seguir apresentaremos os resultados das métricas de desempenho para

o algoritmo FireFly. Comparamos com alguns resultados da literatura extraídos de

LOBATO (2008), onde o autor compara um algoritmo baseado na Heurística

Evolução Diferencial denominado MODE (Multi-Objective Differential Evolution)

com o famoso algoritmo multi-objetivo baseado em Algoritmos Genéticos,

denominado NSGA II.

Métricas de Desempenho para o problema ZDT3

Métrica NSGA II MODE MO-FireFly

Υ 0.0434 0.0010 0.00045355

DGer0.0005 0.0001 0.000059762

Δ 0.5756 0.2881 0.6596

Tabela 8.6.3 – Avaliação e Comparação das métricas de desempenho do

algoritmo MO-FireFly (MO – Multi-Objective) em relação aos algoritmos

NSGAII e MODE

8.7 Resultados e Discussão do Problema Teste 7

Em nossa simulação usamos os seguintes parâmetros no algoritmo FireFly:

Coeficiente de atratividade máxima: β0=1;

Coeficiente de absorção do brilho emitido pelos vagalumes: γ=1;

Coeficiente de inserção de aleatoriedade na movimentação dos

vagalumes: α=1.0;

População inicial: N pop=100;

Número máximo de iterações: N iter−max=100.

Nas figuras 8.7.1 e 8.7.2 estão apresentados os perfis da população inicial

da nossa simulação e da curva solução obtida para o problema ZDT4,

respectivamente:

Page 69: Heurísticas Novas novo

69

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x

1)

f 2(x1,

...,

x5)

Generation --> 100

Figura 8.7.1 – Curva solução para o problema ZDT4.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

5

10

15

20

25

30

35

f1(x1)

f 2(x1,

...,

x5)

Generation Initial Population --> 1

Figura 8.7.2 – Espalhamento da população inicial de 100 indivíduos

Page 70: Heurísticas Novas novo

70

A seguir apresentaremos os resultados das métricas de desempenho para

o algoritmo FireFly. Comparamos com alguns resultados da literatura extraídos de

LOBATO (2008), onde o autor compara um algoritmo baseado na Heurística

Evolução Diferencial denominado MODE (Multi-Objective Differential Evolution)

com o famoso algoritmo multi-objetivo baseado em Algoritmos Genéticos

denominado NSGA II.

Métricas de Desempenho para o problema ZDT4

Métrica NSGA II MODE MO-FireFly

Υ 0.0434 0.0010 0.00045855

DGer0.0002 0.0001 0.000078133

Δ 0.5756 0.2881 0.7552

Tabela 8.7.3 – Avaliação e Comparação das métricas de desempenho do

algoritmo MO-FireFly (MO – Multi-Objective) em relação aos algoritmos

NSGAII e MODE

A seguir apresentaremos uma sequência de quadros que mostram como

se dá o comportamento da movimentação da população de vagalumes na busca

pela curva de Pareto com o passar das gerações. No título de cada quadro será

mostrado qual é o número exato da geração de vagalumes que está nele

representado.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

10

20

30

40

50

60

f1(x1)

f 2(x1, .

.., x

5)

Generation --> 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

5

10

15

20

25

f1(x1)

f 2(x1, .

.., x

5)

Generation --> 2

Page 71: Heurísticas Novas novo

71

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

1

2

3

4

5

6

f1(x

1)

f 2(x1, .

.., x

5)

Generation --> 4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.5

1

1.5

2

2.5

3

3.5

f1(x

1)

f 2(x1, .

.., x

5)

Generation --> 6

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x

1)

f 2(x1, .

.., x

5)

Generation --> 7

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x

1)

f 2(x1, .

.., x

5)

Generation --> 8

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x

1)

f 2(x1, .

.., x

5)

Generation --> 10

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x

1)

f 2(x1, .

.., x

5)

Generation --> 12

Page 72: Heurísticas Novas novo

72

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x1)

f 2(x1, .

.., x

5)

Generation --> 15

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x1)

f 2(x1, .

.., x

5)

Generation --> 18

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x1)

f 2(x1, .

.., x

5)

Generation --> 21

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f1(x1)

f 2(x1, .

.., x

5)Generation --> 25

Figura 8.7.4 – Movimentação dos vagalumes ao longo de algumas gerações.

Através dos quadros acima, notamos que a partir da décima geração o

algoritmo já convergiu para à curva de Pareto e nas gerações seguintes o

algoritmo realizou a tarefa de “espalhar” melhor as soluções sobre a curva

solução, garantindo assim uma boa diversidade das soluções. A partir da

vigésima geração já não conseguimos, a olho nu, notar diferença entre as curvas

soluções obtida pelo algoritmo. Apenas para servir de comparação com a

centésima geração, os valores das métricas de desempenho para a décima quinta

geração são:

Υ=0 .00037558 , DGer=0.00050895 e Δ=0.5941. Assim notamos que o trabalho

realizado pelo algoritmo a partir das quinze primeiras gerações é apenas na

Page 73: Heurísticas Novas novo

73

questão da melhora (muito pouco) da convergência e do espalhamento das

soluções.

Referências Bibliográficas

ALI, A.; MAJHI, S., Design of Optimum PID Controller by Bacterial Foraging

Strategy. Proceedings of the IEEE International Conference on Industrial Techno-

logy (ICIT - 2006) pp. 601–605.

BABU, B. V., CHAKOLE, P. G., MUBEEN, J. H. S., Multiobjective differential

evolution (mode) for optimization of adiabatic styrene reactor, Chemical Engi-

neering Science, 60 (2005), 4822-4837.

CASTRO, R.E. Otimização de Estruturas com Multi-Objetivos via Algoritmos

Genéticos. 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

Appliqueés, 2004.

CORNE, D.W., KNOWLES, J.D., OATES, M.J. The Pareto Envelope-based Se-

lection Algorithm for Multiobjective Optimization. In: Proceedings of the Paral-

lel Problem Solving from Nature VI Conference, Springer. Lecture Notes in Com-

puter 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 Region-

based Selection in Evolutionary Multiobjective Optimization. In: Proceedings

of the Genetic an Evolutionay Computation Conference, Morgan Kaufmann Pub-

lishers. San Francisco – California: L. Spector, E. D. Goodman, A. Wu, W. Lang-

don, 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 Non-Domi-

nated Genetic Algorithm for Multi-Objective Optimization: NSGA – II. Kanpur

– India, 2000.

DEB, K. Multi-objective optimization using Evolutionary Algorithms. John

Wiley & Sons, Inc., pág.77-80 e 129-135. 2001.

Page 74: Heurísticas Novas novo

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 Opti-

mization. Computers and Structures, v.83, pp 2121-2136, 2005.

FIGUEIREDO, D. G. de,. Problemas de Máximo e Mínimo na Geometria

Euclidiana. Revista Matemática Universitária/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 Math-

ematical 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 Algo-

rithm for Multiobjective Optimization. In: Proceedings of the First IEEE Confer-

ence on Evolutionary Computation. Florida – USA: IEEE World Congress on

Computational Intelligence, 1994.

IZMAILOV, A., SOLODOV, M. Otimização, volume 1, Condições de

otimalidade, Elementos de Análise Convexa e de Dualidade. Rio de Janeiro,

SBM-IMPA. 2005.

JUMADINOVA, J., DASGUPTA, P., Firefly-inspired synchronization for im-

proved dynamic pricing in online markets. In: Proceedings of the 2008 Second

Page 75: Heurísticas Novas novo

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 map-

pings, 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 algo-

rithm for multimodal functions with collective robotics applications. Multia-

gent and Grid Systems 2(3) (2006) 209-222.

LEIDENFROST, R., ELMENREICH, W., Establishing wireless time-triggered

communication using a firefly clock synchronization approach. In: Proceed-

ings of the 2008 International Workshop on Intelligent Solutions in Embedded Sys-

tems. (2008) 1-18.

LOBATO, F. S. Otimização Multi-objetivo para o projeto de sistemas em

engenharia. Tese de Doutorado, Universidade Federal de Uberlândia, FEMEC,

2008.

MARTINEZ, J.M.; SANTOS, S.A. Métodos Computacionais de Otimização. XX

Colóquio Brasileiro de Matemática – IMPA, Rio de Janeiro, 1995. pág. 256.

MOREIRA, C.G.T. de A.; SALDANHA, N.C. A Desigualdade Isoperimétrica.

Revista Matemática Universitária/SBM, N° 15, Rio de Janeiro, 1993.

MOREIRA, F. R. O Método de Newton: Uma Análise de Convergência Local e

Semi-Local. O Teorema de Kantorovich. Dissertação de Mestrado em

Matemática. Universidade Federal de Goiás. 2006.

MURRAY, J., Mathematical Biology: An Introduction. Secausus, NJ, USA:

Springer-Verlag, New York. 2002.

Page 76: Heurísticas Novas novo

76

OSYCZKA, A. Multicriterion Optimization in Engineering with Fortram Pro-

grams. First Edition. England. Ellis Horwood Limited, 1984.

PARETO, V. Cours D’Economie Politique. First Edition. França. 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. 52–67.

ROJAS ,J.E., VIANA, F.A.C., RADE, D.A., STEFFEN Jr., V. Identification of Ex-

ternal Forces in Mechanical Systems by Using LifeCycle Model and Stress-

Stiffening 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 C. Revista da

Olimpíada de Matemática do Estado de Goiás (OMEG). IME-UFG. Editora da

UFG. 2003.

SILVA, C.M. Desenvolvimento de um Algoritmo de Otimização Multiobjetivo

usando Algoritmos Genéticos. 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 Optimiza-

tion, Proceedings of the 43rd AIAA/ASME/ASCE/AHS/ASC Structures, Structural

Dynamics, and Materials Conference, Denver, CO, Vol. AIAA-2002-1235, April 22-

25 2002.

VIANA, F. A. C. Surrogate Modeling Techniques and Optimization Methods

Applied to Design and Identification Problems. Tese de Doutorado. Universi-

dade Federal de Uberlândia. FEMEC, 2008.

VIANA, F.A.C., MACIEL, B.C.O., NETO, N.S.B., OLIVEIRA, M.F., STEFFEN Jr,

V., GÓES, L.C.S. Aircraft Longitudinal Stability and Control Derivatives Iden-

tification by Using Life Cycle and Levenberg-Marquardt Optimization Algo-

Page 77: Heurísticas Novas novo

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: Adapta-

tive 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 Opti-

mization: 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 Engineer-

ing and Networks Laboratory (TIK). Swiss Federal Isntitute of Technology (ETH)

Zurich, Gloriastrasse 35, CH-8092.