Discussão do artigo "Algoritmos de otimização populacionais: Colônia artificial de abelhas (Artificial Bee Colony, ABC)"

 

Novo artigo Algoritmos de otimização populacionais: Colônia artificial de abelhas (Artificial Bee Colony, ABC) foi publicado:

Hoje estudaremos o algoritmo de colônia artificial de abelhas. Complementaremos nosso conhecimento com novos princípios para estudar espaços funcionais. E neste artigo falarei sobre minha interpretação da versão clássica do algoritmo.

A ideia do algoritmo é inspirada no comportamento das abelhas ao procurar locais com o máximo de néctar possível. Inicialmente, todas as abelhas voam para fora da colmeia em direções aleatórias, atuando como batedoras que procuram áreas com néctar. Em seguida, elas retornam à colmeia e comunicam às demais abelhas onde encontraram néctar e em que quantidade.

As abelhas operárias são enviadas para as áreas encontradas, e quanto mais néctar for encontrado nesta área, mais abelhas voam nesta direção. Enquanto isso, as abelhas batedoras continuam a explorar novas áreas próximas às áreas já encontradas. Assim, as abelhas são divididas em dois tipos: as operárias que coletam néctar e as batedoras que exploram novas áreas. Cada área de coleta de néctar tem um valor correspondente à quantidade de néctar contida nela. Além disso, existe uma regra pela qual as regiões com menor valor de coleta de néctar são deslocadas em relação às regiões com valores mais altos ao longo de uma linha que passa pelos centros das regiões.

Vejamos a distribuição das operárias por região:

ABCarea

Figura 1. Número de abelhas em diferentes áreas dependendo de sua classificação.

Autor: Andrey Dik

 
O nome correto do "pesquisador de insetos Karl Frisch" é Karl von Frisch: https://en.wikipedia.org/wiki/Karl_von_Frisch respectivamente em russo.
 

Esses artigos sobre técnicas de otimização metaheurística são incríveis! Você está fazendo um ótimo trabalho, Andrey, é impressionante a quantidade de experiência que você tem para compartilhar conosco, obrigado!

@METAQUOTES, considere a possibilidade de implementar essas metas de otimização metaheurística no otimizador! Seria ótimo para o software.

Algo fácil que o usuário possa definir dentro de OnTester() como:

OptimizerSetEngine("ACO"); // Otimização por colônia de formigas
OptimizerSetEngine("COA"); // algoritmo de otimização cuco
OptimizerSetEngine("ABC"); // colônia de abelhas artificial
OptimizerSetEngine("GWO"); // otimizador grey wolf
OptimizerSetEngine("PSO"); // otimização por enxame de partículas 



Abraços do Brasil