Ant Colony System (ACS)

O que é o Ant Colony System (ACS)?

O Ant Colony System (ACS) é uma evolução do Ant System original, proposta por Dorigo e Gambardella em 1997. Ele melhora a exploração e a convergência usando mecanismos mais sofisticados. Diferentemente do AS, o ACS introduz uma regra de transição pseudo-aleatória. Essa regra equilibra exploração e explotação de forma mais agressiva. Além disso, o ACS usa evaporação local durante a construção da rota. Cada formiga evapora feromônio das arestas que acabou de percorrer. Isso reduz a atratividade de caminhos já usados, promovendo diversidade. Após todas as formigas terminarem, apenas a melhor formiga deposita feromônio globalmente. Essa atualização global é mais seletiva, acelerando a convergência para boas soluções. Portanto, o ACS é mais rápido e eficiente que o AS para problemas grandes.

Características fundamentais do ACS

O ACS possui quatro características distintas que o diferenciam do AS. Primeiro, a regra de transição usa um parâmetro q₀ (entre 0 e 1). Com probabilidade q₀, a formiga escolhe a aresta mais promissora (exploração). Caso contrário, ela faz uma escolha probabilística como no AS (exploração). Segundo, a evaporação local é aplicada imediatamente após cada passo da formiga. Ela reduz o feromônio da aresta percorrida por um fator ξ (geralmente 0.1). Isso incentiva outras formigas a buscar caminhos alternativos. Terceiro, a atualização global é realizada apenas pela melhor formiga da iteração. Ela deposita feromônio nas arestas da rota ótima global ou da melhor iteração. Quarto, os parâmetros α e β são frequentemente fixados em 1 e 2, respectivamente. O ACS também usa uma lista tabu para evitar repetição de cidades. Essas características tornam o ACS mais adaptativo e com melhor desempenho.

Vantagens e aplicações típicas

O ACS é amplamente usado em problemas de roteamento e logística. Ele converge mais rapidamente que o AS, especialmente em TSP com 50+ cidades. Além disso, ele lida melhor com dinâmicas e restrições temporais. Sua regra pseudo-aleatória evita estagnação prematura em ótimos locais. Contudo, o ACS tem mais parâmetros para ajustar (q₀, ξ, β). Isso pode tornar a calibração mais trabalhosa para iniciantes. Ainda assim, o ACS é a base de muitas aplicações comerciais de otimização. Ele é considerado o estado da arte entre os algoritmos de colônia de formigas.

O ACS foi projetado especificamente para melhorar o desempenho do AS no TSP. Ele introduziu a ideia de “exploração guiada” pela regra pseudo-aleatória. Quando q ≤ q₀, a formiga escolhe a aresta com maior τ * η^β (gulosa). Quando q > q₀, ela usa a distribuição de probabilidades clássica. Isso permite um controle fino entre seguir o melhor caminho ou explorar novos. A evaporação local é aplicada com fator ξ, reduzindo τ em (1-ξ)*τ. Esse mecanismo simula o efeito de várias formigas usando a mesma aresta. A atualização global deposita feromônio apenas na melhor rota encontrada. O depósito é proporcional a 1/L_best, onde L_best é o comprimento da melhor rota. O ACS também permite o uso da melhor solução global ou da iteração corrente. Na prática, usar a melhor global acelera a convergência significativamente. O ACS supera o AS em qualidade de solução e tempo de execução. Ele é frequentemente comparado a algoritmos genéticos e simulated annealing. Assim, o ACS é uma ferramenta robusta e confiável para otimização combinatória.

Um exemplo clássico é o TSP com 30 cidades distribuídas aleatoriamente. O ACS encontra rotas muito próximas do ótimo em poucas iterações. A regra pseudo-aleatória evita que todas as formigas sigam o mesmo caminho. A evaporação local garante que arestas recentes percam atratividade temporária. Esse equilíbrio resulta em soluções de alta qualidade de forma consistente.


Enunciado do exemplo clássico

Implemente o Ant Colony System para o TSP com 25 cidades em [0,100]². Use 25 formigas, 150 iterações, α=1, β=2, ρ=0.1 (evaporação global), ξ=0.1 (evaporação local), q₀=0.9. A atualização global deve usar a melhor rota global encontrada até o momento. Armazene o custo da melhor rota a cada iteração e a própria rota. Plote a convergência e a rota final sobre as cidades com setas indicando a direção.

Este código implementa o ACS com todos os seus mecanismos diferenciadores. A curva de convergência mostra uma queda acentuada e estável. A rota final é desenhada com setas, indicando a direção do percurso. A evaporação local e a regra pseudo-aleatória produzem soluções de alta qualidade. Para iniciantes, o ACS demonstra como pequenas melhorias geram grandes ganhos. O Ant Colony System é, portanto, um algoritmo maduro e eficiente.

Deixe um comentário