ant colony optimization e swarm intelligence fabr í cio olivetti de fran ç a...

Post on 21-Apr-2015

125 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ant Colony Optimization e Ant Colony Optimization e Swarm IntelligenceSwarm Intelligence

Fabrício Olivetti de Françaolivetti@dca.fee.unicamp.br

http://www.dca.fee.unicamp.br/~olivettiCAMPINAS, SP – BRASIL agosto / 2006

Departamento de Engenharia de Computação e Automação Industrial

Faculdade de Engenharia Elétrica e de Computação Unicamp

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 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 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 problema

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 a solução já não é mais intuitiva

?

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 a solução já não é mais intuitiva

?

Travelling Salesman Problem (TSP)

Mas aumentando um pouco a complexidade do problema, nota-se que a solução já não é mais intuitiva

• 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 (100-1)! = 9x10155 combinações possíveis!!!!

• Se um computador de 10THz consegue processar 1012 combinações por ciclo, levaríamos 9x10143 ciclos para completar essa tarefa, 9x10131 segundos, que é igual a 3x10136 anos. O universo tem aproximadamente 13,7x109 anos.

Travelling Salesman Problem (TSP)

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.

Ant Colony Optimization

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 OptimizationFoi 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 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 cada um destes.

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

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.

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.

Ant Colony Optimizationbuild_solution()

..)(

)(

)(,,

,,

,cc

Jjset

t

tpk

Jj jiji

jijik

ji k

0

ητ

ητβα

βα

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.

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.

Ant Colony Optimizationupdate_pheromone()

ijjiji tt τΔρτρ11τ )()()( ,,

..

),()(

, cc

SjiseSf

ji0

1τΔ

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

AplicaçõesTSP

Cada vértice representa uma cidade

AplicaçõesTSP

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:

AplicaçõesSequential 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çõesSequential 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çõesVehicle Routing

É formado por vários problemas de TSP partindo sempre de um ponto central

AplicaçõesVehicle 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çõesTelecommunications

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çõesTelecommunications

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.

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çõesQuadratic 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çõesQuadratic 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.

AplicaçõesP-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çõesP-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.

AplicaçõesScheduling (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çõesScheduling

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.

Particle Swarm Optimization - PSO

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

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)

ondep = posição da partículav = direção de caminhadac1 = importância da informação localc2 = importância da informação globalpBest = melhor posição do passado dessa partículagBest = melhor posição global dos vizinhos dessa partícularand = variável aleatória

Particle Swarm Optimization - PSO

Particle Swarm Optimization - PSO

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.

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

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

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 Game http://www.gamasutra.com/features/20051213/villiers_01.shtml

Próxima Aula

Dia 12/09 – Sistemas Imunológicos Artificiais

top related