104
Derick Eduardo Dias Rosa Orientador: Claudomiro Sales Universidade Federal do Pará - UFPA Laboratório de Eletromagnetismo Aplicado - LEA Programa de Iniciação Científica

AGs para Otimização Multiobjetivo

Embed Size (px)

Citation preview

Page 1: AGs para Otimização Multiobjetivo

Derick Eduardo Dias Rosa

Orientador: Claudomiro Sales

Universidade Federal do Pará - UFPA

Laboratório de Eletromagnetismo Aplicado - LEA

Programa de Iniciação Científica

Page 2: AGs para Otimização Multiobjetivo

Introdução

Conceitos básicos

Soluções Pareto-Ótimas e Metas em Otimização Multiobjetivo

Técnicas Tradicionais para MOOP

Algoritmos Evolutivos para Otimização Multiobjetivo

Algoritmos Genéticos

Métricas de Desempenho de MOEAs

Conclusões

Page 3: AGs para Otimização Multiobjetivo

Muitos problemas do mundo real possuem múltiplos

objetivos a serem atingidos.

Esse objetivos são, na maioria das vezes, conflitantes entre si.

Problema de Otimização Multiobjetivo (MOOP, do inglês

Multi-Objective Optimization Problem)

Page 4: AGs para Otimização Multiobjetivo

Exemplos:

Uma empresa tem que:

– minimizar taxa de acidentes;

– minimizar os custos.

Outra empresa tem que:

– maximizar o lucro;

– minimizar a taxa de poluição.

Page 5: AGs para Otimização Multiobjetivo

MOOP

– Procurar um vetor de variáveis de decisão que satisfaz certas

restrições e otimiza um vetor cujos elementos são funções objetivos.

– Espaço de buscar maior.

– Noção de solução ótima ampliada para vários objetivos

Maximizar/Minimizar: 𝑓1 𝑥 , 𝑓2 𝑥 , . . . , 𝑓𝑛(𝑥)

Descrição matemática de

critérios de performance

Page 6: AGs para Otimização Multiobjetivo

Formalmente:

Funções Objetivo

Restrições

Page 7: AGs para Otimização Multiobjetivo

Mapeamento x -> f(x)

Para cada solução x no

espaço de decisão,

existe um f(x) no espaço

de objetivos.

Page 8: AGs para Otimização Multiobjetivo

Exemplo que ilustra o preço e o desempenho de várias opções (1–5) de compra de computadores.

Existe então um “compromisso” entre os

objetivos. Quanto maior a performance, maior o

preço do computador e vice-versa.

Page 9: AGs para Otimização Multiobjetivo

Em um MOOP há dois possíveis tipos de soluções:

1. Soluções que, quando comparadas às demais, apresentam pior desempenho sob todos os objetivos simultaneamente considerados.

2. Soluções que, quando comparadas às demais, são melhores em um ou mais objetivos.

• Não é reflexiva.

• Não é simétrica.

• É transitiva.

Dominância

Dadas duas soluções x e y, diz-se que x domina y se as seguintes condições

são satisfeitas: A solução x é pelo menos igual a y em todas funções;

A solução x é superior a y em pelo menos uma função objetivo.

Page 10: AGs para Otimização Multiobjetivo

Todas as soluções não dominadas do espaço de busca S formam o conjunto Pareto-ótimo.

Um conjunto de soluções para um MOOP, pode ser dividido em conjunto de soluções dominadas e não-dominadas empregando o operador de dominância.

Page 11: AGs para Otimização Multiobjetivo

Dado um conjunto Pareto-ótimo P, a fronteira de Pareto é definida como:

Page 12: AGs para Otimização Multiobjetivo

Dois conjuntos Pareto-ótimos que são não-dominados localmente, mostrando a sua vizinhança no seu espaço de objetivos e no espaço de variáveis (à direita):

Da mesma forma que o conjunto Pareto ótimo, podem existir fronteiras de Pareto locais.

Page 13: AGs para Otimização Multiobjetivo

Preservar as soluções não dominadas

encontradas ao longo da busca;

Progredir continuamente em direção à

Fronteira de Pareto;

Manter a diversidadede de soluções tanto

no espaço de objetivos (fronteira de

Pareto) quanto no espaço de variáveis;

Realizar as metas anteriores com a maior

eficiência computacional possível.

Page 14: AGs para Otimização Multiobjetivo

Otimização com simples objetivo.

– Uma única solução.

– Trabalham unicamente no espaço de variáveis

Otimização com múltiplos objetivos.

– Múltiplas soluções.

– Trabalha com dois espaços (das variáveis e dos

objetivos)

