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

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

Cap. 3 – Algorítimos de otimização por colônia de formigas para o problema do caixeiro viajante Aluno: Luiz Évora Disciplina: CPE 730 – Inteligência de.

Apresentações semelhantes


Apresentação em tema: "Cap. 3 – Algorítimos de otimização por colônia de formigas para o problema do caixeiro viajante Aluno: Luiz Évora Disciplina: CPE 730 – Inteligência de."— Transcrição da apresentação:

1 Cap. 3 – Algorítimos de otimização por colônia de formigas para o problema do caixeiro viajante
Aluno: Luiz Évora Disciplina: CPE 730 – Inteligência de Enxame /03

2 Sumário Problema do caixeiro viajante Algorítimos ACO para TSP
AS (Ant System) e seus sucessores diretos EAS, Asrank, MMAS Extensões de AS ACS, ANTS, Hipercubo Avaliação experimental ACO com busca local Implementação de algorítimos de ACO Conclusões

3 Introdução O problema do caixeiro viajante (TSP)
Extensivamente estudado na literatura Atrai uma quantidade considerável de pesquisa O primeiro algorítmo ACO foi testado primeiramente em TSP Porque escolher o problema do TSP? Importante problema de otimização NP-hard Algorítimos ACO são aplicados facilmente Fácil entendimento Padrão para testes de novas idéias algorítimicas

4 Problema do Caixeiro Viajante
Iniciando de sua cidade natal, visitar cidades na menor rota possível, visitando cada cidade apenas uma vez N = conjunto de nós representando as cidades A = conjunto de arcos G = (N, A) TSP assimétrico: dij ≠ dji TSP simétrico: dij = dji Objetivo TSP: Achar o comprimento mínimo do circuito Hamiltoniano do grafo (caminho fechado visitando casa n = |N| nós de G exatamente uma vez)

5 Problema do Caixeiro Viajante
Solução ótima é a permutação ∏ dos índices dos nós tal que o comprimento f(∏) seja mínimo Experimentos computacionais 532 cidades nos EUA Furos em placas de circuito impresso

6 Algorítimos ACO para TSP
ACO pode ser aplicado ao TSP de maneira direta G = (C, L) onde C=N e L=A O grafo de construção é um grafo completo Grafo simples em que todo vértice é adjacente a todos os outros vértices Qualquer caminho fechado que visita todos os nós sem repetir qualquer nó corresponde a um circuito realizável Em todos os algorítmos ACO para TSP, trilhas de feromônios são associadas aos arcos τij se refere a atração de visitar a cidade j diretamente após a cidade i A informação heurística é escolhida como ηij = 1/dij

7 Construção de circuitos
Escolher, de acordo com algum critério, uma cidade inicial para posicionar a formiga Usar valores de feromônio e heurística para construir probabilisticamente o circuito Iterativamente adicionando cidades que a formiga ainda não visitou Retornar a cidade inicial Com isso, deposita-se o feromônio no caminho correspondente

8 Algorítimo básico Esse algorítimo é aplicado a maioria dos algorítimos ACO para TSP Exceção quando evaporação é intercalada com a construção do circuito

9 Algorítimos ACO Ant System foi introduzido com TSP como exemplo de aplicação Inferior aos algorítimos estado da arte para TSP Inspirou um grande número de extensões com melhoras de performance Algorítimos ACO de acordo com a ordem cronológica de aparição

10 Ant System Inicialmente, três versões de AS foram propostas
Ant-density e ant,quantity Atualização de feromônio após cada movimento entre cidades Ant-cycle (referência) Atualização de feromônio após a construção de todos os circuitos Sua quantidade como função da qualidade do circuito

11 Inicialização Uma boa heurística é inicializar as trilhas de feromônios em um valor levemente maior que o depósito esperado em uma iteração τij = τ0 = m/Cnn , onde m é o número de formigas e Cnn é o comprimento do circuito gerado pelos vizinhos mais próximos Esse tipo de inicialização traz vantagens Se feromônios inicias baixos, busca rapidamente tendenciosa para os primeiros circuitos Se altos, muitas iterações até a evaporação fazer efeito

12 Construção do circuito
Em AS, m formigas constroem o circuito concorrentemente Formigas são colocadas em cidades aleatórias A cada passo, a formiga k aplica a regra de escolha de ação probabilística (Regra proporcionalmente aleatória) para decidir qual cidade visitar em seguida ηij = 1/dij é um valor heurístico disponível a priori α e β determina a influência do feromônio e da informação heurística é o conjunto de cidades não visitadas

