3.6 A LGORITMOS INSPIRADOS NO ACO
3.6.1 Ant System
Como já mencionado, o Ant System, primeiro algoritmo baseado no comportamento das colônias de formigas, foi proposto no início da década de 90 em (COLORNI; DORIGO; MANIEZZO, 1992; DORIGO et al., 1991; DORIGO, 1992). A metodologia chamada de Ant
System (AS) (DORIGO et al., 1996) foi aplicada na solução do problema do caixeiro viajante.
Inicialmente, três versões do algoritmo AS foram propostas: Ant-density, Ant-quantity e Ant-
cycle. Nas versões Ant-density e Ant-quantity, as formigas atualizam o rastro de feromônio lo-
go após trafegarem de uma cidade para a outra, na versão Ant-cycle o feromônio é atualizado ao final de cada ciclo somente para os agentes que conseguiram construir uma solução com- pleta (rota interligando todas as cidades). Nos dias atuais, quando se refere ao AS está se refe- rindo ao Ant-cycle visto que as outras duas variantes foram abandonadas devido às suas per- formances inferiores (DORIGO; STUTZLE, 2004).
Na construção de uma rota, a probabilidade de um agente k que se encontra em uma cidade i visitar uma cidade j é dada pela Regra de Transição de Estados conforme:
OTIMIZAÇÃO POR COLÔNIAS DE FORMIGAS 24 𝑃𝑖𝑗𝑘 = { 𝜏𝑖𝑗𝛼𝜂𝑖𝑗𝛽 ∑𝑢𝜖𝑀𝑘𝜏𝑖𝑢𝛼𝜂𝑖𝑢𝛽 , 𝑠𝑒 𝑗 𝜖 𝑀𝑘; 0, 𝑛𝑜𝑠 𝑜𝑢𝑡𝑟𝑜𝑠 𝑐𝑎𝑠𝑜𝑠. (3.1)
onde 𝑃𝑖𝑗𝑘 é a probabilidade do agente k visitar a cidade j partindo da cidade i; τij é o feromônio sobre a conexão (ij); ηij é a informação heurística, inverso da distância entre as cidades i e j; 𝑀𝑘 é o conjunto de cidades vizinhas de i que não foram visitadas pelo agente k; α e β são os pesos dados ao feromônio e informação heurística, respectivamente. Esses pesos indicam a importância que é dada ao feromônio e informação heurística na decisão de escolha pelas formigas.
Verifica-se que, tomando o valor de α = 0, consideram-se apenas as distâncias entre as cidades. Desse modo, quanto mais próxima estiver uma cidade da outra, maior a probabilida- de de ser escolhida pela formiga. Esta escolha poderia proporcionar soluções de baixa quali- dade. Por outro lado, fazendo-se β = 0, leva-se em conta apenas a concentração do feromônio, fato esse que poderia causar convergência prematura (BONABEAU et al., 1999; PEREIRA, 2010).
É importante ressaltar, que mesmo a equação (3.1) permanecendo constante durante todo o processo de solução do AS, o valor da probabilidade Pijk (para duas formigas que se en- contram na mesma cidade) pode ser diferente, uma vez que a probabilidade é função dos ca- minhos percorridos por cada uma das formigas naquele instante.
Assim que os agentes completarem um ciclo, as rotas que interligam todas as cidades terão o feromônio atualizado de acordo com a expressão (3.2), conhecida como Regra de Atu- alização Global:
𝜏𝑖𝑗 ← (1 − 𝜌)𝜏𝑖𝑗 + ∑ ∆𝜏𝑖𝑗𝑘 𝑁𝑎
𝑘=1
(3.2)
sendo ρ a taxa de evaporação do feromônio, com 𝜌 ∈ (0,1]; 𝑁𝑎 o número de agentes e ∆𝜏𝑖𝑗𝑘 a quantidade de feromônio depositada pelo agente k no percurso entre as cidades i e j, sendo definida por: Δ𝜏𝑖𝑗𝑘 = { 𝑄 𝐷𝑘, 𝑠𝑒 (𝑖, 𝑗)𝜖 𝑎 𝑟𝑜𝑡𝑎 𝑑𝑎 𝑓𝑜𝑟𝑚𝑖𝑔𝑎 𝑘; 0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡á𝑟𝑖𝑜. (3.3)
OTIMIZAÇÃO POR COLÔNIAS DE FORMIGAS 25
Sendo Q um parâmetro definido pelo usuário e Dk o comprimento da rota da k-ésima
formiga. O valor de Q é definido de maneira empírica, conforme as características dos pro- blemas. Para o problema do caixeiro viajante, pode-se usar um valor previamente conhecido de uma rota inicial, ou então, o valor da menor rota encontrada até o momento (BONABEAU et al., 1999; PEREIRA, 2010).
Analisando a expressão (3.2), verifica-se que, mesmo que um trecho (i,j) não tenha si- do percorrido por uma formiga k, o valor da concentração de feromônio é alterado, decaindo devido à taxa de evaporação (ρ). Essa taxa de evaporação evita que algumas trilhas (cone- xões) possuam uma quantidade de feromônio muito superior que às demais e provoquem a es- tagnação dos agentes sobre estas, podendo levar o algoritmo a uma convergência prematura, ficando preso em um mínimo local (BONABEAU et al., 1999).
Depois do final de cada ciclo, as rotas encontradas pelas formigas são comparadas. A que possuir a menor distância é armazenada e comparada com a menor rota encontrada, desde o princípio do algoritmo até o presente momento. Caso o valor da distância da menor rota en- contrada no ciclo atual for menor que o valor da menor rota encontrada nos ciclos anteriores, a rota é armazenada para ser comparada com valores futuros. Caso contrário, se o valor for maior, a rota atual é descartada, significando que os agentes não conseguiram encontrar uma solução melhor que as encontradas em ciclos passados. Após certo número de ciclos, é deter- minada a menor rota encontrada pelas formigas.
O número de agentes Na é de fundamental importância para o sucesso do método. Uti-
lizar um número muito grande de formigas, pode reforçar rapidamente caminhos sub-ótimos, fazendo com que o algoritmo convirja prematuramente para soluções ruins. Um número muito pequeno de agentes pode fazer com que o conhecimento adquirido pela colônia não tenha ser- ventia, pois com poucas formigas, a taxa de evaporação do feromônio poderia apagar total- mente essas informações. Uma boa estimativa é utilizar o número de agentes igual ao número de cidades segundo Bonabeau, Dorigo e Thearulaz (1999).
Bonabeau, Dorigo e Thearulaz (1999) analisaram que quando aplicado a TSPs relati- vamente pequenos (30 cidades), o AS foi capaz de encontrar soluções melhores que as de ou- tros métodos. Mas quando aplicado a sistemas grandes, de 50 a 70 cidades, mesmo conver- gindo para boas soluções rapidamente, o AS nunca foi capaz de encontrar as melhores rotas.
De uma maneira resumida, o algoritmo AS para o TSP pode ser descrito através dos seguintes passos (PEREIRA, 2010):
OTIMIZAÇÃO POR COLÔNIAS DE FORMIGAS 26
Passo 1: Dado um conjunto de C cidades, definir o número de agentes Na, o número de ciclos Nc, a concentração inicial de feromônio τ0, os valores de α e β e o valor de Q; Passo 2: Distribuir os Na agentes de maneira aleatória sobre as cidades. Para cada agen- te k, escolher a próxima cidade j a ser visitada por meio da equação (3.1) até que todas as cidades tenham sido visitadas;
Passo 3: Analisar as rotas encontradas em cada ciclo e armazenar a de menor compri-
mento. Se houver melhora na solução, armazenar essa rota para ser comparada futura- mente, se não, a rota será descartada;
Passo 4: Atualizar a concentração de feromônio sobre todos os caminhos, conforme a
expressão (3.2);
Passo 5: Caso o número total de ciclo Nc for alcançado, fim; se não, volte para o passo
2.