– Preservar a diversidade na fronteira de Pareto

– Nenhuma delas é melhor do que as demais com

respeito a todos os objetivos.

Page 15: AGs para Otimização Multiobjetivo

Somatório de Pesos (Weighted Sum)

– Soma ponderada das funções objetivos

– Pode-se mostrar que a solução do problema na Equação pertence ao conjunto

Pareto-ótimo se os pesos são positivos para todos os objetivos. – Se um MOOP é convexo, qualquer solução Pareto-ótima pode ser encontrada

usando o método de somatório dos pesos

Page 16: AGs para Otimização Multiobjetivo

Somatório de Pesos (Weighted Sum)

– Dado que F é uma combinação linear dos

objetivos, obtém-se uma linha reta.

– Encontrar o mínimo valor da equação é

equivalente a achar uma linha de

contorno com um valor mínimo para F.

Page 17: AGs para Otimização Multiobjetivo

Somatório de Pesos (Weighted Sum)

Desvantagens:

– Dificuldade de encontrar pesos adequados.

– Não podem encontrar múltiplas soluções em uma

única rodada.

– A aplicação de vetores de pesos uniformemente distribuídos não garante um conjunto de soluções uniformemente distribuídas.

– No caso de um MOOP não convexo, este método não é capaz de determinar todas as soluções.

Page 18: AGs para Otimização Multiobjetivo

Método de restrições (Constraint)

– Considera-se qualquer objetivo, mantendo-se restritos os demais objetivos com valores definidos pelo usuário.

– Onde cada ‘Ԑm’ definida pelo usuário representa um limite máximo para o valor de fm.

Page 19: AGs para Otimização Multiobjetivo

Método de restrições

(Constraint)

– Escolhe-se f2 para ser

minimizado e mantém-se f1 (f1

≤ ε1).

– O mínimo para f2 depende da

escolha do Ԑ.

– O vetor Ԑ deve estar em uma região factível para cada objetivo.

Page 20: AGs para Otimização Multiobjetivo

Método de restrições (Constraint)

Desvantagens

– Resolve o problema do método do Somatório dos Pesos para

MOOP não convexos.

– Necessita que a escolha do vetor ε esteja em uma região factível

para cada objetivo.

– O uso de uma distribuição uniforme de ε não garante um conjunto

de soluções com a mesma distribuição.

– Várias iterações para determinar a fronteira de Pareto.

Page 21: AGs para Otimização Multiobjetivo

Programação de Metas (Goal Programming)

– Para cada objetivo é escolhido pelo usuário um valor meta z. Então, o

problema é formulado para encontrar uma solução cujo valor em f seja igual a

z:

– Cada meta é convertida em uma restrição de igualdade.

– Minimizar todos os desvios em relação as metas.

Page 22: AGs para Otimização Multiobjetivo

Programação de metas com pesos

– Formula-se uma função somando os desvios para cada um dos Nobj objetivos.

– αm e βm são os pesos dos desvios positivo e negativo para o j-ésimo objetivo

– zm é a meta para a função fm e Sfact é o espaço de decisão factível.

Page 23: AGs para Otimização Multiobjetivo

Programação de metas com pesos

– As soluções obtidas por este método dependem consideravelmente da escolha dos valores para αm e βm.

– Possui dificuldades similares ao método do somatório dos pesos

Page 24: AGs para Otimização Multiobjetivo

Programação de metas lexicográficas

– Metas são organizadas em vários níveis de prioridade.

– Resolvem-se sequencialmente vários problemas de programação de metas.

Espaço de objetivos para as funções f1 e f2.

Page 25: AGs para Otimização Multiobjetivo

Programação de Metas Min-Max

– Minimiza-se o máximo desvio em relação às metas.

– Onde δ é o desvio máximo para qualquer meta.

– φm e ηm são os desvios positivos e negativos para cada objetivo.

– αm e βm representam os pesos para cada desvio.

– Requer também a escolha dos pesos αm e βm .

Page 26: AGs para Otimização Multiobjetivo

Vantagens

– Provas de convergências que garantem encontrar soluções Pareto-ótimas.

– Possuem aplicações nos mais diferentes campos de engenharia e de outras

ciências.

Desvantagens

– A escolha dos parâmetros adicionais introduzidos por cada técnica afeta

diretamente os resultados obtidos.

– Para encontrar N soluções Pareto-ótimas, tem- se que solucionar no mínimo N

problemas de objetivos simples .

– Alguns métodos não garantem achar soluções ao longo de toda a Fronteira de

Pareto.

