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

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

Ant Colony Optimization e Swarm Intelligence Fabr í cio Olivetti de Fran ç a CAMPINAS,

Apresentações semelhantes


Apresentação em tema: "Ant Colony Optimization e Swarm Intelligence Fabr í cio Olivetti de Fran ç a CAMPINAS,"— Transcrição da apresentação:

1 Ant Colony Optimization e Swarm Intelligence Fabr í cio Olivetti de Fran ç a olivetti@dca.fee.unicamp.br http://www.dca.fee.unicamp.br/~olivetti CAMPINAS, SP – BRASILagosto / 2006 Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica e de Computação Unicamp

2 Swarm Intelligence Algoritmos em que agentes atuam localmente realizando alguma interação com o grupo Individualismo x Coletivo As ações individuais de cada agente somadas e a interação entre eles formam a solução do problema como um todo Algoritmos populares: Ant Colony Optimization e Particle Swarm Optimization

3 Travelling Salesman Problem (TSP) G. B. Dantzig, R. Fulkerson, and S. M. Johnson, Solution of a large-scale traveling salesman problem, Operations Research 2 (1954), 393-410. Um caixeiro viajante deve partir de sua cidade, visitar “n” cidades diferentes, e retornar a sua origem.

4 Travelling Salesman Problem (TSP) Qual a seqüência de de cidades que devo percorrer de modo que eu gaste o menor tempo possível? Em outras palavras: qual o ciclo hamiltoniano de menor custo?

5 Travelling Salesman Problem (TSP) A solução ótima pode ser intuitiva para casos simples do problema

6 Travelling Salesman Problem (TSP) A solução ótima pode ser intuitiva para casos simples do problema

7 Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que a solução já não é mais intuitiva

8 ? Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que a solução já não é mais intuitiva

9 ? Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que a solução já não é mais intuitiva

10 ? Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que a solução já não é mais intuitiva

11 No exemplo anterior temos 8 cidades. Isso dá um total de (8-1)! = 5040 combinações possíveis. Fácil de resolver! Se aumentarmos para 20 cidades, teríamos (20-1)! = 121645100408832000. Não é tão simples. Travelling Salesman Problem (TSP)

12 Agora em um problema típico com 100 cidades, teríamos (100-1)! = 9x10 155 combinações possíveis!!!! Se um computador de 10THz consegue processar 10 12 combinações por ciclo, levaríamos 9x10 143 ciclos para completar essa tarefa, 9x10 131 segundos, que é igual a 3x10 136 anos. O universo tem aproximadamente 13,7x10 9 anos. Travelling Salesman Problem (TSP)

13 Ant Colony Optimization Goss, S., S. Aron e J. L. Deneubourg. Self-organized shortcuts in the Argentine ant. Naturwissenschaften, v.76, p.579-581. 1989.

14 Ant Colony Optimization

15 Foi observado o comportamento das formigas na busca pelos alimentos. Inicialmente cada formiga segue um caminho aleatório Após algum tempo elas tendiam a seguir um único caminho, considerado ótimo Cada formiga utiliza uma comunicação indireta para indicar para as outras o quão bom foi o caminho que ela escolheu Para isso elas espalham uma substância chamada “feromônio”

16 Ant Colony Optimization Foi colocado um ninho de formigas em um aquário com uma fonte de alimentos na outra ponta. Para chegar até esse alimento foram criados dois caminhos, sendo um maior que o outro. Como as formigas que escolheram o menor caminho faziam o percurso mais rapidamente que as outras, elas acabavam depositando uma maior quantidade de feromônio nesse caminho em relação ao outro em um mesmo instante de tempo. Logo, em um determinado momento a intensidade do feromônio no caminho mais curto estará tão alta que quase todas as formigas seguirão por ele.

17 Ant Colony Optimization Em 1992, Dorigo percebeu que as formigas resolviam um problema muito similar ao TSP e, inspirado nesse comportamento, resolveu modelá-lo computacionalmente e verificar como se comportava em algumas instâncias conhecidas do problema.

18 Ant Colony Optimization Dado um grafo com n vértices, colocar uma formiga artificial em cada um destes.

19 Ant Colony Optimization Cada formiga traça um caminho seguindo uma fórmula probabilística em função do feromônio “depositado” em cada aresta do grafo.

20 Ant Colony Optimization

