Você está na página 1de 47

CAP 254

CAP 254
Otimizao Combinatria
Professor: Dr. L.A.N. Lorena

Assunto: Metaheursticas Antonio Augusto Chaves

Contedo

C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colnia de Formigas (27/11/07). C04 - GRASP e VNS (29/11/07). C05 Metaheursticas Hbridas CS (04/12/07).

Material baseado nas notas de aula do Prof. Dr. Marcone Jamilson Freitas Souza (UFOP) http://www.decom.ufop.br/prof/marcone/ e em material da Prof. Estfane G. M. de Lacerda (UFRN) www.dca.ufrn.br/~estefane/metaheuristicas

Colnia de Formigas (Ant Colony)

O que Otimizao por Colnia de Formigas?

Colnia de formigas uma metaheurstica baseada em populao e inspirada no comportamento forrageiro das formigas.

A Inspirao Biolgica

Muitas espcies de formigas so quase cegas. A comunicao entre as formigas realizada atravs de uma substncia qumica denominada de feromnio. Em algumas espcies, o feromnio usado para criar caminhos (trilhas de formigas).

A Inspirao Biolgica

A Inspirao Biolgica

A Inspirao Biolgica

A Inspirao Biolgica

Ao caminhar, as formigas depositam no cho o feromnio, formando, deste modo, uma trilha de feromnios. As formigas sentem o cheiro do feromnio, e quando elas tm que escolher um caminho, escolhem, com maior probabilidade, o caminho com maior quantidade de feromnio (cheiro mais forte). A trilha ajuda a formiga a achar o caminho de volta e as outras formigas a encontrar a fonte de alimentos.

O Experimento da Ponte Binria


Experimento realizado por Deneubourg et al., 1990, para estudar o comportamento forrageiro das formigas.

O Experimento da Ponte Binria

No Incio:

As formigas so deixadas livres para escolher o caminho. No h feromnio ainda.

O Experimento da Ponte Binria


No Fim: As formigas convergem para um dos caminhos com igual probabilidade.

Devido a flutuaes aleatrias, uma das pontes ter mais feromnio e atrair as formigas com maior probabilidade.

ou

O Experimento da Ponte Binria


Usando pontes de tamanhos diferentes, as formigas convergem para a ponte mais curta:
A ponte curta percorrida em menos tempo, fazendo com que mais formigas atravessem ela. Logo, mais feromnio depositado. As formigam escolhem, com maior probabilidade, a ponte curta (com mais feromnio).

Formigas Artificiais
Formigas artificiais so heursticas construtivas. Elas constroem solues de forma probabilstica utilizando duas informaes:
1. A trilha de feromnio (artificial) que muda dinamicamente durante a execuo do programa de modo a refletir a experincia j adquirida durante a busca. 2. A informao heurstica especifica do problema a ser resolvido.

Ant System
Proposto por Marco Dorigo e colaboradores (DORIGO et al., 1991) O Ant System o primeiro algoritmo que surgiu inspirado em colnia de formigas. Peculiaridades do ambiente das formigas utilizadas:
Ao tomar um caminho a formiga deixa no mesmo uma certa quantidade de feromnio; Uma formiga escolhe determinado caminho de acordo com uma funo probabilstica envolvendo a distncia deste caminho e a quantidade de feromnio presente neste; As formigas lembram os pontos por onde j passaram e no retornam a estes pontos at que tenham chegado fonte de alimento;

Aplicao do Ant System ao PCV

Aplicao do Ant System ao PCV


Cada formiga ir construir uma soluo movendo-se de uma cidade para outra. No nicio, cada formiga colocada em uma cidade diferente (ou colocada aleatoriamente).

Aplicao do Ant System ao PCV


A Construo da Soluo pela Formiga Comeando de uma cidade i, a formiga move-se escolhendo probabilisticamente a cidade vizinha j (entre os vizinhos factveis).

Probabilidade de Transio
A probabilidade da formiga k que est na cidade i de escolher a cidade j dada pela regra:

ij (t ) ij k , se j N i k ( ) t pij (t ) = ij ij k lN i 0, caso contrrio

][ ] [ ][ ]

onde, ij (t ) : quantidade de feromnio presente no caminho (i,j ) 1 ij = : visibilidade da cidade j com relao a cidade i d ij

e so parmetros para determinar a influncia do


feromnio e da informao heurstica, N ik a vizinhana factvel da formiga k (i.e., o conjunto das cidades ainda no visitadas pela formiga k ).