13 Escolha de parâmetros Para cada caso, escolhas de parâmetros específicas podem retornar um melhor resultado Entretanto, esses parâmetros apresentam performance razoável em um conjunto significante de problemas de TSP

14 Construção do circuito
Cada formiga mantém uma memória Mk que contém as cidades já visitadas e a ordem de visita Ajuda na definição dos destinos possíveis A memória Mk permite computar o comprimento do circuito percorrido e de fazer o depósito de feromônio Existem duas alternativas de construção (equivalentes) Paralela: A cada passo, todas as formigas se movem de uma cidade para outra Sequencial: Uma formiga completa um circuito antes da próxima iniciar outro

15 Atualização de feromônios
Após a construção de todos os circuitos, as trilhas de feromônios são atualizadas Diminuir o valor de feromônio em todos os arcos por um valor constante Adicionar feromônio aos arcos nos quais formigas atravessaram Onde p é a taxa de evaporação se o arco (i, j) pertence a Tk caso contrário Arcos que usados por muitas formigas e que são parte de circuitos curtos recebem mais feromônios Performance de AS cai dramaticamente com o aumento do tamanho do problema

16 Elitist Ant System (EAS)
Fornece reforço adicional para arcos pertencentes ao melhor circuito desde o início do algorítimo Circuito Tbs (best-so-far) Atualização do feromônio Resultados computacionais sugerem que EAS com um valor apropriado de e permite encontrar soluções melhores e em um número menor de iterações se o arco (i, j) pertence a Tbs caso contrário

17 Rank-Based Ant System (ASrank)
Cada formiga deposita uma quantidade de feromônio que varia com seu rank A melhor formiga ainda deposita a maior quantidade de feromônio em cada iteração Antes da atualização, as formigas são ordenadas pelo tamanho do circuito Empates são resolvidos de maneira aleatória A cada iteração, apenas as (w-1) melhores formigas e a formiga que produziu o melhor circuito depositam feromônio

18 Max-Min Ant System (MMAS)
Explora fortemente os melhores circuitos encontrados Apenas a formiga da melhor iteração ou a melhor até o momento depositam feromônio Pode levar a estagnação Trilhas de feromônio limitadas a [τmin, τmax] Inicialização no limite máximo Pequena taxa de evaporação, aumenta a exploração no início Reinicialização das trilhas cada vez que o sistema se aproxima da estagnação Ou o circuito não apresenta melhora por um certo número de iterações

19 Atualização do feromônio
Evaporação -> Depósito de novo feromônio Onde , que pode ser o best-so-far ou o melhor da iteração É possível utilizar os dois valores de maneira alternada A escolha da maneria de atualização tem influência em quão gananciosa a busca será Best-so-far – Busca foca rapidamente em torno do Tbs Iteration-best – Número de arcos recebendo feromônio é maior e a busca menos direcionada Com pequenas instâncias, iteration-best apresenta melhor performance, enquanto para TSP maiores, best-so-far é recomendado

20 Limites de feromônios A imposição de limites tem o efeito de limitar a probabilidade pij de selecionar a cidade j quando a formiga está em i 0 < pmin ≤ pij ≤ pmax ≤ 1 O limite superior é delimitado por 1/ρC*, onde C* é o comprimento do circuito ótimo Com isso, uma estimativa 1/ρCbs define τmax a cada iteração O limite inferior é definido como τmin = τmax/a

21 Inicialização de feromônios
Para iniciar, os feromônios iniciais são atribuídos como uma estimativa de seu limite superior Fase inicial é bastante explorativa Reinicialização é feita para aumentar a exploração de caminhos que tem probabilidade baixa de serem escolhidos Tipicamente quando chega a estagnação ou não apresenta melhora

22 Ant Colony System Difere do AS em três pontos principais
Explora a experiência de busca mais agressivamente Evaporação e depósito de feromônio apenas nos arcos do circuito best-so-far Cada vez que uma formiga utiliza um arco, feromônio é removido

23 Construção do circuito
Quando na cidade i, a formiga k se move para a cidade j de acordo com a regra proporcional pseudoaleatória dada por Onde q é uma variável aleatória uniformemente distribuída em [0, 1], q0 um parâmetro e J uma variável aleatória de acordo com a probabilidade de escolha Exploração realizada pelas trilhas de feromônios e informação heurística, ou uma exploração tendenciosa Controlado pelo parâmetro q0 se caso contrário

