inteligência de enxame 2 – the ant colony optimization metaheuristic cpe-730 filipe de almeida...

39
Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle e Automação

Upload: kevin-lameira-galindo

Post on 07-Apr-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

Inteligência de Enxame

2 – The Ant Colony Optimization Metaheuristic

CPE-730

Filipe de Almeida Araujo VitalAluno de Graduação em Engenharia de Controle e Automação

Page 2: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2 – The Ant Colony Optimization Metaheuristic

Otimização combinatória: -problemas fáceis de formular-difíceis de resolver (muitos são NP-

Hard)

Logo, necessidade de utilizar heurísticas

Heurística = método aproximativo que utiliza conhecimentos específicos do problema

Page 3: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.1 Combinatorial OptimizationDada uma função objetivo, achar os

valores para variáveis discretas que gerem uma solução ótima;

Exemplos: menor caminho e atribuição de tarefas a empregados.

Podem ser de maximização ou minimização.

Page 4: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.1 Combinatorial OptimizationSão definidos como uma tripla (S,f,Ω),

onde:- S = conjunto de soluções possíveis;- f = função objetivo definida para todo

s ϵ S;- Ω= conjunto de restrições.

Objetivo: achar uma função globalmente ótima que seja viável

Page 5: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.1.1 Computational Complexity

A abordagem mais direta de resolução seria a busca exaustiva. No entanto, geralmente isso é impossível, devido à complexidade do problema

A complexidade de um problema é representada por O(g(n)), onde const . g(n) é o limite superior do tempo de resolução de qualquer uma das instâncias do problema de tamanho n.

Page 6: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.1.2 Solution Methods for NP-Hard ProblemsEsses problemas não podem ser

resolvidos em tempo polinomial.Os algoritmos podem ser:

exatos = solução ótima garantida;aproximativos = solução pode não ser o ótimo global.

Devido à complexidade dos problemas, é necessário trocar qualidade por eficiência.

Page 7: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.1.2 Solution Methods for NP-Hard ProblemsAlgoritmos aproximativos = heurística.

Buscam obter soluções quase-ótimas a um custo computacional relativamente baixo.

Podem ser:- Construtivas = constrói uma solução

partindo do zero.- De busca local = melhora uma solução

inicial fazendo mudanças locais.

Page 8: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.1.3 What is a MetaheuristicAlgoritmos de execução única tem

como desvantagem: gerar um número muito limitado de solução ou parar em soluções de baixa qualidade.

Metaheurística = heurística utilizada para guiar as heurísticas de resolução para regiões do espaço de busca que tenham soluções de melhor qualidade.

Page 9: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.2 The ACO MetaheuristicBaseado na cooperação entre

agentes relativamente simples que se comunicam por estigmergia.

Pode ser usado em problemas estáticos ou dinâmicos.

- estáticos: características fixas;- dinâmicos: características

mudam em tempo de execução.

Page 10: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.2.1 Problem RepresentationACO pode ser aplicado a

qualquer problema para o qual possa ser definida uma heurística construtiva.

A dificuldade consiste em como representar o problema numa forma compatível com o método.

Page 11: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.2.1 Problem Representation( S, f(s,t), Ω(t) ), t = tempo;

Conjunto finito de componentes;

Estados do problema são sequencias finitas;

As soluções estão contidas nos estados;

Page 12: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.2.1 Problem RepresentationEstados viáveis contidos nos estados;

Conjunto não-vazio de soluções ótimas contidas nos estados viáveis e nas soluções;

Um custo g(s,t) associado a cada solução;

Eventualmente uma estimativa do custo J(x,t) pode ser associada a estados que não são soluções.

Page 13: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.2.2 Ants’ BehaviorCada formiga:- Explora o grafo em busca de soluções ótimas;

- Tem uma memória Mk, que pode ser usada para:1- implementar as restrições;2- calcular valores heurítiscos;3- avaliar uma solução encontrada;4- refazer o caminho de volta;

- Tem um estado inicial xks e uma ou mais

condições de término ek;

Page 14: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.2.2 Ants’ BehaviorA cada iteração, se nenhuma condição de

término for satisfeita, a formiga se move para um nó da vizinhança da sua posição atual. Caso contrário, a formiga para.

Ela escolhe um movimento aplicando uma regra de decisão probabilística, função das informações locais, de Mk e de Ω(t).

Quando adiciona um componente cj à solução, pode atualizar o valor de feromônio associado a esse componente ou à conexão