A Informao Heurstica do PCV


Associada a aresta (i, j) existe um valor heurstico

ij dado por

1 ij = d ij
que representa a atratividade da formiga visitar a cidade j depois de visitar a cidade i.

O valor ij inversamente proporcional a distncia dij entre as cidades i e j.

Construo das rotas - Passo 1

A escolha do candidato de acordo com a probabilidade de transio. feita de forma similar ao algoritmo da roleta dos algoritmos genticos.

Construo das rotas - Passo 2

Construo das rotas - Passo 3

Construo das rotas - Passo 4

Trmino da Primeira Iterao

Atualizao do Feromnio
No feromnio ij associado a aresta (i, j) ocorre dois eventos: 1. A evaporao;
Evita que o feromnio acumulado cresa indefinidamente; Permite esquecer decises ruins do passado da busca.

2. O depsito de feromnio de todas as formigas que passaram sobre (i, j).

Atualizao do Feromnio
Depois que todas as formigas construram suas rotas, o feromnio atualizado. ij a quantidade de feromnio que a formiga k deposita sobre a aresta (i, j). dado por:
k

Q / Lk , se a aresta (i,j ) pertence a rota S k k ij = 0, caso contrrio onde Q : quantidade de fermonio excretada por uma formiga a cada iterao

Atualizao do Feromnio
O feromnio ij associado a aresta (i, j) atualizado pelo frmula:

ij (t + 1) = (1 ) ij (t ) + (t )

k =1
evaporao  depsito
k ij

onde

[0,1] a taxa de evaporao de feromnio

Exemplo de Atualizao do Feromnio


Atualizao do Feromnio da aresta (3,5) Apenas as formigas 1, 2 e 5 depositam feromnio nesta aresta. Suponha Q = 1, 0. A contribuio de cada formiga:
(1) 3 , 5 = 1 / L1 = 0,102 ( 2) 3 , 5 = 1 / L2 = 0,102 (5) 3 , 5 = 1 / L5 = 0,081

Suponha

