• Nenhum resultado encontrado

Uma Revisão de Métodos Heurísticos

3.5 Algoritmos de Colônia de Formigas

3.5.1 Algoritmo Ant System

O algoritmoAnt System(AS), proposto por Dorigo et al. (1991a), foi o primeiro algoritmo que utiliza a formulação de Colônia de Formigas. Sua principal importân-cia é servir como base para a criação do paradigma ACO de criação de algoritmos.

Nesse algoritmo, a cada iteração, as formigas decidem, de acordo com uma me-dida probabilística, qual o caminho a seguir dentre aqueles não visitados. Cada formiga tem uma memória, também chamada de lista tabu, que armazena os cam-inhos percorridos por ela e previne que um caminho seja visitado pela formiga mais de uma vez. A probabilidade de escolha de um caminho é proporcional ao ras-tro de feromônio e à atratividade do mesmo - que varia de acordo com o tipo e a modelagem do problema em que o algoritmo está sendo aplicado. Se a formiga já percorreu aquele caminho, a probabilidade de escolha é zero; caso contrário, é posi-tiva. A escolha do caminho a ser seguido pela formiga é feita segundo a expressão:

pk(r, s) =

Essa expressão é apresentada em Dorigo et al. (1991a). Nela, tem-se que:

• pk(r, s): probabilidade da formiga k mover-se do nór para o nó s;

• τ(r,s): quantidade de feromônio associado ao arco (r, s);

• η(r,s): atratividade do arco (r, s);

• U: conjunto de arcos não visitados;

• Mk: lista tabu da formiga k;

• α e β: parâmetros de controle da influência de τ(r,s)(r,s). Estão situado na faixa [0,1].

Caso o arco não tenha sido percorrido por formigas, a deposição de feromônio no mesmo é zero; caso contrário, é positiva.

No roteamento de veículos, o parâmetro atratividade de um arco é chamado de visibilidade e é calculado como o inverso da distância entre os consumidores ou vértices do arco. As figuras 3.7 e 3.8 ilustram o comportamento da formiga e os parâmetros que influenciam na decisão probabilística da mesma.

Na figura 3.7, a cidade j está mais próxima da cidade i, na qual a formiga se encontra. Logo, para o parâmetro visibilidade, a cidade escolhida seria a cidade j.

Já na figura 3.8, a cidade k possui um rastro de feromônio mais forte (repre-sentado por uma linha mais grossa). Logo, de acordo com esse outro parâmetro, a cidade escolhida seria a k.

É dito que uma formiga mudou de “estado” quando se move de um nó para outro.

Ao final de cada iteração, uma taxa de evaporação remove parte do feromônio, reduzindo a quantidade da substância nos arcos. Isso evita que as formigas fiquem

3.5 Algoritmo Ant System 26

Figura 3.8: Parâmetro Rastro de Feromônio.

presas em ótimos locais e, ao mesmo tempo, diminui a probabilidade de escolha de arcos que não foram utilizados recentemente. A expressão que determina a variação do feromônio no algoritmo Ant System é apresentada em Dorigo et al. (1991a) e é dada por:

τ(r,s)(t+ 1) = (1−ρ)τ(r,s)(t) + ∆τ(r,s)(t) (3.2) Nesta expressão, tem-se que:

• ρ: taxa de evaporação;

• τ(r,s)(t): quantidade de feromônio associado ao arco (r, s) na iteraçãot;

• ∆τ(r,s)(t): variação do feromônio no arco(r, s) na iteraçãot.

A quantidade de feromônio a ser depositada nos arcos varia de acordo com a qualidade da solução (distância percorrida). Isso é representado em Dorigo et al.

(1991a) pela expressão:

3.5 Algoritmo Ant System 27

• Q: quantidade de feromônio de cada formiga;

• Lk(t): distância percorrida pela formigak na iteração t;

• ∆τ(r,s)k : quantidade de feromônio no arco(r, s) depositado pela formigak.

