Algoritmo de colonia de abejas artificial

Algoritmo en informática

En informática e investigación de operaciones , el algoritmo de colonia de abejas artificial ( ABC ) es un algoritmo de optimización basado en el comportamiento de búsqueda de alimento inteligente del enjambre de abejas, propuesto por Derviş Karaboğa ( Universidad Erciyes ) en 2005. [1]

Algoritmo

En el modelo ABC, la colonia consta de tres grupos de abejas: abejas empleadas, observadoras y exploradoras. Se supone que solo hay una abeja empleada artificial por cada fuente de alimento. En otras palabras, el número de abejas empleadas en la colonia es igual al número de fuentes de alimento alrededor de la colmena. Las abejas empleadas van a su fuente de alimento y regresan a la colmena y bailan en esta área. La abeja empleada cuya fuente de alimento ha sido abandonada se convierte en exploradora y comienza a buscar una nueva fuente de alimento. Los observadores observan los bailes de las abejas empleadas y eligen fuentes de alimento en función de los bailes. Los pasos principales del algoritmo se detallan a continuación: [1]

  • Se producen fuentes de alimento iniciales para todas las abejas empleadas.
  • REPETIR
    • Cada abeja empleada va a una fuente de alimento en su memoria y determina la fuente más cercana, luego evalúa su cantidad de néctar y baila en la colmena.
    • Cada observador observa la danza de las abejas empleadas y elige una de sus fuentes en función de los bailes, y luego se dirige a esa fuente. Después de elegir una vecina cercana, evalúa la cantidad de néctar.
    • Se determinan las fuentes de alimento abandonadas y se reemplazan con las nuevas fuentes de alimento descubiertas por los exploradores.
    • La mejor fuente de alimento encontrada hasta ahora está registrada.
  • HASTA que (se cumplan los requisitos)

En ABC, un algoritmo basado en la población, la posición de una fuente de alimento representa una posible solución al problema de optimización y la cantidad de néctar de una fuente de alimento corresponde a la calidad (aptitud) de la solución asociada. El número de abejas empleadas es igual al número de soluciones en la población. En el primer paso, se genera una población inicial distribuida aleatoriamente (posiciones de fuentes de alimento). Después de la inicialización, la población se somete a repetir los ciclos de los procesos de búsqueda de las abejas empleadas, observadoras y exploradoras, respectivamente. Una abeja empleada produce una modificación en la posición de la fuente en su memoria y descubre una nueva posición de fuente de alimento. Siempre que la cantidad de néctar de la nueva sea mayor que la de la fuente anterior, la abeja memoriza la nueva posición de la fuente y olvida la anterior. De lo contrario, mantiene la posición de la anterior en su memoria. Después de que todas las abejas empleadas completen el proceso de búsqueda, comparten la información de la posición de las fuentes con las observadoras en el área de baile. Cada observador evalúa la información sobre el néctar que ha obtenido de todas las abejas empleadas y, a continuación, elige una fuente de alimentación en función de la cantidad de néctar de las fuentes. Como en el caso de la abeja empleada, produce una modificación en la posición de la fuente en su memoria y comprueba la cantidad de néctar. Si su néctar es mayor que el de la abeja anterior, la abeja memoriza la nueva posición y olvida la anterior. Se determinan las fuentes abandonadas y se producen nuevas fuentes al azar para que sean reemplazadas por las abandonadas por exploradores artificiales.

Algoritmo de colonia de abejas artificial

El algoritmo de colonias de abejas artificiales (ABC) es una técnica de optimización que simula el comportamiento de búsqueda de alimento de las abejas melíferas y se ha aplicado con éxito a diversos problemas prácticos [ cita requerida ] . ABC pertenece al grupo de algoritmos de inteligencia de enjambre y fue propuesto por Karaboga en 2005.

Un grupo de abejas, llamado enjambre, puede realizar tareas con éxito mediante la cooperación social. En el algoritmo ABC, hay tres tipos de abejas: abejas empleadas, abejas observadoras y abejas exploradoras. Las abejas empleadas buscan alimento alrededor de la fuente de alimento en su memoria; mientras tanto, comparten la información de estas fuentes de alimento con las abejas observadoras. Las abejas observadoras tienden a seleccionar buenas fuentes de alimento de las que encuentran las abejas empleadas. La fuente de alimento que tenga mayor calidad (aptitud) tendrá una mayor probabilidad de ser seleccionada por las abejas observadoras que la de menor calidad. Las abejas exploradoras se trasladan de unas pocas abejas empleadas, que abandonan sus fuentes de alimento y buscan otras nuevas.