21 Após a construção de todos os caminhos a intensidade de feromônio em cada aresta é acrescida proporcional a qualidade da solução gerada.

22 While it < max_it do, for each ant do, build_solution(); endfor update_pheromone(); endwhile Ant Colony Optimization Dorigo, M. Optimization, Learning and Natural Algorithms. Politecnico di Milano, Italy, 1992.

23 Ant Colony Optimization build_solution() Onde: J K é a lista de vértices não visitados; τ i,j é a quantidade de feromônio na aresta (i,j); η i,j é a informação de qualidade dessa aresta (geralmente determinada pelo inverso da distância) α e β são parâmetros que definem o grau de importância de τ e η respectivamente. Para construir a solução cada formiga utiliza iterativamente uma função probabilística para decidir se incluirá ou não determinada aresta na solução.

24 Ant Colony Optimization update_pheromone() Onde: ρ é a taxa de evaporação do feromônio; Δτ i,j é a quantidade de feromônio que será depositada na aresta (i,j); f(S) é o custo total da solução “S” Para atualizar a trilha de feromônio nas arestas é calculada inicialmente a quantidade a ser depositada em cada uma delas proporcional a qualidade das soluções que elas pertencem

25 Aplicações TSP Cada vértice representa uma cidade

26 Aplicações TSP Dorigo M., V. Maniezzo & A. Colorni (1996). Ant System: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1):29-41 Colorni A., M.Dorigo, F.Maffioli, V. Maniezzo, G. Righini, M. Trubian (1996). Heuristics from Nature for Hard Combinatorial Problems. International Transactions in Operational Research, 3(1):1-21. Dorigo M. & L.M. Gambardella (1997). Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem. IEEE Transactions on Evolutionary Computation, 1(1):53-66. (Also Tecnical Report TR/IRIDIA/1996-5, IRIDIA, Université Libre de Bruxelles.) Dorigo M. & L.M. Gambardella (1997). Ant Colonies for the Traveling Salesman Problem. BioSystems, 43:73- 81. Also Tecnical Report TR/IRIDIA/1996-3, IRIDIA, Université Libre de Bruxelles: Bullnheimer B., R. F. Hartl & C. Strauss (1999). A New Rank Based Version of the Ant System: A Computational Study. Central European Journal for Operations Research and Economics, 7(1):25-38, 1999. Also available as Working paper POM 3/97, Institute of Management Science, University of Vienna, Austria:

27 Aplicações Sequential Ordering Problem Igual ao TSP, mas com restrição de precedência (deve-se visitar um certo vértice i antes de passar pelo vértice j)

28 Aplicações Sequential Ordering Problem Gambardella L. M. and M. Dorigo (1997). HAS-SOP: An Hybrid Ant System for the Sequential Ordering Problem. Tech. Rep. No. IDSIA 97-11, IDSIA, Lugano, Switzerland.

29 Aplicações Vehicle Routing É formado por vários problemas de TSP partindo sempre de um ponto central

30 Aplicações Vehicle Routing Bullnheimer B., R.F. Hartl and C. Strauss (1999). An Improved Ant system Algorithm for the Vehicle Routing Problem. Paper presented at the Sixth Viennese workshop on Optimal Control, Dynamic Games, Nonlinear Dynamics and Adaptive Systems, Vienna (Austria), May 21-23, 1997, to appear in: Annals of Operations Research (Dawid, Feichtinger and Hartl (eds.): Nonlinear Economic Dynamics and Control, 1999. Bullnheimer B., R.F. Hartl and C. Strauss (1999). Applying the Ant System to the Vehicle Routing Problem. In: Voss S., Martello S., Osman I.H., Roucairol C. (eds.), Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization, Kluwer:Boston. Bullnheimer B. (1999). Ant Colony Optimization in Vehicle Routing. Doctoral thesis, University of Vienna, January 1999.

31 Aplicações Telecommunications Roteamento de dados em uma rede. É um problema dinâmico, ou seja, existem alterações no ambiente otimizado em função do tempo. Ex.: uma máquina é desconectada, uma linha de transmissão fica congestionada,...

32 Aplicações Telecommunications Schoonderwoerd R., O. Holland, J. Bruten and L. Rothkrantz (1997). Ant-based Load Balancing in Telecommunications Networks. Adaptive Behavior, 5(2):169-207. Schoonderwoerd R., O. Holland and J. Bruten (1997). Ant-like Agents for Load Balancing in Telecommunications Networks. Proceedings of Agents'97, Marina del Rey, CA, ACM Press, 209-216. Di Caro G. and M. Dorigo (1997). AntNet: A Mobile Agents Approach to Adaptive Routing. Tech. Rep. IRIDIA/97-12, Université Libre de Bruxelles, Belgium. Di Caro G. and M. Dorigo (1998). Mobile Agents for Adaptive Routing. Proceedings of the 31st Hawaii International Conference on System, IEEE Computer Society Press, Los Alamitos, CA, 74-83. Di Caro G. & Dorigo M. (1998). AntNet: Distributed Stigmergetic Control for Communications Networks. Journal of Artificial Intelligence Research (JAIR), 9:317-365.Journal of Artificial Intelligence Research (JAIR), Navarro Varela G. and M.C. Sinclair (1999). Ant Colony Optimisation for Virtual-Wavelength-Path Routing and Wavelength Allocation. Proceedings of the Congress on Evolutionary Computation (CEC'99), Washington DC, USA, July 1999. Ducatelle, F., G. Di Caro and L. M. Gambardella (2005). Using Ant Agents to Combine Reactive and Proactive Strategies for Routing in Mobile Ad Hoc Networks. International Journal of Computational Intelligence and Applications (IJCIA), Special Issue on Nature-Inspired Approaches to Networks and Telecommunications, Volume 5, Number 2, Pages 169-184, June 2005