Uma vez construída a solução, ela pode refazer o caminho de volta, atualizando os feromônios do percurso.

Page 15: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.2.3 The MetaheuristicPode ser dividida em:- Construct Ant Solution:

responsável por gerar e gerir cada formiga;

- Update Pheromones: gerencia a atualização dos feromonios (acréscimo e evaporação);

- Daemon Actions: implementa tarefas centralizadas para influenciar o comportamento da colônia.

Page 16: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3 How Do I Apply ACODescrição de como representar

alguns problemas para aplicação do algoritmo ACO.

Page 17: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.1 Travelling Salesman ProblemG = (N,A), onde N= cidades e

A=conexões/estradas.

Cada estrada tem uma distância dij associada.

Objetivo: achar um circuito Hamiltoniano de distância mínima.

Page 18: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.1 Travelling Salesman ProblemGrafo de construção: idêntico ao grafo

do problema.nós=componentes; arcos=conexões; pesos= distâncias;estados= todos os caminhos parciais.

Restrições: Cada formiga só se desloca para um nó que ainda não visitou.

Page 19: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.1 Travelling Salesman ProblemFeromônios e informação heurística:

tij representa a vontade de ir a j logo após sair de i. nij é inversamente proporcional à distancia entre i e j.

Construção da solução: Cada formiga começa numa cidade escolhida aleatoriamente e caminha pelo grafo até visitar todas as cidades.

Page 20: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.2 The Sequential Ordering ProblemAchar um caminho hamiltoniano

de peso mínimo num grafo direcionado com pesos nos arcos e nós.

Primeiramente devemos passar os pesos dos nós para os arcos, obtendo um problema semelhante ao TSP assimétrico, sendo que a solução não é um circuito.

Page 21: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.2 The Sequential Ordering ProblemConstrução do grafo: igual ao do TSP.Restrições: igual ao do TSP, porém

tentando satisfazer as restrições de precedência.

Feromônios e informação heurística: igual ao TSP.

Construção da solução: as formigas constroem a solução adicionando, passo a passo, nós à solução parcial, usando na escolha os feromônios, as heurísticas e as restrições.

Page 22: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.3 The Generalized Assignment ProblemConjunto de tarefas i deve ser

atribuído a um conjunto de agentes j.

Cada agente tem uma capacidade limitada aj.

Cada tarefa atribuída consome rij de capacidade do agente.

O custo dij e de atribuir uma tarefa i a um agente j é dado.

Page 23: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.3 The Generalized Assignment ProblemConstrução do grafo: C = I U J, cada

atribuição será um arco (i,j).Restrições: - fazer as formigas sempre trocarem

entre I e J. As tarefas(i) não podem ser repetidas, mas os agentes(j) podem;

- As restrições de capacidade podem ser seguidas definindo a vizinhança do nó como apenas os agentes que ainda têm capacidade suficiente pra cumprir a tarefa em questão.

Page 24: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.3 The Generalized Assignment ProblemFeromônios e informação heurística:- Podem ser associados a 2 decisões:

1 Qual tarefa atribuir a seguir;2 A quem atribuir determinada tarefa.

Construção da solução: realizada como de costume, escolhendo componentes para adicionar à solução parcial.

Page 25: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.4 The Multiple Knapsack ProblemTemos que alocar itens i de

tamanho ri e valor bi numa mochila de capacidade a. O objetivo é maximizar o valor dos itens dentro da mochila.

Pode também ser visto de forma multidimensional, onde ri e a são vetores.

Page 26: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.4 The Multiple Knapsack ProblemConstrução do grafo: - C = itens; - grafo completamente conectado;- Valor pode ser associado aos arcos ou

aos nós;

Restrições: vizinhança do nó deve conter apenas itens que não farão a solução ultrapassar a restrição de capacidade.

Page 27: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.4 The Multiple Knapsack ProblemFeromônios e informação heurística:- feromônios são associados aos

componentes e indicam a vontade de incluí-los na solução;

- informação heurística deve preferir itens de valor elevado e de baixo custo.;

Construção da solução: itens adicionados iterativamente. Cada item pode ser adicionado apenas uma vez, e o algoritmo termina quando não é mais possível adicionar algum item sem violar as restrições.

Page 28: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.5 The Network Routing ProblemConjunto de N de nós da rede.Conjunto Lnet de conexões entre os nós.Custo dij em cada conexão.Custos e topologia da rede podem

variar no tempo.