Page 27: AGs para Otimização Multiobjetivo

Características Básicas

– São flexíveis, de fácil implementação e têm a capacidade de encontrar

soluções de boa qualidade em problemas complexos.

– Trabalha com várias soluções simultaneamente usando o conceito de

dominância de Pareto.

– Não introduzem informações adicionais no problema.

– Possibilita escapar de ótimos locais.

– Um conjunto diversificado de soluções pode ser encontrado apenas em

uma execução do MOEA.

Page 28: AGs para Otimização Multiobjetivo

Os modelos de MOEA são comumente classificados em dois tipos:

– Não elitistas:

• Não utilizam alguma forma de elitismo nas suas iterações;

– Elitista:

• Alguns modelos usam uma população externa na qual são mantidas as

soluções não dominadas encontradas até aquele momento de sua execução;

• Outros métodos como NSGA-II (Non-Dominated Sorting Genetic Algorithm-II )

combinam a população atual com a população posterior para preservar ambas

as soluções.

– O elitismo melhora as soluções encontradas por um modelo MOEA.

Page 29: AGs para Otimização Multiobjetivo

“Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance

de sobreviver e gerar descendentes.”

(DARWIN, 1859)

Page 30: AGs para Otimização Multiobjetivo

Introdução

– Mecanismos de busca baseados nos processos de seleção natural da luta

pela vida e da genética de populações.

– Dada uma população inicial de soluções, esta evolui até convergir para

uma solução, por meio da aplicação de operadores genéticos de seleção,

cruzamento e mutação.

– Permitem ainda que estes sejam acoplados a qualquer outro método

matemático que auxilie no processo de busca.

Page 31: AGs para Otimização Multiobjetivo

Ideia básica

– Começar com um conjunto de soluções (representado por cromossomos)

chamado população

– Soluções de uma população são escolhidas e usadas para formar uma

nova população (reprodução)

– Espera-se que a nova população seja “melhor” que a anterior.

– Soluções que são escolhidas para formar novas soluções (descendentes)

são escolhidas de acordo com uma função de adaptação (função objetiva

– custo)

– O processo é repetido até que uma condição seja satisfeita

Page 32: AGs para Otimização Multiobjetivo

Indivíduo (simples membro da população).

Cromossomo e Genoma:

Coleção de genes

Estrutura de dados que codifica a solução de uma problema.

Genótipo

Na biologia, representa a composição genética do organismo. Nos AGs, representa a informação contida no cromossomo.

Page 33: AGs para Otimização Multiobjetivo

Fenótipo:

Objeto ou estrutura construída a partir das informações do genótipo.

É o cromossomo decodificado.

Exemplo: se o cromossomo codifica as dimensões de um edifício, então o fenótipo é o edifício construído.

Gene:

Codifica um simples parâmetro do problema

Alelos:

Valores que o gene pode assumir.

Ex.: um gene representando a cor de um objeto pode ter alelos como azul, preto, verde etc...

Page 34: AGs para Otimização Multiobjetivo

O critério de parada é alcançado

quando:

Um número de gerações

previamente definido é alcançado;

Quando uma solução

suficientemente boa é encontrada

ou;

Quando o sistema não consegue

mais evoluir.

Page 35: AGs para Otimização Multiobjetivo

Algoritmos Genéticos - Capítulo 10 35

Representação cromossomial é fundamental para um algoritmo genético;

– É a maneira básica de traduzir a informação do nosso problema em uma maneira viável de tratamento pelo computador ;

– É completamente arbitrária;

– Maioria dos pesquisadores usa representação binária pois ela é a mais simples e tem sido a mais freqüentemente usada

Page 36: AGs para Otimização Multiobjetivo

Algoritmos Genéticos - Capítulo 10 36

Representação cromossomial

Page 37: AGs para Otimização Multiobjetivo

Representação Binária

– Tem-se indivíduos (genótipos) de uma população. Estes indivíduos

também são chamados de cromossomos.

– A mais simples e comumente utilizada é a representação binária

Page 38: AGs para Otimização Multiobjetivo

Algoritmos Genéticos - Capítulo 10 38

Representação binária

– Simples de criar e manipular

– Produz bons resultados

– Facilita aplicações de operadores

– Fácil decodificação numérica ( inteiro,real )

– Facilita a demonstração de teoremas

– Porém, nem sempre é adequada

Page 39: AGs para Otimização Multiobjetivo

Algoritmos Genéticos - Capítulo 10 39

Representação binária tem dificuldades com múltiplas dimensões de

variáveis contínuas, especialmente quando uma grande precisão é requerida.

– Grande número de bits será necessário para atingir tal precisão;