24 Atualização de feromônio global
Em ACS, apenas a formiga best-so-far pode adicionar feromônio a cada iteração Evaporação e depósito apenas nos arcos de Tbs Complexidade cai de O(n2) para O(n) Uso de melhor da iteração não produz melhoras onde Soma ponderada entre feromônio antigo e novo

25 Atualização de feromônio local
Aplicada imediatamente a formiga ter atravessado um arco Experimentalmente = 0,1, enquanto um bom valor para τ0 é n é o número de cidades e Cnn o comprimento do circuito de vizinhos mais próximos Efeito: Cada vez que uma formiga utiliza um arco, ele se torna menos desejado Aumenta a exploração, não apresenta estagnação Contrução em paralelo ou sequencial não são indiferentes

26 Considerações ACO foi o primeiro ACO a utilizar lista de candidatas
Restringir o número de escolhas disponíveis a serem consideradas Para o caso de TSP, as lista contém as cidades mais próximas Lista permanece fixa durante todo o processo Apenas se todas as cidades na lista foram visitadas, outras são escolhidas Aumenta a qualidade da solução Aumenta a velocidade de resposta

27 Approximated Nondeterministic Tree Search (ANTS)
Explora idéias de programação matemática Computa limites inferiores em soluções parciais para definir a informação heurística que é utilizada por cada formiga Repetidamente tenta adicionar um arco em uma solução parcial Estima-se o custo de um circuito completo contendo esse arco por um limite inferior Quanto mais baixa a estimativa, mais atrativo é o arco Com isso, soluções que poderiam ser consideradas são descartadas se seus custos são maiores que a best-so-far

28 Construção da solução A escolha da próxima cidade a ser visitada é dada pela probabilidade Onde é um parâmetro entre 0 e 1 Apenas um parâmetro é utilizado, assim como operações mais simples (somas ao invés de multiplicações)

29 Atualização de feromônios
Não existe evaporação explícita, sendo implementada por Onde Se a solução é pior que a média, os feromônios dos arcos utilizados pela formiga são diminuidos se o arco (i, j) partence a Tk caso contrário é um parâmetro LB é o limite inferior, sendo LB ≤ C*, onde C* é o tamanho do circuito ótimo Lavg a média móvel dos últimos l circuitos gerados pelas formigas Não foi aplicado a TSP

30 Hyper-Cube Framework Automaticamente reescala os valores dos feromônios para estarem no intervalo [0, 1] se arco (i, j) é utilizado pela formiga k caso contrário

31 Avaliação experimental
Os experimentos dão uma indicação do comportamento geral dos algorítimos ACO quando aplicados a problemas de otimização combinatorial NP-hard Ilustração do que acontece quando incluída a busca local Os resultados não pretendem competir com algorítimos estado da arte em TSP Porém, os resultados são interessantes por podem ser refletidos em outros problemas NP-hard

32 Simétrico, 14 cidades, 0, 5, 10 e 100 iterações
Comportamento de ACO Quanto mais escuro , maior o valor do feromônio Simétrico, 14 cidades, 0, 5, 10 e 100 iterações

33 Estagnação da solução A longo prazo e com bons parâmetros, a tendência é reduzir o espaço de busca explorado Mas pode ser indesejado se acontecer muito cedo Os desvios padrões σL dos circuitos de cada iteração podem ser utilizado para detectar estagnação Se 0, percorreu o mesmo caminho Depende dos valores absolutos dos caminhos Uma alternativa é utilizar o coeficiente de variação σL / Média de comprimento dos circuitos Independente de escala

34 Estagnação da solução Uma maneira de medir a distância entre dois circuitos é contar o número de arcos contidos em um circuito mas não no outro Se essa distância chegar a 0, chegamos a uma estagnação Computacionalmente caro λ-branching factor, 0 < λ < 1, mede a distribuição de feromônios mais diretamente É dado pelo número de arcos que possuem feromônios com valor Da uma indicação do espaço de busca efetivamente explorado pelas formigas

35 Comportamento de AS Good: Bad: Uma má escolha dos parâmetros leva a uma estagnação rápida Experimentos mostram que AS entra em estagnação se α é muito grande Também não acha bons resultados para valores muito menores que 1

