• Nenhum resultado encontrado

Varia¸c˜oes do Ant System

No documento Dissertação (páginas 63-67)

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)

No documento Dissertação (páginas 63-67)

Documentos relacionados