– Cromossomos se tornarão extremamente grandes, dificultando a operação do GA;

– Há uma discretização inerente nos valores reais quando cromossomos binários são usados;

• Podemos ignorá-la quando usamos bits suficientes;

• Esta quantidade pode fazer com que nossos cromossomos se tornem grandes demais;

Page 40: AGs para Otimização Multiobjetivo

Representação Contínua

Para otimização de parâmetros contínuos a representação binária não é adequada – Muitos bits para obter boa precisão numérica

Parâmetros numéricos podem ser codificados diretamente nos cromossomos – Ex.: S1 = 0,637197

Deve-se implementar operadores genéticos de cruzamento e mutação adequados à essa representação.

Page 41: AGs para Otimização Multiobjetivo

0,2

0,4

0,6

0,8

1,0

0,0

-100 -75 -50 -25 0 25 50 10075

f x yx y

x y( , ) ,

sen ,

, ,

0 5

0 5

10 0 001

2 22

2 22

FUNÇÃO OBJETIVO :

Exemplo extraído de Davis (1991)

Page 42: AGs para Otimização Multiobjetivo

Cromossomo Binário:

Cromossomo Real: (-17,85; 11,04)

Representação do ponto x = -17,85 e y = 11,04

01101001001001101000001000111000100001110010

0110100100100110100000 1000111000100001110010

1722784 2328690

-17,85 11,04

x y

Page 43: AGs para Otimização Multiobjetivo

As vantagens da codificação real em relação à codificação binária:

– A possibilidade de trabalhar com grandes domínios para as variáveis;

– A capacidade de explorar a “gradualidade” da funções com variáveis

contínuas.;

– A capacidade de ajuste local das soluções;

– A representação das soluções é muito próxima da formulação natural de

muitos problemas, ou seja, não há diferença entre o genótipo

(codificação) e o fenótipo ( espaço de busca) ; e

– Os processos de codificação/decodificação, necessários nos alfabetos

binários, são evitados, aumentando a velocidade dos AG ’s.

Page 44: AGs para Otimização Multiobjetivo

Parâmetros Genéticos

– Tamanho da população • Número de cromossomos da população.

– Taxa de cruzamento • Rapidez com que novas estruturas são introduzidas na

população.

– Taxa de mutação • Determinar a probabilidade de ocorrer mutação.

– Intervalo de geração • Percentagem da população a ser substituída na geração

seguinte.

Page 45: AGs para Otimização Multiobjetivo

Função de Avaliação – Também chamada de função de custo

– Calcula um valor numérico que reflete quão bons os parâmetros representados no cromossomo resolvem o problema.

– Usa todos os valores armazenados no cromossomo (os parâmetros) e retorna um valor numérico, cujo significado é uma métrica da qualidade da solução obtida usando-se aqueles parâmetros.

– A função de avaliação deve ser tal que se o cromossomo c1 representa uma solução melhor do que o cromossomo c2, então a avaliação de c1 deve ser maior do que a avaliação de c2.

Page 46: AGs para Otimização Multiobjetivo

Operadores genéticos

– Seleção Natural

– Manipulação Genética por Mutação

– Manipulação Genética por Reprodução

Page 47: AGs para Otimização Multiobjetivo

Operadores genéticos (a) (b)

Pai 1

Pai 2

Selecionamos um

ponto de corte

Pai 1

Pai 2

Depois do

operador de

crossover

Filho 1

Filho 2

Depois do

operador de mutação

Filho 1

Filho 2 Gen alterado

pela mutação

(c) (d)

Page 48: AGs para Otimização Multiobjetivo

Seleção

– O método de seleção de pais deve simular o mecanismo de seleção natural:

• Pais mais capazes geram mais filhos;

• Pais menos aptos também podem gerar descendentes.

– Temos que privilegiar os indivíduos com função de avaliação alta, sem desprezar completamente aqueles indivíduos com função de avaliação extremamente baixa;

– Até indivíduos com péssima avaliação podem ter características genéticas que sejam favoráveis à criação de um indivíduo ótimo;

– Estas características podem não estar presentes em nenhum outro cromossomo.

Page 49: AGs para Otimização Multiobjetivo

Seleção por Torneio – Utiliza sucessivas disputas para realizar a seleção.

– Para selecionar k indivíduos, realiza k disputas, cada disputa envolvendo n indivíduos escolhidos ao acaso.

– O indivíduo de maior aptidão na disputa é selecionado.

– Não é proporcional a aptidão.

Page 50: AGs para Otimização Multiobjetivo