33 Aplicações Quadratic Assigment Problem Dado p pontos denominados “centros”, alocar n pontos para um centro de forma a minimizar a distância total percorrida. Ex.: redes de distribuição de uma fábrica.

34 Aplicações Quadratic Assigment Problem Maniezzo V., A. Colorni and M. Dorigo (1994). The Ant System Applied to the Quadratic Assignment Problem. Tech. Rep. IRIDIA/94-28, Université Libre de Bruxelles, Belgium. Maniezzo V., L. Muzio, A. Colorni and M. Dorigo (1994). Il sistema formiche applicato al problema dell'assegnamento quadratico. Technical Report No. 94-058, Politecnico di Milano, Italy, in Italian. Taillard E. and L. M. Gambardella (1997). An Ant Approach for Structured Quadratic Assignment Problems. 2nd Metaheuristics International Conference (MIC-97), Sophia-Antipolis, France - July 21-24, 1997. Maniezzo V. (1998). Exact and approximate nondeterministic tree-search procedures for the quadratic assignment problem. Research Report CSR 98-1, Scienze dell'Informazione, UniversitÂ^ di Bologna, Sede di Cesena, Italy. Gambardella L. M., E. Taillard and M. Dorigo (1999). Ant Colonies for the Quadratic Assignment Problem. Journal of the Operational Research Society, 50:167-176. Maniezzo V. and A. Colorni (1999). The Ant System Applied to the Quadratic Assignment Problem. IEEE Transactions on Knowledge and Data Engineering, to appear. Stützle T. and M. Dorigo (1999). ACO Algorithms for the Quadratic Assignment Problem. In D. Corne, M. Dorigo and F. Glover, editors, New Ideas in Optimization, McGraw-Hill.

35 Aplicações P-Medianas O mesmo problema anterior mas também é necessário escolher a localização dos centros. Ex.: planejamento de instalações de novas fábricas

36 Aplicações P-Medianas De França, F. O., F. J. Von Zuben e L. N. De Castro. Definition of Capacited p-Medians by a Modified Max Min Ant System with Local Search. ICONIP - 2004 11th International Conference on Neural Information Processing - SPECIAL SES-SION ON ANT COLONY AND MULTI-AGENT SYSTEMS, v.3316, 2004, p.1094-110. 2004a. De França, F. O., F. J. Von Zuben e L. N. De Castro. A Max Min Ant System Applied To The Capacitated Clustering Problem. 2004 IEEE Workshop on Machine Learning for Signal Processing. São Luiz, Brasil: Proceedings of the 2004 IEEE International Workshop on Machine Learning for Signal Processing, 2004b. 755-764 p. De França, F. O., F. J. Von Zuben e L. N. De Castro. Max Min Ant System and Capacitated p-Medians: Extensions and Improved Solutions. Informatica, v.29, n.2, p.163-171. 2005b.