Objetivo: devemos achar o caminho de custo mínimo entre todos os pares de nós da rede.

Page 29: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.5 The Network Routing Problem Construção do grafo: - C = N, L conecta completamente o grafo.

Restrições: apenas usar conexões pertencentes à Lnet

Feromônios e informação heurística: - NRP é um conjunto de problemas de caminho de custo

mínimo, então cada arco deve ter varias trilhas de feromônios, uma para cada destino possível.

- A informação heurística pode ser inversamente proporcional ao fluxo em cada conexão.

Construção da solução: cada formiga tem uma origem s e um destino d, ela começa em s e anda pelo grafo até chegar em d.

Page 30: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.6 The Dynamic Traveling Salesman ProblemIdêntico ao TSP, porém as

cidades podem ser removidas e adicionadas durante a execução.

Construção do grafo: igual ao TSP.

Restrições: todos os nós devem ser visitados apenas 1 vez.

Page 31: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.3.6 The Dynamic Traveling Salesman ProblemFeromônios e informação

heurística: igual ao TSP.Importante decidir como gerir as

modificações no grafo. Uma cidade que acabou de ser inserida pode receber em suas conexões uma quantidade de feromônios igual à média das outras.

Construção da solução: igual ao TSP.

Page 32: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4 Other MetaheuristicsSimulated Annealing (busca

local);Tabu Search (busca local);Guided Local Search (busca

local);Iterated Local Search (busca

local;)Greedy Randomized Adaptive

Search Procedures (construtiva);Evolutionary Computation (busca

local);Scatter Search (busca local).

Page 33: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4.1 Simulated AnnealingInspirado no processo metalúrgico de

recozimento, no qual um metal é aquecido e depois resfriado lentamente para alterar suas propriedades, tornando sua estrutura mais homogênea.

A cada iteração é avaliada uma solução vizinha. Se ela for melhor que a atual, é aceita, senão ela pode ser aceita ou não, com uma probabilidade dependendo de T.

Durante a execução do algoritmo, T é diminuído aos poucos.

Page 34: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4.2 Tabu SearchA cada iteração, a solução é atualizada

para a melhor solução de sua vizinha, mesmo que essa solução seja pior do que a atual.

Para evitar ciclos, mudanças nos atributos que levam a soluções visitadas, recentemente são declaradas como tabu.

Eventualmente esse status de tabu pode ser desconsiderado para visitar soluções ainda não visitadas e tidas como interessantes.

Page 35: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4.3 Guided Local SearchA função objetivo é atualizada a cada vez

que o algoritmo encontra um ótimo local.

São adicionadas penalidades à função relativas a cada componente das soluções e a função objetivo é atualizada pela modificação dessas penalidades.

Cada solução é avaliada em relação à função original para verificar sua qualidade e, quanto à função modificada, para guiar a busca.

Page 36: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4.4 Iterated Local Search Partindo de uma solução inicial s, é

aplicada uma busca local. Após encontrado um mínimo local, essa solução s’ é perturbada por um movimento numa vizinhança diferente daquela usada pela busca local, e outra busca local é realizada.

Um critério de aceitação é utilizado pra definir em qual dos 2 ótimos locais será feita a próxima perturbação.

Page 37: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4.5 Greedy Randomized Adaptive Search Procedures Tem uma fase construtiva e uma de busca

local.

Na fase construtiva, a cada iteração, os componentes são classificados de acordo com uma função greedy, e os melhores são incluídos numa lista restrita. Um elemento dessa lista é escolhido aleatoriamente para a solução.

Após ser obtida uma solução completa, é realizada uma busca local.

Page 38: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4.6 Evolutionary Computation Baseado em populações, das quais

cada indivíduo representa uma solução sendo considerada.

Possui um processo de reprodução que define quais indivíduos vão sobreviver e fazer parte da próxima geração.

Possui um processo de recombinação para gerar novos indivíduos.

Possui um processo de mutação que modifica aleatoriamente um indivíduo.

Page 39: Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle

2.4.7 Scatter Search Um grande número de soluções iniciais são

criadas usando um método de geração de diversificação. A cada solução é aplicada uma busca local.

Dentre essas soluções, é escolhido, baseadas na qualidade e diversidade, um conjunto de referência (rs). A partir desse conjunto, são criados subconjuntos de 2 ou mais soluções a serem combinadas.

Cada solução gerada é melhorada com uma busca local e pode substituir uma solução de rs.

O processo é repetido até que rs não mude mais.