Você está na página 1de 9

Algoritmos evolutivos para otimização multiobjetivo

• Apresentam facilidade e flexibilidade de modelagem;


• Exigem um menor esforço para encontrar cada solução do conjunto
de soluções não-dominadas, se comparado ao esforço de encontrar
uma solução para uma formulação mono-objetivo;
• São menos susceptíveis às características da fronteira de Pareto (não
convexa, descontínua);
• Podem trabalhar em espaços de busca que são intratáveis pelas
abordagens tradicionais.
Algoritmos evolutivos para otimização multiobjetivo

Os algoritmos evolutivos de otimização multiobjetivo mais relevantes, desenvolvidos entre 1989 e 1998, são:

• NSGA (do inglês, Nondominated Sorting Genetic Algorithm): é baseado em vários níveis de classificação dos
indivíduos. Todos os indivíduos não dominados são classificados em uma categoria. Esse grupo de indivíduos
classificados é removido e outro nível de indivíduos não-dominados é considerado. O processo continua até
que todos os indivíduos da população sejam classificados. Esse algoritmo não é muito eficiente porque requer
um número elevado de repetições de classificação.
• NPGA (do inglês, Niched-Pareto Genetic Algorithm): usa seleção por torneio baseado na relação de
dominância. Dois indivíduos são escolhidos aleatoriamente e comparados com um subconjunto da população
(tipicamente 10% da população). Se um deles é dominado por esse subconjunto e o outro não, então o
indivíduo não-dominado ganha. No caso dos dois serem dominados ou dos dois dominarem, o resultado do
torneio é decidido através de compartilhamento de fitness.
• MOGA (do inglês, Multi-Objective Genetic Algorithm): a classificação de um indivíduo corresponde ao número
de indivíduos na população corrente que o dominam. A todos os indivíduos não-dominados é atribuído o
maior valor possível de fitness, enquanto os dominados são penalizados de acordo com a densidade da
população na região em que se encontram.
Algoritmos evolutivos para otimização multiobjetivo

A segunda geração de algoritmos evolutivos começou quando o elitismo passou a ser


considerado. Esse elitismo geralmente se refere ao uso de uma população externa para
manter os indivíduos não dominados, encontrados ao longo do processo evolutivo.

• SPEA (do inglês Strength Pareto Evolutionary Algorithm) e SPEA2 (do inglês Strength Pareto
Evolutionary Algorithm 2): o SPEA2 é uma evolução do SPEA e é um método evolutivo de
otimização multiobjetivo que inclui o conceito de elitismo.
• PAES (do inglês Pareto Archived Evolution Strategy): consiste em uma estratégia evolutiva,
ou seja, um pai gera um único filho, que emprega busca local e usa um arquivo externo que
armazena soluções não-dominadas encontradas até o momento.
• NSGA-II (do inglês, Nondominated Sorting Genetic Algorithm II): proposto como uma
melhoria do NSGA. Ele estima a densidade das soluções vizinhas a uma solução da
população através do cálculo da distância de agrupamento (do inglês, crowding distance).
Aplicações dos algoritmos genéticos

• O espaço de busca deve estar delimitado dentro de um determinado


intervalo;
• Deve ser possível definir uma função de fitness ou ranking que
indique quão boa ou ruim é uma determinada resposta;
• As soluções deverão ser codificadas de uma maneira que seja
relativamente simples de serem implementadas no computador.
Aplicações dos algoritmos genéticos
Como exemplos de diferentes áreas de aplicação dos algoritmos genéticos é possível citar:
• Desenvolvimento de novos materiais que satisfaçam múltiplos objetivos;
• Otimização do carregamento de contêineres;
• Atribuição de processos em topologias de rede com processamento distribuído;
• Posição de arquivos em sistemas de armazenamento distribuído;
• Projeto de circuitos integrados;
• Otimização da infraestrutura de telefonia celular;
• Engenharia aeroespacial;
• Jogos;
• Robótica.
Aplicações dos algoritmos genéticos

Analogia do método de algoritmos genéticos com a teoria da genética


Como os algoritmos genéticos são procedimentos de busca baseados nos mecanismos da genética
natural e da seleção natural, é necessário fazer uma analogia entre as terminologias usadas na
biologia e no método dos algoritmos genéticos aplicados ao problema de otimização:
Estrutura de um algoritmo genético
simples
Vantagens e desvantagens dos algoritmos
genéticos na otimização
 Vantagens  Desvantagens

• Várias soluções; • Elevado custo computacional;


• Capaz de fugir dos mínimos • Podem convergir
locais; prematuramente devido a uma
• Capacidade de manipular vários série de fatores.
parâmetros simultaneamente;
• Usam operadores
probabilísticos.

Você também pode gostar