Você está na página 1de 30

Sum

ario

ACO

TSP

Algoritmos

Testes

Otimizac
ao por Col
onia de Formigas
(Ant Colony Optimization - ACO)
Eros Moreira de Carvalho
Gabriel Silva Ramos
CI209 - Intelig
encia Artificial
BCC - Bacharelado em Ci
encia da Computac
ao
DInf - Departamento de Inform
atica
UFPR - Universidade Federal do Paran
a

11 de Junho de 2007

Conclus
oes

Sum
ario

ACO

ACO

TSP

Algoritmos

Testes

Conclus
oes

TSP

Algoritmos

Testes

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

ACO - Otimizac
ao por Col
onia de Formigas

Metaheurstica baseada em populacao


Inspirada na natureza: cooperacao de col
onias de formigas
Proposta inicialmente por Marco Dorigo, Vitorio Maniezzo e
Alberto Colorni em 1992

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Motivaco
es

Usar tanto informacao heurstica quanto ac


umulo de
experiencia na construcao de uma solucao.
Construcao meramente gulosa gera poucas solucoes e, em
geral, elas sao sub-
otimas.
Uma construcao gulosa e rand
omica, como em GRASP,
aumenta a diversidade, mas ainda nao incorpora o
conhecimento que se obtem durante a busca.
O uso dos ferom
onios na construcao da solucao tem tanto um
efeito de diversificacao quanto de intensificacao.

Sum
ario

ACO

TSP

Algoritmos

Grafo de uma construc


ao gulosa

Testes

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Testes

Pseudo-c
odigo

Iniciar par^
ametros, iniciar rastros de ferom^
onio
Agendar Atividades
Constru
c~
ao de Solu
c~
oes
A
c~
oes Globais [Opcional]
Atualiza
c~
ao dos Ferom^
onios
Fim do Agendamento

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Fase: Construc
ao de Soluc
oes

Cada formiga inicia em um n


o aleat
orio do grafo de
construcao;
A cada iteracao, cada formiga decide para qual no ira em
seguida, baseadas em informac
oes heursticas e nos
feromonios das arestas;
Repete-se o passo anterior ate que todas as formigas tenham
construdo uma solucao completa.

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Fase: Ac
oes Globais

Nesta fase opcional, um agente com conhecimento global do


sistema executa ac
oes que nao poderiam ser executadas por
uma formiga individualmente;
A acao mais comum nesta fase e aplicar uma Busca Local em
cada uma das soluc
oes construdas pelas formigas na fase de
Construcao de Soluc
oes;
Embora opcional, essa etapa tem sido usada para se obter os
melhores resultados com o ACO. ACO com busca local pode
ser considerado um algoritmo hbrido[4].

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Fase: Atualizac
ao dos Ferom
onios

Nesta fase, os rastros de ferom


