• Nenhum resultado encontrado

Algoritmos de Otimização de Colônia de Formigas (ACO)

4 ALGORITMO DE COLÔNIA DE FORMIGAS

4.1 Origem dos Algoritmos de Colônia de Formigas

4.1.2 Algoritmos de Otimização de Colônia de Formigas (ACO)

O primeiro algoritmo de colônia de formigas (Ant System) deu origem a outros algoritmos que foram denominados algoritmos de otimização de colônia de formigas, ACO, do inglês Ant Colony Optimization. Suas principais variantes podem ser encontradas no Apêndice A.

O algoritmo ACO resume-se em três procedimentos: • Construção das soluções com as formigas; • Atualização de feromônio;

• Ações daemon.

O primeiro procedimento é a construção das soluções pelas formigas com base em um grafo. As formigas movem-se entre os componentes do grafo, variáveis do problema, estabelecendo uma conexão entre eles. Este movimento é determinado

Capítulo 4 Algoritmo de Colônia de Formigas 45

estocasticamente e localmente pelas informações das trilhas de feromônio e pela informação heurística, η, a qual é utilizada para melhorar a eficiência do algoritmo sendo definida em função das características do problema.

O segundo procedimento está relacionado ao depósito ou à evaporação do feromônio durante a construção na busca da solução. Quanto maior a quantidade de feromônio maior a probabilidade de uma mesma conexão ou componente ser usado, reforçando sua trilha. Por outro lado, a diminuição faz com que se busquem novas regiões ainda não consideradas, podendo ser regiões próximas do ótimo.

O terceiro procedimento, ações daemon, diz respeito a rotinas que venham a melhorar a busca em determinado local, ações de busca local, ou um conjunto de ações globais que possibilitem tomar decisões positivas. O termo daemon, que é originário da linguagem computacional, significa uma rotina ou um programa criado para realizar determinada tarefa padrão, com fins específicos, a ser executado sempre que solicitado.

Na Figura 4.3 é apresentado o pseudocódigo resumido do algoritmo ACO segundo DORIGO e STÜTZLE (2004).

Figura 4.3 - Pseudocódigo do algoritmo ACO.

Destacam-se, entre as principais variantes dos algoritmos ACO, os seguintes: MAX-MIN Ant System (MMAS), Ant Colony System (ACS) e o ASRANK. Mais

recentemente, outros pesquisadores vêm introduzindo métodos de melhoria para o ACO, como XIA et al. (2008) e SOCHA e DORIGO (2008) com o algoritmo ACOR

para problemas com variáveis contínuas. O algoritmo MMAS apresenta melhores

Capítulo 4 Algoritmo de Colônia de Formigas 46

2004). O Ant Colony System, ACS, é descrito e estudado com maiores detalhes em razão das suas características e vantagens, além do mesmo ser adotado no presente trabalho.

4.1.2.1 Algoritmo Ant Colony System – ACS

O ACS é uma variante ou extensão do algoritmo AS, e tem as seguintes características que o torna mais eficiente:

• Explora a experiência acumulada pelas formigas com mais intensidade do que o AS;

• A evaporação e o depósito de feromônio são alterados somente nos circuitos de melhor qualidade;

• Remove feromônio nas conexões dos circuitos aumentando a exploração de outros caminhos diferentes.

Estas alterações no algoritmo AS possibilitaram execuções com tempos computacionais menores, além de encontrar soluções factíveis ótimas e apresentar prova de convergência. Estas razões determinaram sua seleção para a implementação no problema de otimização do corrente trabalho.

O procedimento da construção de soluções na forma da representação por grafos segue a regra pseudoaleatória proporcional. Para selecionar a próxima opção

j , a partir do ponto i , tal regra é dada por (DORIGO e STÜTZLE, 2004)

[ ] [ ]

{

}

( )

0 0 k i , il il l k ij arg max , q q j J p , q q ,

τ

η

β ∈ Ν ⎧ ⎪ = ⎨ ⎪ >Eq. 4.4

onde q é um parâmetro randômico uniformemente distribuído entre 0 e 1 e q é um 0

parâmetro constante, também entre 0 e 1, Νk

i é o conjunto de nós de vizinhança

Capítulo 4 Algoritmo de Colônia de Formigas 47

de acordo com a probabilidade k ij

p , dada pela primeira das equações (4.1). As

outras quantidades desta equação são as mesmas apresentadas na Eq. 4.1.

A parametrização do valor de q0 busca valores em torno da melhor solução ou