Os indivíduos são selecionados para os torneios com igual probabilidade.

O torneio é vencido pelo indivíduo com maior aptidão

Page 51: AGs para Otimização Multiobjetivo

• Aumentando o tamanho k do torneio acarreta: • Aumento da pressão de seleção.

• Risco de convergência prematura.

• Por isso, o torneio binário é o mais utilizado.

Page 52: AGs para Otimização Multiobjetivo

Seleção por torneio com probabilidades

(Reduz ainda mais a pressão de seleção)

O melhor indivíduo do torneio é selecionado com probabilidade p >

0,5

O segundo melhor é selecionado com probabilidade p(1-p)

O terceiro é selecionado com probabilidade p(1-p)2

e assim por diante...

Page 53: AGs para Otimização Multiobjetivo

Operadores Genéticos

– A etapa de seleção, gera uma população intermediária de potenciais cromossomos pais.

– Na nova geração, escolhe-se aleatoriamente dois pais para aplicação de operadores genéticos (crossover e mutação).

– Produção de filhos é feita até completar o tamanho da população desejada.

Page 54: AGs para Otimização Multiobjetivo

Cruzamento – Também chamado de reprodução ou crossover

– Combina as informações genéticas de dois indivíduos (pais) para gerar novos indivíduos (filhos)

– Versões mais comuns criam sempre dois filhos para cada operação

Page 55: AGs para Otimização Multiobjetivo

Crossover´s convencionais

n-Pontos, uniforme

Não criam novas informações (i.e. novos números reais).

Crossover´s aritméticos

Operadores que realizam operações aritméticas entre os parâmetros.

Baseados da direção (usam derivadas)

Page 56: AGs para Otimização Multiobjetivo

Cruzamento – Consiste em gerar dois cromossomos filhos (c1 e c2) a partir de dois

cromossomos pais (p1 e p2), usando a expressão: • Pais: ⟨x1,…,xn ⟩ e ⟨y1,…,yn⟩

• Filho1 é:

– O inverso para o outro filho com α = 0.5

Page 57: AGs para Otimização Multiobjetivo

0 1 1 0 0 0 1

0 1 0 0 0 0 1

Operador de Mutação – Operador randômico de manipulação

– Introduz e mantém a variedade genética da população

– Garante a possibilidade de se alcançar qualquer ponto do espaço de busca

– Contorna mínimos locais

Page 58: AGs para Otimização Multiobjetivo

Substitui o gene por um número aleatório de uma distribuição gaussiana.

onde N(pi,) é uma distribuição normal com média pi e desvio padrão .

Pode-se diminuir o valor de , à medida que aumenta a número de gerações (imitando a redução de temperatura no Recozimento Simulado).

contrário caso