= 0,5
) (2) (5) 3 , 5 = (1 ) ij + 3(1 + + ,5 3,5 3,5

= (1 0 ,5 )1,0 + 0 ,102 + 0 ,102 + 0 ,081 = 0 ,785

Critrios de Parada

Nmero mximo de iteraes; Estagnao.

Estagnao
Estagnao a situao na qual todas as formigas seguem sempre o mesmo percurso. A Estagnao causado pelo excessivo crescimento de feromnio nas arestas de uma rota sub-tima.

Estagnao
Apesar da natureza estocstica do algoritmo, a forte concentrao de feromnio nas arestas fora a formiga a fazer sempre o mesmo percurso.

Procedimento Ant System


Algoritmo AntSystem 1: Seja Q e 0 constantes; Faa f(s*) ; 2: Faa ij 0 e ij 0 para todo arco (i, j); 3: Para ( cada formiga k = 1,...,m ) faa (a) Selecione a cidade inicial para a k-sima formiga; (b) Obtenha uma rota Rk para cada formiga k de acordo com o procedimento seguido por cada formiga; (c) Seja Lk o comprimento da rota Rk; (d) Se ( Lk < f(s*) ) ento s* Rk; (e) Calcule a quantidade de rastro deixado pela formiga k: se ( arco (i, j) pertence rota Rk ) ento ij Q / Lk ; seno ij 0; (f)Faa ij ij + ij(k); 4: Faa ij (1-)ij + ij; 5: se ( a melhor rota s* no foi alterada nas ltimas kmax iteraes ) ento PARE: s* a melhor soluo; seno retorne ao Passo 3;

Ant Colony Optimization (ACO)


Proposta por Dorigo e Gambardella (1997) Objetivo: Transformar a heurstica Ant System em uma metaheurstica. Atravs de elitismo, faz uso de mais intensificao do que o AS; Apenas a formiga best-so-far deposita feromnio; As formigas removem feromnio para aumentar a diversificao.

Semelhanas entre formigas reais e artificiais


Ambos os sistemas so constitudos por mltiplos agentes cooperando entre si; Ambos os sistemas utilizam um fator de cooperao, atravs do qual acontece a sinergia entre os agentes (feromnio). O feromnio representa a informao coletiva, e essencial no desenvolvimento de ambos os sistemas. Ocorre tambm a evaporao do feromnio, o que permite s formigas a possibilidade de explorarem novos horizontes; Os agentes dividem a mesma funo em ambos os sistemas: buscar o menor caminho entre uma origem (ninho) e um destino (alimento); O comportamento estocstico e local dos agentes na busca por solues. No h, em ambos agentes, a viso supra adjacente.

Diferenas entre formigas reais e artificiais


As formigas artificiais possuem movimentao discreta, sendo que seus movimentos consistem em origens e destinos discretos; Existe, nas formigas artificiais, um estado interno ou memria, para que no haja sobreposio de movimentos; O depsito de feromnio no mundo artificial ocorre com base na qualidade da soluo encontrada; Diferentemente do mundo real, onde formigas depositam feromnio sob demanda. Aproximao para o modelo computacional: formigas deixam o feromnio em cada arco visitado aps chegar ao destino (na vida real as formigas deixam o feromnio durante o movimento e no aps chegar ao seu destino)

Particle Swarm Optimization (PSO) (Otimizao de Nuvem de Partculas) (Bando de Pssaros)

Particle Swarm Optimization (PSO)


Otimizao de Nuvem de Partculas: desenvolvida por James Kennedy (psiclogo) e Russell Eberhart (engenheiro eltrico) em 1995.
J. Kennedy, and R. Eberhart, Particle swarm optimization, in Procedures of the IEEE International Conference on Neural Networks, Piscataway, NJ, pp. 19421948, 1995.

Inspirado no comportamento e na dinmica dos movimentos dos pssaros, insetos e peixes; Originalmente desenvolvido para problemas de otimizao com variveis contnuas; Desempenho similar ao dos Algoritmos Genticos;

Particle Swarm Optimization (PSO)


Estudos apontam que um bando de pssaros encontra alimento por meio de esforo conjunto. Isto sugere que eles compartilham informaes.

Particle Swarm Optimization (PSO)


A coreografia esttica de um bando de pssaros em vo chamou a ateno de zoologistas e cientistas da computao. Dvida: Quais as regras empregadas pelos pssaros para estarem voando sincronamente e, mudarem de direo repentinamente, espalhando-se e reagrupando-se em seguida? Soluo: Modelos baseados em manipulao de distncias entre indivduos tm sido criados, acreditando que o comportamento do bando um esforo dos pssaros para manter uma distncia tima entre todos os elementos desse bando.

Particle Swarm Optimization (PSO)


Um bando de pssaros otimiza certa funo objetivo. Consideremos uma funo objetivo com duas variveis (x e y). Cada agente conhece seu melhor valor at o momento (pbest) e sua posio XY. Essa informao a experincia pessoal. Alm disso, cada agente conhece o melhor valor do grupo at o momento (gbest) entre todos os pbest. Essa informao o a experincia do grupo.

Particle Swarm Optimization (PSO)


Cada agente tenta modificar sua posio considerando as seguintes informaes:
a posio corrente (x, y) a velocidade corrente (vx, vy) a distncia entre a sua posio corrente e pbest a distncia entre a sua posio corrente e gbest

Uma nova posio definida pela aplicao do operador velocidade. A velocidade de cada agente calculada pela seguinte equao:

vik+1 = c1.vik + c2.rand1 * (pbesti sik) + c3.rand2 * (gbest sik)

Particle Swarm Optimization (PSO)


Os parmetros c1, c2, c3 podem representar coeficientes cognitivo-sociais refletindo:
c1: o quanto a partcula confia em si mesma; c2: o quanto a partcula confia em sua experincia; c3: o quanto a partcula confia em seus vizinhos.

Mudana de Posio

Particle Swarm Optimization (PSO)


No incio as partculas voam aleatoriamente pelo espao de busca.

Particle Swarm Optimization (PSO)


Vantagens
Insensvel a mudana de escala das variveis; Implementao simples; Adaptvel a computadores paralelos; No requer clculo de derivadas; Poucos parmetros para serem definidos pelo usurio; Bom para encontrar o mnimo global;

Desvantagens
Rpido para localizar a bacia de atrao das boas solues, mas lento no ajuste fino da soluo (como nos algoritmos genticos).

Referncias
Pgina sobre Ant Colony Optimization, desenvolvida por Marco Dorigo: http://iridia.ulb.ac.be/~mdorigo/ACO/index.html Pgina sobre Particle Swarm Optimization (PSO): http://www.swarmintelligence.org/

Contedo

C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colnia de Formigas (27/11/07). C04 - GRASP e VNS (29/11/07). C05 Metaheursticas Hbridas CS (04/12/07).

Você também pode gostar