A deposição do feromônio é feita ao final de cada iteração, ao contrário do que acontece na natureza, em que é feita durante o caminho da formiga. Por isso, para fins de compreensão, é considerado que, ao final de cada iteração, as formigas fazem o caminho inverso da geração da solução, mas, desta vez, depositando o feromônio. A quantidade de feromônio associada a cada arco representa o aprendizado da colônia no decorrer do algoritmo.

Inicialmente, conforme aponta Dorigo et al. (1991a), foram definidos três al-goritmos, diferindo apenas na forma como o feromônio é depositado: Ant-density, Ant-quantity eAnt-cycle. Nos algoritmosAnt-density eAnt-quantity, o feromônio é depositado durante a construção da solução; no algoritmo Ant-cycle, somente após a construção da solução. Após testes de desempenho, foi verificado que o algo-ritmo Ant-cycle possui, dentre os três, o melhor desempenho. Assim, os algoritmos Ant-density e Ant-quantity foram abandonados e o algoritmo Ant-cycle passou a ser conhecido como Ant System. Essas informações também podem ser obtidas em Dorigo (1992), Dorigo et al. (1991b), Colorni et al. (1992) e Colorni et al. (1996). A figura 3.9 mostra o pseudo-código do algoritmo Ant System aplicado ao PCV.

1 repita

2 Aleatoriamente posicione m formigas em n nós 3 para nó = 1 até n faça

4 para formiga = 1 até m faça

5 Escolha, probabilísticamente, o próximo nó para se mover

6 fim para

9 fim para

7 Calcule a distância percorrida de cada formiga 8 Aplique o rastro feromônio de cada formiga 10 Aplique a evaporação do feromônio

11 até Condição-de-saída

Figura 3.9: Pseudo-código doAnt System aplicado ao PCV.

O algoritmoAnt Systemfoi desenvolvido para o PCV mas, inicialmente, não era capaz de competir com os melhores algoritmos existentes quando de sua publicação.

Os pesquisadores, então, propuseram novas mudanças, com o intuito de melhorar seu desempenho. A primeira melhoria introduzida, chamada de estratégia elitista, apresentada em Dorigo (1992) e Colorni et al. (1996), consistia em dar um reforço adicional de feromônio aos arcos pertencentes à melhor solução global. A solução que melhor atende à função objetivo, computada desde o início do algoritmo, é chamada de “melhor solução global”. O nome “elitista” veio da analogia aos algoritmos genéti-cos, nos quais os melhores indivíduos são selecionados para as próximas gerações, visando manter suas boas características. A estratégia, então, consistia em premiar

3.5 Algoritmo Ant Colony System 28

as formigas que tivessem arcos pertencentes à melhor solução até o momento, de forma a procurar soluções ainda melhores em sua vizinhança.

Seguindo a estratégia elitista, uma outra importante melhoria feita no algoritmo AS padrão foi a chamada ASrank, conforme Bullnheimer et al. (1999c). Nela, a cada iteração, as formigas são classificadas de acordo com sua performance e apenas uma fração das melhores formigas poderá depositar feromônio. Além disso, a quantidade de feromônio a ser depositado pelas formigas varia de acordo com a quantidade a ser depositada pela própria formiga e pela melhor formiga.

Uma outra modificação no algoritmo AS padrão, introduzida por Stutzle e Hoos (1997), foi chamada de MAX-MIN Ant-System (MMAS). Para evitar a rápida con-vergência dos resultados e/ou a possibilidade que a busca fique presa em ótimos locais, foram introduzidos limites máximos e mínimos à quantidade de feromônio presente nos arcos. Esses limites, através da influência do feromônio na decisão das formigas, controlam o comportamento geral da colônia e levam os resultados para perto dos objetivos.

A principal modificação realizada no algoritmo AS padrão é chamada de Ant Colony System e será vista na seção 3.5.2.

Documentos relacionados