Tópicos Especiais em Otimização
Ivo Chaves da Silva Junior
Juiz de Fora, 12 de Maio de 2016
Algoritmos Genéticos
Algoritmo Genético
John H. Holland
(Pesquisador da Universidade de Michigan)
Década de 60 - Propôs um processo de otimização, denominado:
Motivação
3
Na evolução das espécies, só os indivíduos mais aptos ao meio ambiente sobrevivem e a estes são dadas a oportunidade de se
reproduzir e deixar suas características em seus descendentes
TEORIA DA EVOLUÇÃO DAS ESPÉCIES
Técnicas de Busca
Baseadas em Cálculo Aleatórias-Guiadas Enumerativas Algoritmos Evolucionários Resfriamento Simulado
Algoritmos Genéticos
Algoritmos Evolucionários
5
DEFINIÇÃO:
Algoritmos que modelam computacionalmente os processos naturais da evolução de modo a construir uma ferramenta para resolução de problemas nas mais diversas áreas do conhecimento.
SIMULAÇÃO DA EVOLUÇÃO DAS ESPÉCIES 4 etapas:
Seleção dos indivíduos
Reprodução entre indivíduos Nova geração de indivíduos Nascimento dos indivíduos
n Algoritmos genéticos (GA) são um ramo dos algoritmos evolucionários
n São algoritmos de busca baseados nos mecanismos de seleção
natural e genética.
n Os algoritmos genéticos são técnicas heurísticas de otimização global
Heurística significa “encontrar” ou “descobrir”, porém sem garantir a
otimalidade da solução encontrada.
7
Coisas bizarras da computação evolutiva :
Pais morrerem imediatamente após o nascimento dos filhos Mutações genéticas frequentes
Indivíduos eternos
Entre outras...
Algoritmos evolucionários são
INSPIRADOS
na natureza e não
uma cópia fiel da mesma
Não há distinção de machos e fêmeas
Conceitos Básicos
Algoritmos Genéticos
" Indivíduo Uma solução
" População Conjunto de Soluções
" Geração Passo do Processo de Solução
" Cromossomos Sequências de Caracteres
" Gene Cada um dos Caracteres
" Genótipo Codificação da Solução
" Fenótipo Decodificação da Solução
Maximização Métodos clássicos 9
Conceitos Básicos
Algoritmos Genéticos
Máximo Global Máximo Local Ponto Inicial Ponto Inicial§ GAs trabalham com várias soluções ao mesmo tempo, logo, não ficam presos a ótimos locais devido a condição inicial . Situação que ocorre com métodos de otimização clássica (baseados em derivadas).
CARACTERÍSTICAS DOS AGs
n São técnicas probabilísticas, e não técnicas determinísticas.
n Iniciando um AG com a mesma população inicial e o mesmo conjunto
de parâmetros podemos encontrar soluções diferentes a cada vez que executamos o programa.
n GAs são em geral programas extremamente simples que necessitam
somente de:
n Informações relativas à adequabilidade do ponto como solução do
problema em questão
n Não necessitam de derivadas ou qualquer outra informação
adicional.
n Extremamente aplicáveis a problemas do mundo real que em geral
11
Conceitos Básicos
Algoritmos Genéticos
n Trabalham com uma grande população de soluções, sendo uma
heurística de busca.
n Diferenciam-se dos esquemas enumerativos pelo fato de não
procurar em todos os pontos possíveis, mas sim em um
subconjunto destes pontos
n Diferenciam-se de esquemas aleatórios por:
- Serem uma busca que utiliza informação pertinente ao problema
-Não trabalham com caminhadas aleatórias (random walks) pelo espaço de soluções.
POR QUE USAR ALGORITMOS GENÉTICOS??
n Otimização Global
n Não é afetada por descontinuidades
n Capaz de lidar com funções discretas e contínuas
n Boa técnica para atacar problemas com espaços de busca
13
Algoritmos Genéticos
REPRESENTAÇÃO DE UM INDIVÍDUO - MODELAGEMn A representação cromossomial é fundamental para o algoritmo genético.
n Ela consiste em uma maneira de traduzir a informação do problema em
uma maneira viável de ser tratada pelo computador.
n Quanto mais adequada ao problema, maior a qualidade dos resultados
15
Algoritmos Genéticos
Variável X2
Variável X1
8
35
0 0 1 0 0 0
1 0 0 0 1 1
Codificação
(Genótipo)
Decodificação
(Fenótipo)
Indivíduo
Cromossomo
Gene
02 Cromossomos
12 Genes
EXEMPLO DE UM INDIVÍDUOComo os AGs têm o mesmo comportamento que a evolução das espécies:
COMPETIÇÃO ENTRE OS INDIVÍDUOS É NATURAL
17
COMPETIÇÃO!!!???
QUAL É O CRITÉRIO A SER AVALIADO??
n A função aptidão é a maneira utilizada pelos AGs para determinar a
qualidade de um indivíduo como solução do problema em questão. n É uma nota dada ao indivíduo na resolução do problema.
n O valor da função de aptidão é usada para a escolha dos indivíduos pelo
módulo de seleção de pais, sendo a forma de diferenciar entre as boas e as más soluções para um problema.
n Dada a generalidade dos AGs, a função de avaliação, em muitos casos, é a
única ligação verdadeira do algoritmo com o problema real.
19
Algoritmos Genéticos
AVALIAÇÃO DO INDIVÍDUO – FUNÇÃO APTIDÃOf
apt
=
1
FOB + C
min
f
apt
= FOB
" Problema de Maximização:
OBSERVAÇÕES IMPORTANTES SOBRE – FUNÇÃO APTIDÃO
n NENHUM INDIVÍDUO DEVE TER AVALIAÇÃO NULA;
n A FUNÇÃO APTIDÃO DEVE EMBUTIR TODAS AS RESTRIÇÕES E
CARACTERÍSTICAS DO PROBLEMA EM ANÁLISE;
n A FUNÇÃO APTIDÃO DEVE SER CAPAZ DE DIFERENCIAR TODAS AS
21
Algoritmos Genéticos
SELEÇÃO DOS MELHORES INDIVÍDUOSn O método de seleção de pais deve simular o mecanismo de seleção
natural:
n Pais mais capazes geram mais filhos;
n Pais menos aptos também podem gerar descendentes.
n 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;
n Até indivíduos com péssima avaliação podem ter características genéticas
SELEÇÃO DOS MELHORES INDIVÍDUOS
n Método simples e muito adotado: MÉTODO DA ROLETA.
"
Exemplo Roleta
Indivíduo 1 2 3 Função Aptidão 100 130 50 Total 280 Pedaço Roleta 35,70% 46,40% 17,90% 100%23
Algoritmos Genéticos
CRUZAMENTO E MUTAÇÃOn O operador de cruzamento mais simples é chamado de operador de
CRUZAMENTO DE UM PONTO.
Pontos de Corte: 1 2 3 4
• Depois de sorteado o ponto de corte, nós separamos os pais em duas partes: uma à esquerda do ponto de corte e outra à direita.
24
Pai 1
Pai 2 Selecionamos um ponto de corte
Pai 1 Pai 2 cruzamento Filho 1 Filho 2 mutação Filho 1 Filho 2 Gen alterado CRUZAMENTO E MUTAÇÃO
25
Algoritmos Genéticos
n Por simplicidade, população não pode crescer. População de tamanho constante;
n Pais são, obrigatoriamente, substituídos conforme os filhos vão nascendo;
n A cada cruzamento estaremos criando dois filhos;
n Estes vão sendo armazenados até que o número de filhos gerado seja igual ao
tamanho da população original;
n A probabilidade de ocorrência de mutação deve ser baixa. Se for alta, o AG será
muito parecido com uma técnica chamada “RANDOM WALK”.
TAMANHO DA POPULAÇÃO
GRANDE Aumento do tempo computacional
Pequena Convergência prematura / rápida
PROBABILIDADE DE SELEÇÃO/ REPRODUÇÃO ALTA BAIXA
Algoritmos Genéticos
Perda de qualidade genética
Pouca diversidade genética
ANÁLISE DOS PARÂMETROS GENÉTICOS
PROBABILIDADE DE MUTAÇÃO
ALTA
BAIXA
Processo muito aleatório
Estagnação do processo (restrito a ótimos locais)
FIM DO PROCESSO GENÉTICO
Algoritmos Genéticos
NÚMERO MÁXIMO DE GERAÇÕES TEMPO DE EXECUÇÃO
ANÁLISE DO VALOR MÉDIO DA POPULAÇÃO
ESTAGNAÇÃO DE UMA SOLUÇÃO POR UM DETERMINDO PERÍODO
ANÁLISE DOS PARÂMETROS GENÉTICOS
Intervalos Típicos dos Parâmetros Genéticos
Tamanho
População
Probabilidade de
Cruzamento
Probabilidade de
Mutação
Tp Pc Pm 30 100 90% 60% 1% 0,1%Tamanho
População
31
Algoritmos Genéticos
Fluxograma
Seleção: escolhemos os indivíduos que participarão
do processo reprodutório
Avaliação :
Aplicamos a função de avaliação a cada um dos indivíduos desta geração
Operadores genéticos: Aplicamos os operadores de recombinação e mutação
aos indivíduos escolhidos para “pais”
Satisfizemos o critério de parada ? Não Fim Sim Módulo de população :
definimos a nova população a partir da geração existente e dos filhos
gerados
Filhos gerados sobrevivem e são copiados sobre seus pais
Toda a antiga geração de pais
Filho 1 : Filho 2 :
Algoritmos Genéticos
Exemplo Ilustrativo – Mecanismo Genético
Algoritmos Genéticos
Geração 1 Máximo Global Indivíduo 35Geração 10
Indivíduo de baixa aptidão
Algoritmos Genéticos
Geração 5098% dos indivíduos no ponto de máximo global. Geração de excelente qualidade
Gráfico de Convergência – Média da População
Nº de Gerações FOB
Melhor solução
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Outros Operadores Genéticos
REPRODUÇÃO/CROSSOVER
Genitor -1 Genitor -2 Descendente -1 Descendente - 2 (sorteio)
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Outros Operadores Genéticos
O Cruzamento é realizado gene a gene.
0
1
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Outros Operadores Genéticos
POPULAÇÃO
0 10 20 30 40 50 60 0 2000 4000 6000 8000 10000 12000 Generation Ma x imu m/ A v e ra g e F it n e s s 0 10 20 30 40 50 60 0 2000 4000 6000 8000 10000 12000 Generation Ma x imu m/ A v e ra g e F it n e s s
Sem Elitismo
Com Elitismo
n O melhor indivíduo da geração anterior deve estar presente na próxima geração;
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Outros Operadores Genéticos
SELEÇÃO
• Selecionamos uma série de “K” indivíduos da população;
• Fazemos com que eles entrem em competição direta pelo direito de ser pai, usando como arma a sua avaliação;
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Observações
MUTAÇÃO
n Importante para a diversidade genética;
n Heurística exploratória;
n Estratégias de taxas de mutação que variem ao longo do processo;
n Estratégias de mutação dirigidas (situação de estagnação);
REPRODUÇÃO/CROSSOVER
n Importante para evitar a busca aleatória da solução (randow walk);
n Codificação binária à crossover uniforme é o indicado (maior combinação);
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Observações
PARÂMETROS GENÉTICOS
n Estimar os valores dos parâmetros genéticos (desafio);
n Estratégia Determinística (parâmetros genéticos fixos)
n Estratégia Adapativa (parâmetros genéticos ajustáveis)
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Aplicação
Ivo Chaves da Silva Junior