onio de cada aresta
pertencente `as soluc
oes de cada formiga sao atualizados. Esta
fase envolve duas etapas: a evaporacao e o incremento do
feromonio depositado em cada aresta;
Na evaporacao, o ferom
onio e diminudo por um fator
constante e produz um efeito de diversificacao no algoritmo;
O incremento e baseado no uso da aresta no caminho das
formigas. Quanto mais a aresta for usada pelas formigas,
maior sera o dep
osito de ferom
onio. O incremento produz um
efeito de intensificacao no algoritmo.

Sum
ario

ACO

TSP

Algoritmos

Testes

Aplicando o ACO ao TSP

Na aplicacao da metaheurstica ACO ao problema do Caixeiro


Viajante Simetrico deve-se:
Associar cada cidade a um n
o do grafo de construcao das
formigas;
Associar cada distancia entre duas cidades ao custo de sua
aresta correspondente no grafo de construcao;
Considerar o valor heurstico de cada aresta com sendo o
inverso da distancia entre as duas cidades conectadas.

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Algoritmos

Principais Algoritmos de ACO:


Ant System - AS
Ant Colony System - ACS
MAX-MIN Ant System - MMAS
Outras variacoes:
Elitist Ant System
Rank-based Ant System
Best-Worst Ant System

Testes

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Notac
ao

m - parametro que indica o n


umero de formigas na colonia.
(alpha) - parametro que indica a importancia do feromonio.
(beta) - parametro que indica a importancia da informacao
heurstica, no TSP, o custo entre uma cidade e outra.
(rho) - parametro que regula a taxa de evaporacao do
feromonio.
(tau) - ij indica a quantidade de ferom
onio na aresta ij, e
0 e a quantidade de ferom
onio inicial das arestas.

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Notac
ao

(eta) - ij =

1
dij ,

onde dij e a distancia entre as cidades i e j.

Nik - Conjunto das cidades que uma formiga k ainda nao


visitou.
ijk - e definida por


1
,
Lk

0,

se aresta ij faz parte do caminho da formiga k


caso contrario

, onde Lk e o custo do caminho percorrido pela formiga k.


Lnn - Custo de um caminho guloso (nearest neighbor heuristic)

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Ant System
Desenvolvido por Marco Dorigo, Vitorio Maniezzo e Alberto
Colorni em 1996.
Fase de Construcao: as formigas que atravessam o grafo em
construcao fazem uma decisao probabilstica em cada nodo.
Essa decisao e definida pela f
ormula:
pijk = P

[ij ] [ij ]

lNik [il ] [il ]

Atualizacao do Ferom
onio: o ferom
onio e atualizado por
todas as formigas, ao completar o caminho:
ij = (1 ).ij +

m
X

ijk

k=1

Melhores parametros: m = n = 1 = 5 = 0.5


0 = 1/.Lnn [2].

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Ant Colony System - ACS


Desenvolvido por Marco Dorigo e Luca Gambardella em 1997.
Fase de Construcao: Com probabilidade q0 , escolhe a aresta
que maximiza a expressao ij ij , caso contrario utiliza a
mesma regra de decisao do AS
Atualizacao Local de Ferom
onio: a cada iteracao da
construcao, cada formiga atualiza o ferom
onio da u
ltima
aresta pela qual passou: ij = (1 ).ij + .0
Atualizacao Global de Ferom
onio: feito somente pela melhor
formiga, ou seja, somente as arestas visitadas pela melhor
formiga sao atualizadas: ij = (1 ).ij + .ijmelhor
Melhores parametros: m = 10 = 0.1 = 2 = 0.1
q0 = 0.9 = 0.1 0 = 1/n.Lnn [1].

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

MAX-MIN Ant System - MMAS

Desenvolvido por Thomas St


utzle e Holger Hoos em 1999.
Atualizacao do Ferom
onio: feito somente pela melhor
formiga, ou seja, somente as arestas visitadas pela melhor
formiga sao atualizadas: ij = (1 ).ij + ijmelhor
Melhor formiga: pode ser tanto a melhor formiga ate o
momento ou a melhor formiga de uma iteracao. ACS foca na
melhor formiga ate o momento, enquanto MAX-MIN foca na
melhor formiga de uma interacao.
Estrategia dinamica: usar ora a melhor formiga ate o
momento, ora a melhor formiga de uma iteracao. Algumas
implementacoes do MAX-MIN usam essa estrategia [4].

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

MAX-MIN Ant System - MMAS

Limites para a taxa de Ferom


onio: para evitar a estagnacao
precoce, os rastros de ferom
onio sao limitados a um intervalo
[min , max ].
Inicializacao: 0 = max .
1

max : O limite maximo e definido por .L


, onde L seria o
tamanho do caminho
otimo. Quando nao se tem o
conhecimento deste valor, pode-se aproximar dele por Lbs , isto
e, pelo tamanho do melhor caminho encontrado ate o
momento (Na inicializacao utiliza-se Lnn ).

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

MAX-MIN Ant System - MMAS

min : Geralmente determinado empiricamente ou


analiticamente, como proposto por St
utzle[4], por:
max .(1Pdec )
min =
, onde k e o n
umero de escolhas que a
k.Pdec

formiga ainda pode fazer e Pdec = n1 Pbest , onde Pbest e a


probabilidade de uma formiga construir o melhor caminho ate
agora e n o n
umero de passos no caminho.
Melhores parametros: m = n = 1 = 2 = 0.02[4].

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Comparativo entre as atualizac


oes de Ferom
onio
Alg.
AS

Expressao
ij = (1).ij +

Realizado
m
X

ijk

k=1

ACS

ij = (1 ).ij + .0

ACS

ij = (1 ).ij +
.ijmelhor

MMAS

ij = (1 ).ij +
ijmelhor

por todas as formigas ao


completar o caminho
por todas as formigas em
cada passo da construcao
apenas
pela
melhor
formiga ate agora ao
completar o caminho
apenas
pela
melhor
formiga da iteracao (ou
melhor ate o momento)
ao completar o caminho

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Comparac
oes entre Algoritmos

Foram utilizados os melhores parametros da literatura e


alguns escolhidos pela equipe.
Buscas locais: 2-opt, 3-opt, First Improvement e nenhuma
busca.
Criterio de Parada: tempo limite de 10 segundos por teste

Instancia: pcb3038 (Otimo:


137694)
3 Algs x 108 Comb. de parametros x 10 testes cada = 3240 testes
Alg.
Media

Melhor
Pior
Tempo Med.
AS
158469.9 19366.7 141109 239852
7.06
ACS
154165.0 13257.9 139512 178748
7.88
8.27
MMAS 162705.5 27080.5 138924 256076

Sum
ario

ACO

TSP

Variac
ao da busca local

Algoritmos

Testes

Conclus
oes

Sum
ario

ACO

Variac
ao do

TSP

Algoritmos

Testes

Conclus
oes

Sum
ario

ACO

Variac
ao do

TSP

Algoritmos

Testes

Conclus
oes

Sum
ario

ACO

Variac
ao do

TSP

Algoritmos

Testes

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Testes com as bases propostas

Nos testes foi utilizado o algoritmo MAX-MIN Ant System


com os seguintes parametros: m = 25, = 2, = 8, = 0.7
Buscas locais: 2-opt, 3-opt, First Improvement e nenhuma
busca.
Para cada base: 10 testes x 4 Buscas locais = 40 testes
base
dantzig42
fri26
gr48
hk48

Media
699
937
5051.1
11461

0
0
7.4
0

Melhor
699
937
5046
11461

Pior
699
937
5069
11461

Tempo Med.
0.66
0.008
2.09
0.84

Sum
ario

ACO

M
edias de custo

TSP

Algoritmos

Testes

Conclus
oes

Sum
ario

ACO

M
edias de tempo

TSP

Algoritmos

Testes

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Aplicac
oes

TSP
Roteamento em redes de comunicacao
Roteamento de Veculos

Testes

Conclus
oes

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Conclus
oes

MAX-MIN Ant System se mostrou o melhor dentre os


algoritmos analisados.
A busca local e muito importante para a obtencao de bons
resultados com ACO [3].
Inicializacao dos ferom
onios levando em conta o Lnn e
importante para a construcao de boas soluc
oes.
O uso de conhecimento adquirido durante a busca para gerar
novas solucoes e uma ideia promissora para algoritmos
baseados na construcao de soluc
oes.

Sum
ario

ACO

TSP

Algoritmos

Testes

Conclus
oes

Refer
encias
M. Dorigo and L.M. Gambardella.
Ant colony system: A cooperative learning approach to the
traveling salesman problem.
IEEE Transactions on Evolutionary Computation, Vol.1, No.1,
pages 124, 1997.
M. Dorigo, V. Maniezzo, and Colorni A.
Ant system: Optimization by a colony of cooperatings agents.
IEEE Transactions on Systems, Man, and Cybernetics-Part B,
26(1):113, 1996.
M. Dorigo and T. St
utzle.
Ant colony optimization metaheuristic: Algorithms,
applications, and advance, 2002.
T. St
utzle.
Max-min ant system.
Preprint submitted to Elsevier Science, pages 126, 1999.