O documento resume uma apresentação sobre problemas NP-completos, heurísticas e algoritmos evolutivos. A apresentação introduz o tema, discute problemas sem solução exata e conceitos de (meta)heurística. Também apresenta algoritmos genéticos como exemplo de metaheurística e descreve o trabalho da próxima aula sobre bibliotecas de algoritmos metaheurísticos.
5. Mission Simulation Lab
HICEE
Avaliação dos problemas
▪Problemas podem ser resolvidos por algoritmos
polinomiais “fáceis”
▪Enquanto problemas que não podem ser resolvidos por
algoritmos polinomiais “difíceis”
▪Problemas considerados difíceis ou intratáveis são
comuns:
E lembrem… o papel do cientista/analista é
dar soluções para esses problemas!!!
09:075
6. Mission Simulation Lab
HICEE
Avaliação dos problemas
▪Importante conhecer uma grande quantidade de
problemas clássicos e seus algoritmos eficientes
▪Isso vai ajudar a ter os recursos mentais para resolver
problemas gerais encontrados no desenvolvimento de “softwares”
▪Para muitos desses problemas conhecemos soluções
polinomiais.
▪Embora para alguns a solução não é facilmente visualizável.
▪Identificando o problema, o cientista/analista chega a
duas opções:
▪Ou existe um algoritmo exato: poli/exp
▪Ou não existe... heurísticas.
09:076
7. Mission Simulation Lab
HICEE
Diante de um problema difícil, o que
podemos fazer?
▪Tratar com um algoritmo ótimo
▪algoritmos exatos
▪Tratar com algoritmos que chegam próximo ao
ótimo
▪Estabelecendo um tamanho máximo de procura
▪Tratar com algoritmos que tentam aproximar do
ótimo.
▪Não existe garantia do ótimo
▪São chamados de algoritmos heurísticos.
09:077
12. Mission Simulation Lab
HICEE
Heurísticas
▪Heurísticas, ou meta-heurísticas podem ser usadas para
resolver de maneira robusta e/ou eficientemente
problemas específicos de difícil solução ou que
apresentem complexidades no espaço de projeto.
▪Aqui definiremos,
▪Heurísticas: como procedimentos para geração de
soluções melhores em problemas específicos e;
▪Meta-heurísticas: como estratégias genéricas para busca
de soluções em diferentes tipos de problemas.
http://leeds-faculty.colorado.edu/glover/468%20-
%20A%20History%20of%20Metaheuristics%20w%20Sorensen%20%
26%20Sevaux.pdf
09:0713
13. Mission Simulation Lab
HICEE
Características típicas
das meta heurísticas
(Blum e Roli, 2003)
BLUM, C. e ROLI, A. Metaheuristics in Combinatorial Optimization:
Overview and Conceptual Comparison. ACM Computing Surveys, Vol.
35, No. 3,
September 2003, pp 268-308.
09:0714
14. Mission Simulation Lab
HICEE
MAAAAS eu posso criar minha
própria (meta) heurística?!?!?
1. Divida o Espaço de Projeto (EP) em R regiões
uniformemente espaçadas;
2. Gere um dado número N de soluções, aleatoriamente, em
cada região;
3. Identifique a região Rmelhor que tem as melhores soluções;
4. Realize uma busca local a partir dos pontos gerados na
sub-região;
5. Verifique o critério de parada. Se atingido, pare e retorne a
melhor solução encontrada; se não vá para o passo 6;
6. Faça EP = Rmelhor e vá para o passo 1.
09:0715
15. Mission Simulation Lab
HICEE
Gogogogo
1. Divida o Espaço de Projeto (EP) em R
regiões uniformemente espaçadas;
2. Gere um dado número N de soluções,
aleatoriamente, em cada região;
3. Identifique a região Rmelhor que tem as
melhores soluções;
4. Realize uma busca local a partir dos
pontos gerados na sub-região;
5. Verifique o critério de parada. Se
atingido, pare e retorne a melhor
solução encontrada; se não vá para o
passo 6;
6. Faça EP = Rmelhor e vá para o passo 1.
09:0716
16. Mission Simulation Lab
HICEE
Algumas meta-heurísticas:
▪Método de Nelder-Mead.
▪Método DIRECT (Dividing RECTangles)
▪Recozimento Simulado (Simulated Annealing -
SA);
▪Colônia de Formigas (Ant Colony Optimization -
ACO);
▪Enxame de Partículas (Particle Swarm
Optimization - PSO);
▪Busca Tabu (Tabu Search);
▪Algoritmos Evolutivos (Evolutionary
Algorithms).
09:0717
18. Mission Simulation Lab
HICEE
Introdução à Algoritmos Evolutivos
A viagem do Beagle: de 1831 a 1836
Darwin viajou como naturalista no navio da
marinha Inglesa Beagle que tinha como
missão explorar as regiões costeiras pouco
conhecidas ao redor do mundo.
“Sobre a origem das espécies
por meio da Seleção Natural,
ou a preservação das espécies
favorecidas na luta pela vida”
(1857).
09:0719
19. Mission Simulation Lab
HICEE
Darwin observou e conclui que:
Populações têm potencial
para crescimento rápido
Os recursos naturais são
escassos
Luta pela sobrevivência
Indivíduos apresentam
variação em estrutura e
comportamento
Seleção Natural: na média o
indivíduo mais adaptado deixa
mais descendendes
Algumas características
são herdadas
Evolução: As populações mudam ao longo do
tempo por meio da seleção natural 09:0720
20. Mission Simulation Lab
HICEE
“ Experimentos com hibridização de
plantas” (1865).
• Primeiro a estudar de forma
sistemática como as características
de uma geração são passadas para
a próxima.
• As características dos seres vivos
são herdadas da geração anterior
por meio de regras de hibridização.
• Em um estudo com ervilhas,
associou “Fatores” internos às
características externas dos
indivíduos (em 1910 estes
• “fatores” imaginados por Mendel
• passaram a ser denominados de
• Genes).
Crossing-over: Troca de material genético
entre dois chromossomos.
Mutação: Modificação de um ou
mais gens no cromossomo.
09:0721
21. Mission Simulation Lab
HICEE
Algumas conclusões
▪A evolução natural é resultado de um
processo de seleção, ao longo de gerações,
dos indivíduos e espécies melhor adaptados
ao seu ambiente.
▪As Características dos indivíduos são
transmitidas de uma geração para a outra por
meio dos seus gens. O genótipo da nova
geração é formado pela recombinação do
genótipo da geração anterior e eventuais
mutações.
09:0722
22. Mission Simulation Lab
HICEE
O que é um Algoritmo Evolutivo?
▪Uma população de indivíduos.
▪Uma representação para os
indivíduos.
▪Uma noção de adaptabilidade
(fitness).
▪Um ciclo de “vida e morte” dos
indivíduos baseado na
adaptabilidade: Seleção.
▪ Uma noção de herança.
Elementos
Principais
09:0723
23. Mission Simulation Lab
HICEE
O que é um Algoritmo Evolutivo?
Gere uma população
inicial
Selecione Indivíduos
para serem país
Produza filhos.
Selecione a nova
população
Repita até
que um
critério de
parada seja
atingido
09:0724
26. Mission Simulation Lab
HICEE
Projeto/Seminário – P3
▪Montar/disponibilizar uma biblioteca de algoritmos meta-
heurísticos dos pseudocódigos do artigo: “Metaheuristics
in Combinatorial Optimization: Overview and Conceptual
Comparison”
▪Cada grupo pegará um algoritmo.
▪O que será fornecido aos grupos
▪A Classe de Interface
▪As fontes de dados [ uma discreta e uma contínua]
▪As opções de configuração
▪As funções objetivo com os critérios de parada.
▪Seminário
▪Explicação do método (inspiração) / Demonstração do
algoritmo / Apresentação dos resultados
09:0727
27. Mission Simulation Lab
HICEE
Conjunto de
dados
Controles
Caixa
Mágica
Melhor(es)
resultados dos
dados
Conjunto de
Funções
objetivos
• Tempo de busca
• Quantidade de
iterações
• Complexidade de
cada iteração
• Proximidade da
solução ótima
09:0728
28. Mission Simulation Lab
HICEE
Métodos com algoritmos no artigo
▪TRAJECTORY METHODS
▪Basic Local Search: Iterative Improvement
▪Simulated Annealing
▪Tabu Search
▪Explorative Local Search Methods
▪Greedy Randomized Adaptive Search Procedure
▪Variable Neighborhood Search
▪Guided Local Search
▪Iterated Local Search
▪POPULATION-BASED METHODS
▪Evolutionary Computation
▪Scatter Search and Path Relinking
▪Estimation of Distribution Algorithms
▪Ant Colony Optimization
09:0729