se ),,(

i

i

ip

jipNc

Page 59: AGs para Otimização Multiobjetivo

Espaço de busca

* - Representação de um indivíduo

Page 60: AGs para Otimização Multiobjetivo

Elitismo:

– Mantém as melhores soluções encontradas previamente

nas gerações seguintes.

– A melhor solução não se deteriora nas gerações seguintes.

• Copiar diretamente as n% das soluções da população atual à

população seguinte.

• Criar a população seguinte a partir da população atual usando os

operadores genéticos usuais, e escolher as melhores N soluções de

ambas populações.

Page 61: AGs para Otimização Multiobjetivo

Niching:

– Métodos de nichos (niching) estendem os algoritmos evolutivos para

domínios nos quais é requerida a identificação e manutenção de

múltiplas soluções.

– Os métodos de niching podem ser divididos em dois grandes grupos:

• O método sharing funciona através da redução do fitness de cada

indivíduo da população por uma quantidade proporcional a quantidade

de indivíduos similares.

• O método de crowding insere novos indivíduos na população

substituindo indivíduos similares.

Page 62: AGs para Otimização Multiobjetivo

Passos para Implementar um Algoritmo Genético:

1. Definir uma representação a ser utilizada para indivíduo de maneira

que uma solução completa possa ser representada por ele;

2. Definir as estratégias de substituição, seleção, cruzamento e

mutação;

3. Definir a função de aptidão;

4. Ajustar os seguintes parâmetros: tamanho da população,

probabilidade de cruzamento,

5. Probabilidade da mutação e número de gerações.

Page 63: AGs para Otimização Multiobjetivo

Diferenças entre os Algoritmos Genéticos e os Métodos de Otimização Tradicionais :

– Os AGs trabalham com uma população de soluções em cada iteração

ao invés de uma única solução.

– Os AG s não precisam de informação adicional a não ser o valor de aptidão

das soluções.

– Os AGs empregam regras probabilísticas para guiar a sua busca.

Page 64: AGs para Otimização Multiobjetivo

Modelos de MOEAs

– 1° implementação de um MOEA foi proposta por Schaffer em 1985.

– Schaffer modificou os AGs para avaliar cada objetivo separadamente,

foi denominado VEGA (Vector Evaluated Genetic Algorithm).

– Goldberg [Goldberg, 1989] criou um procedimento para ordenação de

soluções baseado no conceito de dominância e um método de

compartilhamento .

– Com base nas ideias inicias propostas por Goldberg foram propostas

vários modelos de MOEAs.

Page 65: AGs para Otimização Multiobjetivo

Diferentes Modelos MOEAs

Page 66: AGs para Otimização Multiobjetivo

– O algoritmo MOGA [Fonseca e

Fleming, 1993] foi o prime iro a dar

ênfase ao conceito de dominância e

à diversidade das soluções.

– A cada solução é associado um valor

de ranking que é igual ao número de

soluções ni que a dominam mais um.

MOGA (Multi-Objective Genetic Algorithm)

Page 67: AGs para Otimização Multiobjetivo

– Distribuir as soluções sob diferentes

regiões ou nichos no espaço de busca.

– Para cada solução i é calculado um valor

de contador de nicho nci.

– Soluções que residem em um nicho

menos ocupado terão melhor aptidão de

compartilhamento.

Compartilhamento de Aptidão no MOGA

Page 68: AGs para Otimização Multiobjetivo

Compartilhamento de Aptidão no MOGA

Page 69: AGs para Otimização Multiobjetivo

MOGA: Vantagens e Desvantagens

Page 70: AGs para Otimização Multiobjetivo

MOGA: Vantagens e Desvantagens

– Simplicidade no cálculo do valor de aptidão.

– Tem desempenho melhor quando comparados com outros algoritmos não elitistas e é fácil de implementar.

– O valor ‘ri’ não fornece os mesmos valores para soluções que se

encontram na mesma frente, exceto a primeira.

– Sensível à forma da Fronteira de Pareto e à densidade das soluções no

espaço de busca [Deb, 2001].

– O cálculo do compartilhamento não garante que as soluções com valor

‘ri’ alto terão uma pior aptidão que soluções com ‘ri’ baixo.

Page 71: AGs para Otimização Multiobjetivo

NPGA (Niched Pareto Genetic Algorithm)

– Proposto por Horn e colaboradores [Horn e t al., 1994], é um algoritmo genético

geracional com sobreposição.

– Utiliza um método de seleção por torneio denominado de Torneio de Pareto, baseado

no conceito de dominância.

– Duas soluções i e j são escolhidas aleatoriamente da população P. Estas soluções são comparadas com um subconjunto T de P de tamanho tdom < |P|.

1. Se a solução i domina o subconjunto T e a solução j é dominada por algum elemento de T, a solução i é a vencedora.

2. Caso contrário, se acontecer de ambas soluções dominarem T, ou que ao menos uma solução em T domine i e j, calcula-se o contador de nicho para escolher a solução vencedora.

Page 72: AGs para Otimização Multiobjetivo

NPGA (Niched Pareto Genetic Algorithm)

Page 73: AGs para Otimização Multiobjetivo
Page 74: AGs para Otimização Multiobjetivo

NPGA: Vantagens e Desvantagens

– Não precisa de um método para calcular o valor de aptidão das soluções.

– Uso do operador de seleção por torneio torna o algoritmo computacionalmente eficiente.

– O NPGA usa dois parâmetros adicionais share e tdom. – Quando o parâmetro tdom é muito pequeno, as comparações de

dominância podem levar ao não destacamento das soluções não dominadas.

– Porém, quando tdom é muito grande, aumenta-se a complexidade

computacional do algoritmo NPGA.

Page 75: AGs para Otimização Multiobjetivo

Non-Dominated Sorting Genetic Algorithm (NSGA)

– Ideia • Utiliza um esquema de seleção baseada em ordenamento para privilegiar

soluções não-dominadas.

• Método voltado para a criação de nichos para manter a diversidade.

– Procedimento • Determinação de fronteiras não dominadas.

• Para manter a diversidade na população as soluções não-dominadas compartilham os seus valores de aptidão segundo suas distâncias Euclidianas.

• Divide-se o valor da aptidão de cada indivíduo pelo contador de nichos que é proporcional ao número de vizinhos ao seu redor.

Page 76: AGs para Otimização Multiobjetivo
Page 77: AGs para Otimização Multiobjetivo

NSGA: Vantagens e Desvantagens

– Alta complexidade computacional do processo de ordenamento por não dominância;

– Ausência de elitismo que prejudicava o funcionamento do método;

– Necessidade de especificar o parâmetro de compartilhamento;

– Praticamente qualquer número de objetivos pode ser usado para os dois tipos de problemas: maximização ou minimização.

Page 78: AGs para Otimização Multiobjetivo

Non-Dominated Sorting Genetic Algorithm – II (NSGA-II)

– Usa um mecanismo de elitismo para preservar e usar

previamente as melhores soluções encontradas em gerações

subsequentes;

– Usa o conceito de ordenamento por não dominância em AGs;

– Usa o operador de seleção por torneio de multidão para

preservar a diversidade entre as soluções não dominadas nos

estágios de execução posteriores.

Page 79: AGs para Otimização Multiobjetivo

Ordenação por dominância

– A fronteira F1 contêm as soluções não-

dominadas de todo o conjunto M .

– A fronteira F2 possui as soluções não-

dominadas de M −F1;

– F3 contêm as soluções de M −(F1 ∪F2)

e assim sucessivamente.

Para cada solução i contida em P são calculados dois

valores: 1. ndi , o número de soluções que dominam a

solução i ;

2. Ui, o conjunto de soluções que são dominadas

pela solução i.

Page 80: AGs para Otimização Multiobjetivo

Percorre o conjunto de soluções dominadas Ui para cada

solução i de F1. O contador ndj de cada solução j em Ui é

diminuído em 1. Se ndj = 0, então a solução j pertence a

próxima fronteira, neste caso, F2.

Page 81: AGs para Otimização Multiobjetivo
Page 82: AGs para Otimização Multiobjetivo

Esquema do modelo NSGA-II

Page 83: AGs para Otimização Multiobjetivo
Page 84: AGs para Otimização Multiobjetivo

Operador de comparação de multidão

Um a solução i é considerada ganhadora em um torneio

contra uma solução j, se:

– A solução i possui um melhor nível de não dominância;

– Se ambas soluções estão no mesmo nível, mas i tem uma

distância de multidão maior ,

Page 85: AGs para Otimização Multiobjetivo

NSGA: Vantagens e Desvantagens

– O cálculo da distância de multidão não requer do parâmetro σshare , como no MOGA.

– Se o conjunto F1 tem um tamanho maior que N, o processo de escolher apenas N soluções usando a distância de multidão faz que sejam perdidas soluções.

– Dado um conjunto de soluções de uma fronteira Fi , depois de aplicar o algoritmo de corte para NSGA-II, elimina-se uma solução Pareto- ótima e se mantém a solução não dominada (mas não Pareto-ótima).

Page 86: AGs para Otimização Multiobjetivo

Está é uma situação onde o algoritmo de corte para o NSGA-II erra!

Page 87: AGs para Otimização Multiobjetivo

Strength Pareto Evolutionary Algorithm (SPEA2)

– Utiliza elitismo através de população externa E onde são guardadas as

soluções não dominadas.

– A população E tem tamanho fixo de N fornecido como parâmetro.

– Cria uma população aleatória P0 e uma população externa E

inicialmente vazia.

– Calcula-se os valores de aptidão para as soluções em R = P ∪ E.

Page 88: AGs para Otimização Multiobjetivo

Esquema para o cálculo de aptidão no algoritmo SPEA2

Soluções não dominadas terão Fi < 1, e as demais soluções Fi ≥ 1.

Pode falhar quando existem muitas soluções não dominadas.

SPEA2 usa uma informação de densidade, baseada no método de k-vizinhos.

Page 89: AGs para Otimização Multiobjetivo

Algoritmo de Corte em SPEA2

– Depois disto, existe m 3 possíveis situações: 1. |En+1| = N, e não se fazem modificações sobre |Et+1|.

2. |En+1| < N, então ordena-se R por Fi e copia- se as primeiras N−|En+1| soluções i de Q tal que Fi ≥ 1.

3. |En+1| > N, neste caso se utiliza um algoritmo de corte sobre |En+1|.

– Finalmente, se realiza o processo de seleção por torneio, cruzamento e mutação sobre En+1 para gerar a nova população Pn+1.

Page 90: AGs para Otimização Multiobjetivo

Algoritmo de Corte em SPEA2

– Em cada iteração escolhe-se uma

solução tal que a sua distância para o

seu vizinho mais próximo seja a

menor possível.

– No caso de empate, se calcula a

segunda menor distância, e assim

por diante.

– Formalmente, em cada iteração uma

solução i é eliminada tal que i ≤d j

para todas as j ∈ En+1 .

Page 91: AGs para Otimização Multiobjetivo
Page 92: AGs para Otimização Multiobjetivo

SPEA2: Vantagens e Desvantagens

– Introduz um método baseado na dominância de Pareto que não requer

uma ordenação por não dominância, como no NSGA-II.

– O uso de uma população externa garante que as soluções Pareto-ótimas

sejam conservadas para a geração seguinte.

– Apresenta casos onde uma solução não Pareto-ótima, mas não dominada

até o momento, seja preferida a uma solução Pareto-ótima após a

aplicação do algoritmos de corte;

– SPEA2 introduz um parâmetro adicional, o tamanho da população externa

E.

Page 93: AGs para Otimização Multiobjetivo

Comparar experimentalmente

diferentes métodos de

otimização envolve a noção

de performance.

Metas de convergência e

diversidade podem ser

conflitantes uma com a outra.

Neste caso, um algoritmo não é superior ao outro com

relação aos critérios de convergência e diversidade.

Page 94: AGs para Otimização Multiobjetivo

A comparação dos algoritmos

dependerá fortemente da métrica

empregada.

Métricas de desempenho

classificadas em dois grupos:

– Métricas para medir a convergência;

– Métricas de diversidade.

Page 95: AGs para Otimização Multiobjetivo

Métricas de Convergência

– Comparam o soluções P encontradas ao conjunto soluções Pareto-ótimas do problema, denotado por P′:

• Taxa de Erro;

• Distância Geracional;

• Métrica de Cobertura.

Page 96: AGs para Otimização Multiobjetivo

Taxa de Erro

– Calcula o número de soluções em P que não estão em P’

– Assim, quanto menor for o valor de ER, melhor será a convergência.

– Se ER = 0, significa que P ⊆ P′.

Page 97: AGs para Otimização Multiobjetivo

Distância Geracional

– Representa a distância Euclidiana média (no espaço de objetivos) entre as soluções de P e P’: GD (do inglês Generational Distance).

– Quanto mais próximo de zero for o valor GD, melhor será a convergência de P.

Page 98: AGs para Otimização Multiobjetivo

Métrica de Cobertura

– Dados dois conjuntos de soluções P e Q, esta métrica calcula a proporção de soluções de Q que são fracamente dominadas pelas soluções de P.

– Quando SC(P,Q) = 1 todas as soluções de Q são dominadas por soluções de P.

– Se SC(P,Q) = 0, então nenhuma solução de Q é fracamente dominada pelas soluções em P.

Page 99: AGs para Otimização Multiobjetivo

Métricas de Diversidade

– Calculam a distribuição das soluções de um conjunto P:

• Espaçamento;

• Número de nichos;

• Espalhamento.

Page 100: AGs para Otimização Multiobjetivo

Espaçamento

– Calcula o desvio padrão entre as distâncias de soluções consecutivas (no espaço de objetivos) do conjunto P (Deb, 2001);

– neardisti representa a distância (no espaço de objetivos) entre a solução i e a solução mais próxima dela no conjunto P;

– Quanto menor for o valor da métrica SP , melhor distribuídas estarão as soluções do conjunto P.

Page 101: AGs para Otimização Multiobjetivo

Número de nichos

– Calcula o número de nichos dentro de um conjunto de soluções P.

– onde distij a distância entre as soluções i e j do conjunto P;

– pode ser calculada no espaço de variáveis ou de objetivos;

– NC = número de soluções cuja distância entre elas é maior que o parâmetro σ;

– Quanto maior a quantidade de nichos formados em P, melhor distribuídas estão as soluções em tal conjunto.

Page 102: AGs para Otimização Multiobjetivo

Métrica de Cobertura

– A métrica de espalhamento avalia: • A dispersão das soluções no conjunto P ao longo da fronteira de Pareto PF;

• A distribuição entre soluções contíguas (no espaço de objetivos) de P.

– O valor desta métrica, denotada como SPREAD é dado:

– onde extdistm representa a distância Euclidiana entre as soluções extremas na m-ésima função objetivo dos conjuntos P e P′.

Page 103: AGs para Otimização Multiobjetivo

Conclusão

– Foram apresentados os conceitos principais sobre Algoritmos

Genéticos (AGs) como técnica de otimização;

– As características dos AGs permitem seu emprego em problemas de

otimização Multi-Objetivo;

– Foram detalhados os principais modelos de AGs para estes problemas;

– Finalmente, algumas métricas para avaliar o desempenho dos AGs

foram mostradas.

Page 104: AGs para Otimização Multiobjetivo