36 Comportamento de AS Resultados ruins por excesso de exploração
Good: Bad: Resultados ruins por excesso de exploração Não consegue focar a busca nas partes mais promissoras do espaço de busca Deve-se achar o equilíbrio entre um foco muito grande na busca, ou uma busca pouco orientada

37 Comportamento das extensões de AS
MMAS AS-RANK EAS ACS

38 Comportamento das extensões de AS
MMAS AS AS-RANK EAS ACS

39 Comportamento da MMAS Possui o maior período de busca exploratória
Trilhas inicializadas com valor limite máximo e taxa de evaporação baixa (0,02) Feromônios nos arcos do melhor circuito sobem até o limite máximo, enquanto os outros podem descer até o mínimo Mesmo assim, ainda é possível explorar circuitos, pois devido ao valor mínimo, a probabilidade de escolha não é 0

40 Comportamento da ACS Busca bastante agressiva que foca desde o início no circuito best-so-far Tbs Enquanto atravessados por formigas, os arcos têm seus feromônios diminuídos Favorece a exploração de arcos não-visitados Como consequência, formigas nunca convergem para um mesmo circuito

41 AS x Extensões Instância A

42 AS x Extensões Instância B

43 ACO com busca local Para TSP, algorítimos com busca local possuem as melhores performances Iterativamente aplicam busca local em soluções iniciais que são geradas introduzindo modificações em algumas soluções ótimas locais Como ACO utiliza diferença de vizinhanças ao invés de busca local, a solução pode ser melhorada com a sua adição

44 Busca Local 2-opt 3-opt 2,5-opt

45 Questões Na maioria de procedimentos de busca local, quanto maior a qualidade do resultado, maior o tempo de processamento Aplicar uma busca local rápida frequentemente que melhora um pouco os resultados? Aplicar uma busca local lenta mas mais efetiva menos frequentemente? Qual o número de formigas utilizar? Usar informação heurística? Que formigas podem utilizar a busca local? Os parâmetros sem a busca local ainda são os melhores com a busca local?

46 Comparação – Busca local
MMAS Qualidade aumenta de 2-opt para 3-opt Também aumenta o tempo de computação

47 Número de formigas Número de formigas de 1 a 100
O melhor custo-benefício entre qualidade e tempo é obtido com um números entre 2 e 10 Em instâncias maiores, um número maior de formigas tem uma utilidade mais aparente

48 Informação heurística
Na fase inicial de construção, se os feromônios são aleatórios, os circuitos são de qualidade muito ruins A informação heurística visa evitar isso, buscando circuitos de qualidade desde o início Se busca local é utilizada, a inicialização aleatória é suficiente Será a informação heurística ainda necessária?

49 Comparação MMAS ACS Calcular a distância entre cidades é de fácil cálculo computacional, mas para outros problemas pode ser mais difícil a heurística Pelos experimentos, ACO com busca local deve ser suficiente

50 Atualização de feromônios com busca local
Cada formiga produz um circuito s1, que pode ser transformado em s2 pela busca local Lamarckian Darwinian Depositar feromônios em relação ao circuito final s2 Depositar feromônios em relação ao circuito intermediário s1 MMAS ACS

51 Implementação do algorítimo
Estruturas principais

52 Implementação do algorítimo
Inicialização do algorítimo Condições de término Solução encontrada dentro do limite pré-definido para solução ótima Número máximo de circuitos ou iterações atingido Máximo de tempo de CPU Comportamento de estagnação

53 Implementação do algorítimo
Limpeza de memória Formigas em cidades iniciais aleatórias Processo de construção do circuito Formigas retornam a cidade inicial

54 Implementação do algorítimo
Cidades com peso proporcional (roleta) Escolha da cidade

55 Implementação do algorítimo
Utiliza lista de candidatas Renova a lista de candidatas se todas já forma visitadas

56 Conclusões TSP foi o primeiro problema de otimização combinatória a ser estudado por ACO AS tinha boa performance para pequenas instâncias, e serviu de base para extensões As extensões de AS alcançam resultados muito melhores que o algorítimo original ACO alcança melhor performance com otimização local ACO com busca local não necessita de um número grande de formigas, e a heurística perde importância


Carregar ppt "Cap. 3 – Algorítimos de otimização por colônia de formigas para o problema do caixeiro viajante Aluno: Luiz Évora Disciplina: CPE 730 – Inteligência de."

Apresentações semelhantes


Anúncios Google