define a exploração de soluções alternativas. O parâmetro q0 determina a

importância relativa da investigação versus a exploração (DORIGO e GAMBARDELLA, 1997). Se qq0, procede-se uma investigação na qual, o

elemento com a maior combinação de feromônio e informação heurística é escolhido. Caso contrário, se q > q0, a exploração de um novo elemento é

determinado proporcionalmente à sua distribuição probabilística (ABACHIZADEH e TAHANI, 2009). Um valor alto de α , que é o parâmetro de controle de influência de feromônio, tende a aumentar a importância probabilística do conhecimento acumulado. E o valor do parâmetro β influência a importância da característica do problema com o controle da informação heurística.

A matriz de feromônio, τij, é denominada também como medida de desejabilidade. DORIGO e GAMBARDELLA (1997) observaram experimentalmente que é a propriedade de desejabilidade que indica se as formigas exploram diferentes caminhos, então há uma maior probabilidade de uma delas encontrar uma solução melhor. Segundo estudos com experimentos numéricos realizados por DORIGO e GAMBARDELLA (1997), a função heurística ηil, também denominada valor heurístico ou matriz heurística, é importante para que o algoritmo encontre boas soluções em tempo razoável. Estes testes numéricos experimentais com o ACS aplicado ao problema Oliver30, com mais de 30 execuções, e 10000 iterações por execução, apontaram que a ausência da informação heurística piora o desempenho do algoritmo (DORIGO e GAMBARDELLA, 1997).

O segundo procedimento das atividades da meta-heurística ACS é a atualização de feromônio, que se processa via análise local e global. A atualização local atua junto à construção das soluções, onde uma parcela de feromônio é reduzida permitindo a exploração de regiões não consideradas e diminuindo a tendência à estagnação do algoritmo. Realiza-se também um acréscimo de feromônio favorecendo uma solução subótima, próxima da solução ótima,

Capítulo 4 Algoritmo de Colônia de Formigas 48

correspondente ao trajeto i, j. A expressão da atualização local de feromônio é

dada por

0

τ

ij ← (1− ξ) + ξ

τ

ij

τ

, 0< ξ <1, Eq. 4.5

onde ξ é um parâmetro da taxa de evaporação local de feromônio do algoritmo ACS. O valor inicial de feromônio

τ

0 é calculado por

0

1 nn n C

τ

= Eq. 4.6

sendo n o número de pontos do circuito e Cnn o comprimento do circuito, ou a

função objetivo, simbolizada para o problema do caixeiro viajante.

A atualização local altera dinamicamente a desejabilidade ou o nível de feromônio nas arestas. Toda vez que a formiga utilizar a mesma aresta esta se torna menos desejável, pois existe perda de feromônio. Dessa maneira as formigas fazem melhor uso da informação de feromônio (DORIGO e GAMBARDELLA, 1997).

A atualização global se faz a cada iteração do algoritmo, e a mesma se processa tanto com a evaporação e depósito de feromônio, que são aplicados somente à melhor solução, ou ao melhor percurso que as formigas encontram e estão no conjunto bs

T . A aresta correspondente à melhor solução recebe um

reforço de feromônio (DORIGO e GAMBARDELLA, 1997). A atualização global é dada por

τ

← (1− ) + Δ

ρ τ

ρ τ

bs

ij ij ij , ∀ ∈ bs

( i, j ) T , Eq. 4.7

onde

ρ

é um parâmetro da taxa de evaporação global de feromônio do algoritmo ACS e bs

T o conjunto das melhores soluções. O valor do feromônio para a melhor

Capítulo 4 Algoritmo de Colônia de Formigas 49 1

τ

Δ bs = bs ij / C , Eq. 4.8 sendo bs

C o comprimento do circuito da melhor solução da iteração (no caso do

problema do caixeiro viajante), ou o melhor valor da função objetivo (no corrente trabalho).

DORIGO e STÜLZLE (2004) sugeriram valores dos parâmetros para os diferentes tipos de extensões de ACO. Para o ACS os parâmetros são ajustados segundo suas recomendações, os quais estão mostrados na Tabela 4.2, onde m é o

número de formigas. Os demais parâmetros são aqueles explanados a partir das Eq. 4.4, Eq. 4.5 e Eq. 4.7. Os valores dos parâmetros para outras variantes de ACO encontram-se no Apêndice A.

Tabela 4.2 - Parâmetros para o ACS.

m α β q0 ξ ρ

5 1 2 0,9 0,1 0,1

Documentos relacionados