3.3 Principais Algoritmos
3.3.2 Varia¸c˜oes do Ant System
O Ant System foi comparado a outras heur´ısticas de uso geral, como algoritmos gen´eticos e
simulated annealing (BONABEAU; DORIGO; THERAULAZ, 1999). Foi obtido desempenho seme- lhante na solu¸c˜ao de vers˜oes do TSP com at´e 30 cidades. Contudo, em problemas com maior dimens˜ao (50 a 75 cidades), o Ant System n˜ao conseguiu encontrar a melhor solu¸c˜ao conhecida em um tempo de busca limite de 3000 ciclos, sendo este um desempenho inferior a outros algoritmos espec´ıficos para o TSP. Contudo, o Ant System serviu de inspira¸c˜ao para outros diversos algoritmos. De fato, v´arios destes s˜ao extens˜oes do Ant System contendo altera¸c˜oes que permitiram melhorias em seu desempenho.
3.3 Principais Algoritmos 48
Algoritmo 4 O Ant System para solu¸c˜ao do TSP
1: Para todoarco (i,j) Fa¸ca
2: Inicializa o feromˆonio do arco (i,j) com um valor aleat´orio baixo;
3: Fim Para;
4: Parak = 1 → m Fa¸ca
5: Escolhe aleatoriamente a cidade inicial da formiga k;
6: Adiciona a cidade inicial `a lista tabu;
7: Fim Para;
8: EnquantoCondi¸c˜ao de parada n˜ao alcan¸cada Fa¸ca
9: Para k = 1 → m Fa¸ca
10: Escolhe a pr´oxima cidade com base na Equa¸c˜ao 8; 11: Adiciona a pr´oxima cidade `a lista tabu;
12: Fim Para;
13: Para k = 1 → m Fa¸ca
14: Calcula o rastro de feromˆonio da formiga k usando a Equa¸c˜ao 5;
15: Se Solu¸c˜ao da formiga k < Melhor resultado Ent˜ao
16: Melhor resultado ← Solu¸c˜ao da formiga k;
17: Fim Se;
18: Apaga a lista tabu da formiga k;
19: Fim Para;
20: Para todo arco(i, j) Fa¸ca
21: Atualiza o feromˆonio do arco (i,j) usando as Equa¸c˜oes 4 e 3;
22: Fim Para;
23: Fim Enquanto;
24: Retorna Melhor resultado; 3.3.2.1 Elitist Ant System
A primeira modifica¸c˜ao do algoritmo Ant System foi o uso de elitismo no processo de atuali- za¸c˜ao do feromˆonio. Este algoritmo ficou conhecido como Elitist Ant System (EAS) (DORIGO; MANIEZZO; COLORNI, 1996). A chamada estrat´egia elitista consiste em refor¸car a cada ciclo o feromˆonio associado `a melhor solu¸c˜ao encontrada desde o in´ıcio da execu¸c˜ao do algoritmo. A atualiza¸c˜ao do feromˆonio ´e definida pela Equa¸c˜ao 10.
τij(t + 1) = (1 − ρ) · τij(t) + ∆τij+ ∆τ ∗
ij (10)
A parcela ∆τ∗
ij ´e o dep´osito de feromˆonio referente `as formigas elitistas. Seu valor ´e
calculado pela Equa¸c˜ao 11.
∆τ∗ ij = e · Q/L∗
se o arco (i,j) pertence a melhor solu¸c˜ao
0 caso contr´ario
(11)
O parˆametro e indica a quantidade de formigas elitistas que ser˜ao usadas, enquanto que o termo L∗
´e a melhor solu¸c˜ao encontrada. Se nenhuma formiga elitista for usada (e = 0), a Equa¸c˜ao 10 se torna igual a Equa¸c˜ao 3. Sem elitismo, o processo de atualiza¸c˜ao do feromˆonio ´e igual ao do Ant System.
3.3 Principais Algoritmos 49
Resultados obtidos por Dorigo et al. indicam que o uso da estrat´egia elitista com um valor apropriado do parˆametro e permite encontrar melhores solu¸c˜oes e em uma menor quantidade de itera¸c˜oes (DORIGO; MANIEZZO; COLORNI, 1996).
3.3.2.2 Rank-Based Ant System
O algoritmo proposto por Bullnheimer et al., Rank-Based Ant System (ASrank), adiciona a
ideia de classifica¸c˜ao ou ranking `as formigas (BULLNHEIMER; HARTL; STRAUSS, 1997). Ap´os a constru¸c˜ao das solu¸c˜oes, todas as formigas s˜ao classificadas de acordo com a qualidade do resultado obtido. A quantidade de feromˆonio depositado estar´a ponderado pelo rank µ obtido por cada formiga. Al´em disso, apenas as ω melhores formigas s˜ao consideradas. O dep´osito de feromˆonio do ASrank ´e definido pela Equa¸c˜ao 12.
τij(t + 1) = (1 − ρ) · τij(t) + ∆τij+ ∆τij∗ (12)
O termo ∆τij ´e o feromˆonio associado `as ω formigas mais bem classificadas durante a
itera¸c˜ao (Equa¸c˜oes 13 e 14). J´a ∆τ∗
ij ´e o feromˆonio da formiga com melhor resultado desde o
in´ıcio do algoritmo (Equa¸c˜ao 15).
∆τij = σ−1
X
µ=1
∆τijµ (13)
O parˆametro σ ´e o peso do rastro de feromˆonio da melhor solu¸c˜ao encontrada. O peso associado `as demais formigas mais bem classificadas ´e (σ − µ); j´a a quantidade de formigas consideradas na atualiza¸c˜ao do feromˆonio ´e definida como sendo ω = σ − 1. Assim, os pesos variam desde o valor σ para a formiga com a melhor solu¸c˜ao de todas at´e o valor “1” para a formiga com pior classifica¸c˜ao.
∆τijµ =
(σ − µ) · Q/Lµ se a formiga com rank µ usa o arco (i,j)
0 caso contr´ario (14) ∆τ∗ ij = σ · Q/L∗
se o arco (i,j) pertence a melhor solu¸c˜ao
0 caso contr´ario
(15)
O ASrankobteve resultados um pouco melhores que o Ant System e o Elitist Ant System.
De fato, a restri¸c˜ao quanto ao dep´osito apenas pelas formigas mais bem classificadas evita o espalhamento de feromˆonio por formigas usando caminhos sub-´otimos (BULLNHEIMER; HARTL; STRAUSS, 1997).
3.3 Principais Algoritmos 50
3.3.2.3 MAX-MIN Ant System
O algoritmo MAX-MIN Ant System (MMAS) acrescenta v´arias melhorias ao Ant System ori- ginal (ST ¨UTZLE, 1997). No MMAS, apenas a formiga que obteve a melhor solu¸c˜ao desde o in´ıcio da execu¸c˜ao do algoritmo (ou a que obteve a melhor solu¸c˜ao da itera¸c˜ao) est´a apta a depositar feromˆonio durante a atualiza¸c˜ao. Contudo, esta estrat´egia pode levar rapidamente o algoritmo `a estagna¸c˜ao, devido ao grande dep´osito de feromˆonio em um caminho sub-´otimo. Para evitar esta situa¸c˜ao, o feromˆonio est´a restrito a um limite superior e inferior. Assim, este s´o pode assumir valores no intervalo [τmin, τmax]. Outra diferen¸ca est´a no fato do feromˆonio
ser inicializado por seu limite superior. Esta caracter´ıstica, em conjunto com uma baixa taxa de evapora¸c˜ao, aumenta a explora¸c˜ao de caminhos ao in´ıcio da busca. Por fim, no MMAS, os rastros de feromˆonio s˜ao reinicializados todas as vezes que o algoritmo se aproxima da es- tagna¸c˜ao ou passa por uma certa quantidade de ciclos sem encontrar uma solu¸c˜ao melhor. A atualiza¸c˜ao do feromˆonio para o MMAS ´e definida pela Equa¸c˜ao 16.
τij(t + 1) = [(1 − ρ) · τij(t) + ρ · ∆τijbest] τmax
τmin (16)
A parcela τbest
ij ´e o dep´osito de feromˆonio da formiga que obteve o melhor resultado em
todas as itera¸c˜oes ou o melhor resultado da itera¸c˜ao atual, (Equa¸c˜ao 17). Se o valor obtido pela Equa¸c˜ao 16 ultrapassar limite superior, ser´a arredondado para τmax. Da mesma forma, se
este valor estiver abaixo do limite inferior, ser´a arredondado para τmin.
∆τbest
ij =
1/Lbest se o arco (i,j) pertence a melhor solu¸c˜ao
0 caso contr´ario
(17)
Em geral, implementa¸c˜oes do MMAS usam tanto o melhor valor global quanto o melhor valor da itera¸c˜ao s˜ao usados; quanto maior for a utiliza¸c˜ao do melhor valor global, mais direcionada ser´a a busca (DORIGO; ST ¨UTZLE, 2004).
3.3.2.4 Ant Colony System
As principais contribui¸c˜oes do Ant Colony System (ACS) est˜ao na diferente regra de tomada de decis˜ao para a constru¸c˜ao das solu¸c˜oes, e no uso de uma atualiza¸c˜ao local do feromˆonio em acr´escimo `a atualiza¸c˜ao ao fim da constru¸c˜ao de todas as solu¸c˜oes (DORIGO; GAMBARDELLA, 1997).
A regra para transi¸c˜ao de estado do ACS ´e vista na Equa¸c˜ao 18, chamada de regra
pseudo-aleat´oria proporcional. j = ( argmaxl∈Jk(i) n τil· ηβil o se q ≤ q0, S caso contr´ario (18)