Sei sulla pagina 1di 26

Meta-Heurstica Colnia de Formigas

Disciplina: ODST Professores: Jos Oliveira e Maria Carravilla Aluno: Marcelo Nogueira
FEUP FEVEREIRO 2008

Introduo
Algoritmos de formigas: propostos inicialmente por Dorigo para soluo de problemas de optimizao combinatria Inspirado na observao de colnias de formigas reais Formiga: insecto social, ou seja, vive em colnias e tem comportamento direccionado para a sobrevivncia da colnia ao invs de um nico individuo da colnia

Colnias de formigas (ACO)


Chamaram ateno dos cientistas devido ao seu alto grau de estruturao quando comparado com a simplicidade de um nico individuo da colnia Formigas, que so quase cegas, conseguem achar o caminho mais curto entre sua colnia a uma fonte de alimento. Como?

Caminho mais curto por colnias de formigas (biolgicas)


Formigas se comunicam atravs de marcas qumicas deixadas no cho chamadas feromnio Ao passar por um local uma formiga deixa uma certa quantidade de feromnio no cho formando assim trilhas Outras formigas podem detectar tais trilhas com feromnio, e tendem a escolher seu caminho por trilhas com mais feromnio

Caminho mais curto por colnias de formigas (biolgicas)


Quando mais formigas passarem por uma trilha, mais feromnio esta ter, formando assim uma realimentao positiva Este comportamento simples de seguir trilhas faz emergir um comportamento mais complexo de encontrar trilhas mais curtas entre dois pontos

Caminho mais curto por colnias de formigas (biolgicas)

Formigueiro

Comida

Formigas andando aleatoriamente

Caminho mais curto por colnias de formigas (biolgicas)

Formigueiro

Comida

Achou a comida e vai voltar para o formigueiro

Caminho mais curto por colnias de formigas (biolgicas)

Formigueiro

Comida

Achou a comida e vai voltar para o formigueiro

Caminho mais curto por colnias de formigas (biolgicas)


Achou a comida e vai voltar para o formigueiro

Formigueiro

Comida

Achou a comida e vai voltar para o formigueiro

Caminho mais curto por colnias de formigas (biolgicas)

Formigueiro

Comida

Caminho mais curto por colnias de formigas (biolgicas)


Tem maior probabilidade de ir por baixo (trilha onde passaram mais formigas - mais feromnio) Formigueiro Comida

Caminho mais curto por colnias de formigas (biolgicas)

Formigueiro

Comida

Algoritmo AS (Ant System) para o TSP


Formigas artificiais: passeiam pelo grafo realizando caminhos A partir da ciadade i a escolha da proxima cidade j depende da distancia entre i e j e da quantidade de feromnio no arco i-j

Algoritmo AS (Ant System) para o TSP


Ao terminar um caminho com custo Lk, a formiga k deposita feromnio em todas as arestas visitadas neste caminho numa quantidade inversamente proporcional a Lk
1

Algoritmo AS (Ant System) para o TSP


Ao final de todas as formigas terem realizado o passeio, a quantidade de feromnio em cada aresta actualizada Para evitar estagnao (formigas percorrendo sempre o mesmo caminho mnimo local) , o feromnio das trilhas possui uma taxa de evaporao <1

Algoritmo AS (Ant System) para o TSP


Enquanto (criterio de parada) Para cada formiga k Percorrer_caminho() s depois de todas a formigas fim_para terem feito seus caminhos Atualizar_feromonio() Decorar_melhor_solucao_atual() Fim_enquanto

Percorrer_caminho() Iniciar aleatoriamente em uma cidade do grafo Enquanto(caminho incompleto) escolher prxima cidade ainda no visitada de acordo com a regra de probabilidades incluir tal cidade na soluo parcial Fim_enquanto Calcular custo do camiho Para a formiga k decorar caminho realizado e custo Fim

Parmetros do AS
Existem basicamente 3 parmetros a serem ajustados:
Alpha: informa a importncia do feromnio na escolha da prxima cidade Beta: informa a importncia da distancia entre cidades (visibilidade) na escolha da prxima cidade Rho: taxa de evaporao do feromnio

Variaes do AS
Actualizao do feromnio na medida que cada formiga termina seu caminho
Enquanto (criterio de parada) Para cada formiga k J actualiza o feromnio Percorrer_caminho() das arestas Atualizar_feromonio() fim_para Decorar_melhor_solucao_atual() Fim_enquanto

Actualizao do feromnio na medida que cada formiga faz seu caminho: ao passar por uma aresta, a formiga deposita uma certa quantidade Q de feromnio

Enquanto (criterio de parada) Para cada formiga k Percorrer_caminho(){ Atualizar_feromonio() } fim_para Decorar_melhor_solucao_atual() Fim_enquanto

Actualiza dentro da funo Percorrer_caminho()

Aplicaes
Principalmente para o TSP, mas tambm pode ser aplica do a:
Scheduling Network synthesis Vehicle routing

Vantagens e Desvantagens
Walter Gutjahr provou que um algoritmo particular de ACO converge para a soluo optima. Mas tal algoritmo no foi implementando e bem difente de qualquer impletao j feira AS fornece boms resultados para grafos pequenos (30 cidades), mas para grafos maiores os resultados pioram, e exigem variaes do AS Para problemas grandes, uma grande quantidade de memria usada Mtodo lento: muitos clculos de ponto flutuante (probabilidades)

Resultados obtidos
29 cidades: arquivo 51 cidades: arquivo

Resultados obtidos
1002 cidades - ptimo: 259045
1 5 0.9 e 50 iteraes com numero de formigas reduzido 50 formigas( 15 minutos)
Custo= 363833

1 7 0.9 e 50 iteraes
Custo= 333268

Insero mais barata: 304672

Concluses
Algoritmo novo, ainda em desenvolvimento Resultados muito bons para problemas pequenos. Para problemas grandes temos que utilizar modificaes do AS

Bibliografia
http://www.aco-metaheuristic.org visitada em 29/01/2008 Ant Algorithms for Discrete Optimization, Marco Dorigo, Gianni Di Caro and Luca M. Gambardella The Ant System: Optimization by a colony of cooperating agents, Marco Dorigo, Vittorio Maniezzo, and Alberto Colorni www.wikipedia.org, visitada em 29/01/2008 Ant colony optimization theory: A survey, Marco Dorigo and Christian Blum The ant Colony Optimization Meta-Heuristic, Marco Dorigo and Gianni Di Caro

Potrebbero piacerti anche