Notas 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: