Departamento de Engenharia de Computao e Automao Industrial

  • Slides: 51
Download presentation
Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica e de

Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica e de Computação Unicamp 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 – BRASIL agosto / 2006

Swarm Intelligence • Algoritmos em que agentes atuam localmente realizando alguma interação com o

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

Travelling Salesman Problem (TSP) G. B. Dantzig, R. Fulkerson, and S. M. Johnson, Solution

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.

Travelling Salesman Problem (TSP) Qual a seqüência de de cidades que devo percorrer de

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?

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

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

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

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

Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que

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

Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que

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

Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que

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

Travelling Salesman Problem (TSP) Mas aumentando um pouco a complexidade do problema, nota-se que

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

Travelling Salesman Problem (TSP) • No exemplo anterior temos 8 cidades. Isso dá um

Travelling Salesman Problem (TSP) • 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) • Agora em um problema típico com 100 cidades, teríamos

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

Ant Colony Optimization Goss, S. Aron e J. L. Deneubourg. Self-organized shortcuts in the

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

Ant Colony Optimization

Ant Colony Optimization

Ant Colony Optimization • Foi observado o comportamento das formigas na busca pelos alimentos.

Ant Colony Optimization • 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”

Ant Colony Optimization Foi colocado um ninho de formigas em um aquário com uma

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.

Ant Colony Optimization Em 1992, Dorigo percebeu que as formigas resolviam um problema muito

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.

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

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

Ant Colony Optimization Cada formiga traça um caminho seguindo uma fórmula probabilística em função

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.

Ant Colony Optimization

Ant Colony Optimization

Ant Colony Optimization Após a construção de todos os caminhos a intensidade de feromônio

Ant Colony Optimization 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.

Ant Colony Optimization While it < max_it do, for each ant do, build_solution(); endfor

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

Ant Colony Optimization build_solution() Para construir a solução cada formiga utiliza iterativamente uma função

Ant Colony Optimization build_solution() 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. Onde: JK é 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.

Ant Colony Optimization update_pheromone() Para atualizar a trilha de feromônio nas arestas é calculada

Ant Colony Optimization update_pheromone() 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 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”

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

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

Aplicações TSP Dorigo M. , V. Maniezzo & A. Colorni (1996). Ant System: Optimization

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. Bio. Systems, 43: 7381. 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:

Aplicações Sequential Ordering Problem Igual ao TSP, mas com restrição de precedência (deve-se visitar

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)

Aplicações Sequential Ordering Problem Gambardella L. M. and M. Dorigo (1997). HAS-SOP: An Hybrid

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.

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

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

Aplicações Vehicle Routing Bullnheimer B. , R. F. Hartl and C. Strauss (1999). An

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.

Aplicações Telecommunications Roteamento de dados em uma rede. É um problema dinâmico, ou seja,

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

Aplicações Telecommunications Schoonderwoerd R. , O. Holland, J. Bruten and L. Rothkrantz (1997). Ant-based

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 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). Ant. Net: 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 31 st Hawaii International Conference on System, IEEE Computer Society Press, Los Alamitos, CA, 74 -83. Di Caro G. & Dorigo M. (1998). Ant. Net: Distributed Stigmergetic Control for Communications Networks. Journal of Artificial Intelligence Research (JAIR), 9: 317 -365. 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

Aplicações Quadratic Assigment Problem Dado p pontos denominados “centros”, alocar n pontos para um

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.

Aplicações Quadratic Assigment Problem Maniezzo V. , A. Colorni and M. Dorigo (1994). The

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. 2 nd 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, Mc. Graw-Hill.

Aplicações P-Medianas O mesmo problema anterior mas também é necessário escolher a localização dos

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

Aplicações P-Medianas De França, F. O. , F. J. Von Zuben e L. N.

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 11 th International Conference on Neural Information Processing - SPECIAL SES-SION ON ANT COLONY AND MULTI-AGENT SYSTEMS, v. 3316, 2004, p. 1094 -110. 2004 a. 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, 2004 b. 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. 2005 b.

Aplicações Scheduling (escalonamento) Dividir n tarefas para m máquinas de forma obter o máximo

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.

Aplicações Scheduling Colorni A. , M. Dorigo, V. Maniezzo and M. Trubian (1994). Ant

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 7 th International Workshop on Computer-Aided Scheduling of Public Transport, Boston, August 1997.

Particle Swarm Optimization - PSO

Particle Swarm Optimization - PSO

Particle Swarm Optimization - PSO Craig Reynolds percebeu que a movimentação de bandos de

Particle Swarm Optimization - PSO 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

Particle Swarm Optimization - PSO Em 1995, James Kennedy and Russell Eberhart seguiram o

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)

Particle Swarm Optimization PSO [x*] = PSO() P = inicia_particulas(); Para i=1 até max_it,

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(p. Best) p. Best = p; Fim g. Best = melhor p em P; Para cada partícula p em P faça, v = v + c 1*rand*(p. Best – p) + c 2*rand*(g. Best-p); p = p + v; Fim

Particle Swarm Optimization PSO Regra de atualização do posicionamento das partículas: p=p+v com: v

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

Particle Swarm Optimization - PSO

Particle Swarm Optimization - PSO

Particle Swarm Optimization PSO Nas ilustrações a seguir o gráfico anterior estará mapeado em

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

Particle Swarm Optimization PSO Melhor solução dessa partícula em iterações passadas Melhor solução na

Particle Swarm Optimization PSO Melhor solução dessa partícula em iterações passadas Melhor solução na vizinhança 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.

Particle Swarm Optimization PSO E então ela se move em uma combinação linear desses

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.

Particle Swarm Optimization PSO

Particle Swarm Optimization PSO

Particle Swarm Optimization PSO Eberhart, R. C. and Kennedy, J. A new optimizer using

Particle Swarm Optimization PSO 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.

Particle Swarm Optimization PSO Using Particle Swarm Optimization for Offline Training in a Racing

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

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

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