Table Of ContentNotas de aula
Marcus Ritt
[email protected]
6 de Abril de 2016
Universidade Federal do Rio Grande do Sul
Instituto de InformÆtica
Departamento de InformÆtica Te(cid:243)rica
i
Versão6592do2016-04-06,compiladaem6deAbrilde2016. Obraestálicen-
ciada sob uma Licença Creative Commons (Atribuição–Uso Não-Comercial–
Não a obras derivadas 3.0 Brasil).
Agradecimentos Agradeçoosestudantesdaprimeiraediçãodessadisciplina
em 2013 por críticas e comentários e em particular o Tadeu Zubaran por
diversas correções e sugestões.
iii
Conteœdo
1. Introdução 5
1.1. Não tem almoço de graça . . . . . . . . . . . . . . . . . . . . . 6
1.2. Representação de soluções . . . . . . . . . . . . . . . . . . . . . 7
1.2.1. Reduções de problemas . . . . . . . . . . . . . . . . . . 8
1.2.2. Transformações entre representações . . . . . . . . . . . 9
1.3. Estratégia de busca: Diversificação e intensificação . . . . . . . 11
1.4. Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2. Busca por modificação de soluções 13
2.1. Vizinhanças . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1. Vizinhanças reduzidas . . . . . . . . . . . . . . . . . . . 16
2.2. Buscas locais monótonas . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1. Segue os vencedores . . . . . . . . . . . . . . . . . . . . 25
2.2.2. Complexidade. . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.3. Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3. Buscas locais não-monótonas . . . . . . . . . . . . . . . . . . . 30
2.3.1. Critérios de parada . . . . . . . . . . . . . . . . . . . . . 30
2.3.2. Aceitação por limite e variantes . . . . . . . . . . . . . . 31
2.3.3. Buscas locais estocásticas . . . . . . . . . . . . . . . . . 32
2.3.4. Otimização extremal . . . . . . . . . . . . . . . . . . . . 35
2.3.5. Busca local guiada . . . . . . . . . . . . . . . . . . . . . 35
2.3.6. Busca tabu . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4. Buscas locais avançadas . . . . . . . . . . . . . . . . . . . . . . 39
2.4.1. Busca local iterada . . . . . . . . . . . . . . . . . . . . . 39
2.4.2. Busca local com vizinhança variável . . . . . . . . . . . 40
2.4.3. Busca local em vizinhanças grandes . . . . . . . . . . . 43
2.4.4. Detecção de estagnação genérica . . . . . . . . . . . . . 43
2.4.5. Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5. Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3. Busca por construção de soluções 45
3.1. Construção simples . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. Algoritmos gulosos . . . . . . . . . . . . . . . . . . . . . 45
3.1.2. Algoritmos de prioridade . . . . . . . . . . . . . . . . . 48
1
Conteúdo
3.1.3. Busca por raio . . . . . . . . . . . . . . . . . . . . . . . 49
3.2. Construção repetida independente . . . . . . . . . . . . . . . . 50
3.2.1. GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.2. Bubble search randomizada . . . . . . . . . . . . . . . . 51
3.3. Construção repetida dependente . . . . . . . . . . . . . . . . . 52
3.3.1. Iterated greedy algorithm . . . . . . . . . . . . . . . . . 52
3.3.2. Squeaky wheel optimization . . . . . . . . . . . . . . . . 52
3.3.3. Otimização por colônias de formigas . . . . . . . . . . . 53
3.4. Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.5. Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4. Busca por recombinação de soluções 55
4.1. Religamento de caminhos . . . . . . . . . . . . . . . . . . . . . 57
4.2. Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3. Scatter search . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4. GRASP com religamento de caminhos . . . . . . . . . . . . . . 61
4.5. Algoritmos genéticos e meméticos . . . . . . . . . . . . . . . . . 62
4.5.1. População inicial . . . . . . . . . . . . . . . . . . . . . . 64
4.5.2. Seleção de indivíduos. . . . . . . . . . . . . . . . . . . . 64
4.5.3. Recombinação e mutação . . . . . . . . . . . . . . . . . 65
4.5.4. Seleção da nova população. . . . . . . . . . . . . . . . . 65
4.5.5. O algoritmo genético CHC . . . . . . . . . . . . . . . . 68
4.5.6. Algoritmos genéticos com chaves aleatórias . . . . . . . 69
4.6. Otimização com enxames de partículas . . . . . . . . . . . . . . 70
4.7. Sistemas imunológicos artificiais. . . . . . . . . . . . . . . . . . 72
4.8. Intensificação e diversificação revisitada . . . . . . . . . . . . . 72
4.9. Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.9.1. Até mais, e obrigado pelos peixes! . . . . . . . . . . . . 73
5. Tópicos 75
5.1. Hibridização de heurísticas . . . . . . . . . . . . . . . . . . . . 75
5.1.1. Matheuristics . . . . . . . . . . . . . . . . . . . . . . . . 75
5.1.2. Dynasearch . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2. Híper-heurísticas . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3. Heurísticas paralelas . . . . . . . . . . . . . . . . . . . . . . . . 79
5.4. Heurísticas para problemas multi-objetivos . . . . . . . . . . . 83
5.4.1. Busca por modificação de soluções . . . . . . . . . . . . 86
5.4.2. Busca por recombinação de soluções . . . . . . . . . . . 87
5.5. Heurísticas para problemas contínuas . . . . . . . . . . . . . . . 90
5.5.1. Meta-heurísticas para otimização contínua . . . . . . . . 94
5.6. Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2
Conteúdo
6. Metodologia para o projeto de heurísticas 97
6.1. Projeto de heurísticas . . . . . . . . . . . . . . . . . . . . . . . 98
6.2. Analise de paisagens de otimização . . . . . . . . . . . . . . . . 101
6.3. Avaliação de heurísticas . . . . . . . . . . . . . . . . . . . . . . 105
6.3.1. Testes estatísticos . . . . . . . . . . . . . . . . . . . . . 109
6.3.2. Escolha de parâmetros . . . . . . . . . . . . . . . . . . . 117
6.3.3. Comparar com que? . . . . . . . . . . . . . . . . . . . . 122
6.4. Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
A. Conceitos matemáticos 125
A.1. Probabilidade discreta . . . . . . . . . . . . . . . . . . . . . . . 128
3
1. Introdu(cid:231)ªo
Um problema de busca é uma relação binária P ⊆I×S com instâncias x∈I
e soluções y∈S. O par (x,y)∈P caso y é uma solução para x.
Definição 1.1
A classe de complexidade FNP contém os problemas de busca com relações
P polinomialmente limitadas (ver definição 1.3) tal que (x,y) ∈ P pode ser
decidido em tempo polinomial.
A classe de complexidade FP contém os problemas em FNP para quais existe
um algoritmo polinomial A com
(cid:14)
y para um y tal que (x,y)∈P
A(x)= .
“insolúvel” caso não existe y tal que (x,y)∈P
Teorema 1.1
FP=FNP se e somente se P=NP.
Prova. Ver por exemplo Papadimitriou (1993, cáp. 10.3). (cid:4)
Definição 1.2
Um problema de otimização Π=(P,ϕ,opt) é uma relação binária P ⊆I×S
com instâncias x∈I e soluções y∈S, junto com
• uma função de otimização (função de objetivo) ϕ:P →N (ou Q).
• um objetivo: Encontrar mínimo ou máximo
OPT(x)=opt{ϕ(x,y)|(x,y)∈P}
junto com uma solução y∗ tal que f(x,y∗)=OPT(x).
O par (x,y)∈P caso y é uma solução para x.
Uma instância x de um problema de otimização possui soluções S(x) = {y |
(x,y)∈P}.
Convenção 1.1
Escrevemos um problema de otimização na forma
5
1. Introdução
Nome
Instância x
Solução y
Objetivo Minimiza ou maximiza ϕ(x,y).
Com um dado problema de otimização correspondem três problemas:
• Construção: Dado x, encontra a solução ótima y∗ e seu valor OPT(x).
• Avaliação: Dado x, encontra valor ótimo OPT(x).
• Decisão: Dadoxek,decideseOPT(x)≥k(maximização)ouOPT(x)≤
k (minimização).
Definição 1.3
Uma relação binária R é polinomialmente limitada se
∃p∈poly: ∀(x,y)∈R:|y|≤p(|x|).
Definição 1.4 (Classes de complexidade)
AclassePOconsistedosproblemasdeotimizaçãotalqueexisteumalgoritmo
polinomial A com ϕ(x,A(x))=OPT(x) para x∈I.
A classe NPO consiste dos problemas de otimização tal que
(i) As instâncias x∈I são reconhecíveis em tempo polinomial.
(ii) A relação P é polinomialmente limitada.
(iii) Para y arbitrário, polinomialmente limitado: (x,y) ∈ P é decidível em
tempo polinomial.
(iv) ϕ é computável em tempo polinomial.
1.1. Nªo tem almo(cid:231)o de gra(cid:231)a
“Sire in eight words I will reveal to you all the wisdom that I
have distilled through all these years from all the writings of all
the economists who once practiced their science in your kingdom.
Hereismytext: ‘Thereain’tnosuchthingasfreelunch’” (NN
1938)
6
Description:cas individuais na seções 2 a 4; um procedimento genérico de intensificação e diversificação é .. G = (V, A) define uma instância do PCV com cidades V, e distâncias da = 1 caso a ∈ A, e da = 2 caso. 24 Segue os vencedores (ingl. go with the winners) (Aldous e Vazirani 1994) é uma estr