A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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 e Automação

2 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

3 2.1 Combinatorial Optimization Dada 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.

4 2.1 Combinatorial Optimization Sã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

5 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.

6 2.1.2 Solution Methods for NP-Hard Problems Esses 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.

7 2.1.2 Solution Methods for NP-Hard Problems Algoritmos 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.

8 2.1.3 What is a Metaheuristic Algoritmos 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.

9 2.2 The ACO Metaheuristic Baseado 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.

10 2.2.1 Problem Representation ACO 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.

11 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;

12 2.2.1 Problem Representation Estados 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.

13 2.2.2 Ants’ Behavior Cada formiga: - Explora o grafo em busca de soluções ótimas; - Tem uma memória M k, 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 x k s e uma ou mais condições de término e k ;

14 2.2.2 Ants’ Behavior A 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 M k e de Ω (t). Quando adiciona um componente c j à 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.

15 2.2.3 The Metaheuristic Pode 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.

16 2.3 How Do I Apply ACO Descrição de como representar alguns problemas para aplicação do algoritmo ACO.

17 2.3.1 Travelling Salesman Problem G = (N,A), onde N= cidades e A=conexões/estradas. Cada estrada tem uma distância d ij associada. Objetivo: achar um circuito Hamiltoniano de distância mínima.

18 2.3.1 Travelling Salesman Problem Grafo 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.

19 2.3.1 Travelling Salesman Problem Feromônios e informação heurística: t ij representa a vontade de ir a j logo após sair de i. n ij é 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.

20 2.3.2 The Sequential Ordering Problem Achar 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.

21 2.3.2 The Sequential Ordering Problem Construçã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.

22 2.3.3 The Generalized Assignment Problem Conjunto de tarefas i deve ser atribuído a um conjunto de agentes j. Cada agente tem uma capacidade limitada a j. Cada tarefa atribuída consome r ij de capacidade do agente. O custo d ij e de atribuir uma tarefa i a um agente j é dado.

23 2.3.3 The Generalized Assignment Problem Construçã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.

24 2.3.3 The Generalized Assignment Problem Feromô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.

25 2.3.4 The Multiple Knapsack Problem Temos que alocar itens i de tamanho r i e valor b i numa mochila de capacidade a. O objetivo é maximizar o valor dos itens dentro da mochila. Pode também ser visto de forma multidimensional, onde r i e a são vetores.

26 2.3.4 The Multiple Knapsack Problem Construçã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.

27 2.3.4 The Multiple Knapsack Problem Feromô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.

28 2.3.5 The Network Routing Problem Conjunto de N de nós da rede. Conjunto L net de conexões entre os nós. Custo d ij 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.

29 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 à L net 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.

30 2.3.6 The Dynamic Traveling Salesman Problem Idê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.

31 2.3.6 The Dynamic Traveling Salesman Problem Feromô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.

32 2.4 Other Metaheuristics Simulated 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).

33 2.4.1 Simulated Annealing Inspirado 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.

34 2.4.2 Tabu Search A 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.

35 2.4.3 Guided Local Search A 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.

36 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.

37 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.

38 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.

39 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.


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google