37 Aplicações Scheduling (escalonamento) Dividir n tarefas para m máquinas de forma obter o máximo aproveitamento ou menor tempo de processamento possível. Ex.: escalonamento de processos em uma CPU, divisão de projetos em uma empresa, compartilhamento de máquinas em linha de produção.

38 Aplicações Scheduling Colorni A., M. Dorigo, V. Maniezzo and M. Trubian (1994). Ant system for Job-shop Scheduling. JORBEL - Belgian Journal of Operations Research, Statistics and Computer Science, 34(1):39-53. Forsyth P. and A. Wren (1997). An Ant System for Bus Driver Scheduling. Presented at the 7th International Workshop on Computer-Aided Scheduling of Public Transport, Boston, August 1997.

39 Particle Swarm Optimization - PSO

40 Craig Reynolds percebeu que a movimentação de bandos de pássaros e cardumes de peixes eram sincronizados sem existir um controle central. Ele então criou um modelo do movimento de bandos de pássaros composto apenas por 4 regras: Separação: para evitar que cada pássaro colidisse com um outro Alinhamento: para fazer com que cada pássaro seguisse a mesma direção de seus vizinhos Coesão: para que cada pássaro seguisse a mesma posição de seus vizinhos Desvio: para que cada pássaro desviasse de obstáculos a frente

41 Particle Swarm Optimization - PSO Em 1995, James Kennedy and Russell Eberhart seguiram o modelo de Reynolds para aplicar em problemas de otimização contínua. Para isso eles utilizaram as regras de alinhamento e coesão e criaram um sistema de particulas denominado Particle Swarm Optimization (PSO)

42 Particle Swarm Optimization - PSO [x*] = PSO() P = inicia_particulas(); Para i=1 até max_it, Para cada particula p em P faça, fp = f(p); If fp melhor do que f(pBest) pBest = p; Fim Fim gBest = melhor p em P; Para cada partícula p em P faça, v = v + c1*rand*(pBest – p) + c2*rand*(gBest-p); p = p + v; Fim Fim

43 Particle Swarm Optimization - PSO Regra de atualização do posicionamento das partículas: p = p + v com: v = v + c1*rand*(pBest – p) + c2*rand*(gBest-p) onde p = posição da partícula v = direção de caminhada c1 = importância da informação local c2 = importância da informação global pBest = melhor posição do passado dessa partícula gBest = melhor posição global dos vizinhos dessa partícula rand = variável aleatória

44 Particle Swarm Optimization - PSO

45 Inicialmente no algoritmo, diversas partículas são espalhadas aleatoriamente no espaço de busca. Nas ilustrações a seguir o gráfico anterior estará mapeado em um ambiente 2D para melhor visualização.

46 Particle Swarm Optimization - PSO Iterativamente cada partícula utiliza a informação de sua melhor posição no passado (em cinza) e da melhor posição atual entre seus vizinhos. Melhor solução na vizinhança Melhor solução dessa partícula em iterações passadas

47 Particle Swarm Optimization - PSO E então ela se move em uma combinação linear desses dois vetores, com pesos diferentes, em uma nova posição.

48 Particle Swarm Optimization - PSO

49 Eberhart, R. C. and Kennedy, J. A new optimizer using particle swarm theory. Proceedings of the Sixth International Symposium on Micromachine and Human Science, Nagoya, Japan. pp. 39-43, 1995 Kennedy, J. and Eberhart, R. C. Particle swarm optimization. Proceedings of IEEE International Conference on Neural Networks, Piscataway, NJ. pp. 1942-1948, 1995 Kannan, S., Slochanal, S. M. R., Subbaraj, P., and Padhy, N. P., "Application of particle swarm optimization technique and its variants to generation expansion planning problem," Electric Power Systems Research, vol. In Press, Corrected Proof 2004. Onwubolu, G. C. and Clerc, M., "Optimal path for automated drilling operations by a new heuristic approach using particle swarm optimization," International Journal of Production Research, vol. 4 pp. 473-491, 2004.

50 Particle Swarm Optimization - PSO Using Particle Swarm Optimization for Offline Training in a Racing Game http://www.gamasutra.com/features/20051213/villiers_01.shtml

51 Próxima Aula Dia 12/09 – Sistemas Imunológicos Artificiais


Carregar ppt "Ant Colony Optimization e Swarm Intelligence Fabr í cio Olivetti de Fran ç a CAMPINAS,"

Apresentações semelhantes


Anúncios Google