En el algoritmo ABC, la primera mitad del enjambre está formada por abejas empleadas y la segunda mitad por abejas observadoras.

El número de abejas empleadas o abejas observadoras es igual al número de soluciones en el enjambre. El ABC genera una población inicial distribuida aleatoriamente de soluciones SN (fuentes de alimento), donde SN denota el tamaño del enjambre.

Sea la solución representada en el enjambre, donde es la dimensión tamaño. X i = { x i , 1 , x i , 2 , , x i , n } {\displaystyle X_{i}=\{x_{i,1},x_{i,2},\ldots ,x_{i,n}\}} i t h {\displaystyle i^{th}} n {\displaystyle n}

Cada abeja empleada genera una nueva solución candidata en las proximidades de su posición actual, según la siguiente ecuación: X i {\displaystyle X_{i}} V i {\displaystyle V_{i}}

v i , k = x i , k + Φ i , k × ( x i , k x j , k ) {\displaystyle v_{i,k}=x_{i,k}+\Phi _{i,k}\times (x_{i,k}-x_{j,k})}

donde es una solución candidata seleccionada aleatoriamente ( ), es un índice de dimensión aleatorio seleccionado del conjunto , y es un número aleatorio dentro de . Una vez que se genera la nueva solución candidata , se utiliza una selección codiciosa. Si el valor de aptitud de es mejor que el de su padre , entonces actualice con ; de lo contrario, manténgalo sin cambios. Después de que todas las abejas empleadas completen el proceso de búsqueda; comparten la información de sus fuentes de alimento con las abejas observadoras a través de bailes de meneo. Una abeja observadora evalúa la información de néctar tomada de todas las abejas empleadas y elige una fuente de alimento con una probabilidad relacionada con su cantidad de néctar. Esta selección probabilística es realmente un mecanismo de selección de ruleta que se describe como la ecuación a continuación: X j {\displaystyle X_{j}} i j {\displaystyle i\neq j} k {\displaystyle k} { 1 , 2 , , n } {\displaystyle \{1,2,\ldots ,n\}} Φ i , k {\displaystyle \Phi _{i,k}} [ 1 , 1 ] {\displaystyle [-1,1]} V i {\displaystyle V_{i}} V i {\displaystyle V_{i}} X i {\displaystyle X_{i}} X i {\displaystyle X_{i}} V i {\displaystyle V_{i}} X i {\displaystyle X_{i}}

P i = f i t i j f i t j {\displaystyle P_{i}={\frac {\mathrm {fit} _{i}}{\sum _{j}{\mathrm {fit} _{j}}}}}

donde es el valor de aptitud de la solución en el enjambre. Como se ve, cuanto mejor sea la solución , mayor será la probabilidad de que se seleccione la fuente de alimento. Si no se puede mejorar una posición a lo largo de un número predefinido (llamado límite) de ciclos, entonces se abandona la fuente de alimento. Supongamos que la fuente abandonada es , y luego la abeja exploradora descubre una nueva fuente de alimento que se reemplazará con la siguiente ecuación: f i t i {\displaystyle \mathrm {fit} _{i}} i t h {\displaystyle i^{th}} i {\displaystyle i} i t h {\displaystyle i^{th}} X i {\displaystyle X_{i}} i t h {\displaystyle i^{th}}

x i , k = l b k + Φ i , k × ( u b k l b k ) {\displaystyle x_{i,k}=lb_{k}+\Phi _{i,k}\times (ub_{k}-lb_{k})}

donde es un número aleatorio dentro de una distribución normal [¿ fuente no confiable? ] , y son los límites inferior y superior de la dimensión, respectivamente. Φ i , k = r a n d ( 0 , 1 ) {\displaystyle \Phi _{i,k}=\mathrm {rand} (0,1)} [ 0 , 1 ] {\displaystyle [0,1]} l b k , u b k {\displaystyle lb_{k},ub_{k}} k t h {\displaystyle k^{th}}

Véase también

Referencias

  1. ^ ab Karaboğa, Derviş (2005). "Una idea basada en enjambres de abejas para optimización numérica". S2CID  8215393. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  • Página de inicio del algoritmo de colonia de abejas artificiales (ABC), Turquía: Grupo de investigación de sistemas inteligentes, Departamento de ingeniería informática, Universidad de Erciyes
Retrieved from "https://en.wikipedia.org/w/index.php?title=Artificial_bee_colony_algorithm&oldid=1131980058"