Mission Simulation Lab
HICEE
Ficha:
Nome: 03 - Problemas NP-completos, heurísticas e algoritmos aproximados
Local: UNIFEI
Data: 2017-10-17 – 08h30  09h00 Duração: 30min
Público Alvo: Alunos de Graduação
09:071
Mission Simulation Lab
HICEE
Heurísticas e Algoritmos
Evolutivos (parte 1)
Projeto e Análise de Algoritmos
Christopher Shneider Cerqueira
Mission Simulation Lab
HICEE
Introdução
Hoje:
• Problemas sem solução exata
• Conceitos de (meta) heurística
• Parte 1 – Algoritmos Genéticos
• Apresentação do trabalho da P3
Prox:
• Parte 2 – Algoritmos Genéticos (escolher soluções)
09:073
Mission Simulation Lab
HICEE
Problemas sem solução exata
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
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
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
Mission Simulation Lab
HICEE
Exemplo:
09:079
Mission Simulation Lab
HICEE
Qual o melhor?!?!
Todas são entradas para avaliação (n)
09:0710
Mission Simulation Lab
HICEE
Exemplo:
09:0711
Mission Simulation Lab
HICEE
Conceitos de (meta) heurística
http://www.dictionary.com/browse/heuristics?s=t
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
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
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
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
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
Mission Simulation Lab
HICEE
Parte 1 – Algoritmos Genéticos
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
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
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
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
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
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
Mission Simulation Lab
HICEE
09:0725
Mission Simulation Lab
HICEE
Trabalho P3
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
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
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

Intro heuristica

  • 1.
    Mission Simulation Lab HICEE Ficha: Nome:03 - Problemas NP-completos, heurísticas e algoritmos aproximados Local: UNIFEI Data: 2017-10-17 – 08h30  09h00 Duração: 30min Público Alvo: Alunos de Graduação 09:071
  • 2.
    Mission Simulation Lab HICEE Heurísticase Algoritmos Evolutivos (parte 1) Projeto e Análise de Algoritmos Christopher Shneider Cerqueira
  • 3.
    Mission Simulation Lab HICEE Introdução Hoje: •Problemas sem solução exata • Conceitos de (meta) heurística • Parte 1 – Algoritmos Genéticos • Apresentação do trabalho da P3 Prox: • Parte 2 – Algoritmos Genéticos (escolher soluções) 09:073
  • 4.
  • 5.
    Mission Simulation Lab HICEE Avaliaçãodos 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çãodos 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 Diantede 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
  • 8.
  • 9.
    Mission Simulation Lab HICEE Qualo melhor?!?! Todas são entradas para avaliação (n) 09:0710
  • 10.
  • 11.
    Mission Simulation Lab HICEE Conceitosde (meta) heurística http://www.dictionary.com/browse/heuristics?s=t
  • 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ísticastí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 MAAAASeu 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 Algumasmeta-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
  • 17.
    Mission Simulation Lab HICEE Parte1 – Algoritmos Genéticos
  • 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 Darwinobservou 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 Algumasconclusõ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 Oque é 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 Oque é 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
  • 24.
  • 25.
  • 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 Conjuntode 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étodoscom 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