15
HEURÍSTICAS 3 Marcus Ritt INF 05010 – Otimização combinatória — <2020-06-17 qua> 1

Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

HEURÍSTICAS 3

HEURÍSTICAS 3

Marcus RittINF 05010 – Otimização combinatória — <2020-06-17qua>

1

Page 2: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

HEURÍSTICAS 3Outline

1. Heurísticas de busca local

2. Heurísticas de recombinação

3. Algoritmos genéticos

2

tikopro
tikopro
tikopro
tikopro
tikopro
Page 3: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

1 HEURÍSTICAS 3

HEURÍSTICAS DE BUSCA LOCAL

Busca Tabu

Ideias centrais:• Seleciona o melhor vizinho, mas aceita soluções piores.• Para evitar ciclagem: não visitar soluções visitadas recemente

("tabu")Técnica central:• Introduz uma memória de curta duração ("lista tabu")• A memoria contém

• soluções recentes (raro, inefetivo)• atributos de soluções recentes

3

tikopro
tikopro
tikopro
tikopro
Vizinhança + solução inicial
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Page 4: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

1 HEURÍSTICAS 3

HEURÍSTICAS DE BUSCA LOCAL

Busca Tabu

BuscaTabu(s)=

{ mantem a melhor soluc~ao s∗ }

Inicializac~ao:

T := ∅while criterio de parada n~ao satisfeito

s := seleciona s′ ∈ N (s) com min f(s′)insira movimento em T (a lista tabu)

end while

return s∗

4

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Vizinhança reduzida
Page 5: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

1 HEURÍSTICAS 3

HEURÍSTICAS DE BUSCA LOCAL

"Lista"tabu e exceções

5

tikopro
Memoria de curta duração em atributos
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Atributos: arestas.
tikopro
tikopro
tikopro
Declarar atributos tabu, por um número fixo de iterações (duração tabu, tabu tenure).
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Tabela tabu
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Dur. tabu
tikopro
Consequência: posso não ver novas soluções ótimas.
tikopro
tikopro
Critério de aspiração: exceções do tabu; exemplo: melhor solução já visitada.
tikopro
Page 6: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

2 HEURÍSTICAS 3

HEURÍSTICAS DE RECOMBINAÇÃO

Manter múltiplas soluções

Ideais centrais:• Manter uma conjunto de soluções ("população de individuos")• Consequência: possibilidade de recombinação para produzir

novas soluções• Exemplos: algoritmos genéticos e meméticos, busca dispersa

6

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Scatter search
Page 7: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Introduçãox

Técnica central:• Representação de uma solução ("genótipo") e solução inteira

("fenótipo")• Operador de recombinação• Operador de modificação ("mutação")

7

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Page 8: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Nomenclatura e "metafora

Otimização GenéticaSolução Indivíduo/FenótipoRepresentação de uma solução GenótipoElemento de uma solução GeneValor de um elemento AleloConjunto de solução PopulaçãoRecombinação de solução CruzamentoModificação de uma solução Mutação

8

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Crossover
tikopro
Mutation
tikopro
tikopro
tikopro
Page 9: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Representação de soluções

Representacao Al Solucao S

1 0 1 0 1 0 1 0 1 0 1 0 1 0Mapeamento

cromossomo

gene com alelos 0,1

9

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Ex. PCV
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Soluções infáctiveis: se permitir, preciso ou penalizar infactibilidade na função objetivo; ou incluir um mecanismo de restaur
tikopro
tikopro
tikopro
tikopro
Page 10: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Procedimento em geral

• Initializar a população• Repete:

1. Avalia a população2. Seleciona pais para recombinação3. Aplica operadores de recombinação e mutação4. Seleciona a nova população

10

tikopro
tikopro
tikopro
tikopro
tikopro
Alg construtivo
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
# de sol. na pop.
tikopro
tikopro
AG: meta-
tikopro
tikopro
Mais difícil de calibrar.
tikopro
tikopro
tikopro
tikopro
tikopro
Ex.: somente mutação e pop. de tamanho 1: evolution strategies.
tikopro
tikopro
tikopro
Busca local estocástica.
tikopro
tikopro
tikopro
Prob. p
tikopro
Prob. pmut
tikopro
Page 11: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

População inicial

• Heuristicas constructivas (e.g. algoritmo guloso randomizado)• Tamanho µ: custo por iteração versus cobertura• Critério de Reeves para soluções binários: para alcancar toda

solução precisa todo alelo em todos genes. Probabilidade disso:

(1− 21−µ)n

com n genes.• Exemplo: Com n = 50 uma cobertura com probabilidade 0.999

precisa

µ ≥ 1− log2

(1− 50√0.999

)≈ 16.61

11

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Page 12: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Seleção para recombinação

• Princípio: selecionar os mais aptos• Proporcional à aptidão: ∝i• Proporcional à posição (transformada): ∝ r(i), e.g. r(i) = i−τ

• Torneio: melhor de um k-conjunto aleatório

12

tikopro
tikopro
tikopro
tikopro
Menor valor na f.o.
tikopro
tikopro
tikopro
tikopro
tikopro
Valor da f.o. da i-ésima sol.
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Page 13: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Seleção para nova população

• (λ,µ): melhores entre os filhos• (λ+µ): melhores entre os todos• Elitismo• Estado de equilíbrio

13

tikopro
tikopro
tikopro
tikopro
# de sol. na pop.
tikopro
# de descendentes criados
tikopro
tikopro
tikopro
tikopro
Nova pop. na próx. iteração (geração)
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
Page 14: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Operadores de recombinação

• Recombina duas (ou mais) soluções numa nova solução• Muitos operadores conhecidos na literatura. Exemplos:

• Representação binária: cruzamento em um ou mais pontos,cruzamento uniforme

• Representação por permutação: cruzamento ordenado (OX),ciclico (CX).

• OX: copia segmento, preenche resto em orden• CX: copia ciclo, preenche resto em orden

14

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
uniform crossover
tikopro
tikopro
tikopro
Page 15: Heurísticas 3 - INF 05010 Otimização combinatóriamrpritt/oc/17-slides.pdf · 2020. 7. 13. · BuscaTabu. BuscaTabu(s)= { mante m a melhor soluc˘~ao s } Inicializac˘~ao: T:=;

3 HEURÍSTICAS 3

ALGORITMOS GENÉTICOS

Operadores de mutação

• Aplicar uma pequena modificação• Em geral: movimento aleatório em alguma vizinhança• Algoritmo memético: aplica uma busca local!

15

tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro
tikopro