En investigación de operaciones , la búsqueda cuco es un algoritmo de optimización desarrollado por Xin-She Yang y Suash Deb en 2009. [1] [2] Se ha demostrado que es un caso especial de la conocida estrategia de evolución (μ + λ). . [3] Se inspiró en el parasitismo de cría obligado de algunas especies de cucos al poner sus huevos en los nidos de aves hospedadoras de otras especies. Algunas aves hospedadoras pueden entrar en conflicto directo con los cucos intrusos. Por ejemplo, si un ave huésped descubre que los huevos no son suyos, los tirará o simplemente abandonará su nido y construirá uno nuevo en otro lugar. Algunas especies de cuco, como Tapera , parásito de cría del Nuevo Mundo, han evolucionado de tal manera que las hembras de cuco parásito suelen estar muy especializadas en la imitación de colores y patrones de los huevos de unas pocas especies hospedadoras elegidas. [4] La búsqueda cuco idealizó dicho comportamiento reproductivo y, por lo tanto, puede aplicarse a diversos problemas de optimización.
La búsqueda cuco (CS) utiliza las siguientes representaciones:
Cada huevo en un nido representa una solución y un huevo de cuco representa una nueva solución. El objetivo es utilizar soluciones nuevas y potencialmente mejores (cucos) para sustituir una solución no tan buena en los nidos. En la forma más simple, cada nido tiene un huevo. El algoritmo se puede extender a casos más complicados en los que cada nido tiene múltiples huevos que representan un conjunto de soluciones.
CS se basa en tres reglas idealizadas:
Además, Yang y Deb descubrieron que la búsqueda de estilo de caminata aleatoria se realiza mejor con vuelos de Lévy que con una simple caminata aleatoria .
El pseudocódigo se puede resumir como:
Función objetivo: Generar una población inicial de nidos hospedantes; Mientras (t<MaxGeneration) o (criterio de parada) Obtener un cuco al azar (digamos, i) y reemplazar su solución realizando vuelos de Lévy; Evaluar su calidad/aptitud [Para maximizar, ]; Elija un nido entre n (digamos, j) al azar; si ( ), Reemplace j por la nueva solución; terminar si Una fracción ( ) de los peores nidos se abandona y se construyen otros nuevos; Mantenga las mejores soluciones/nidos; Clasifique las soluciones/nidos y encuentre las mejores actualmente; Pasar las mejores soluciones actuales a la próxima generación;terminar mientras
Una ventaja importante de este algoritmo es su simplicidad. De hecho, en comparación con otros algoritmos metaheurísticos basados en poblaciones o agentes, como la optimización de enjambre de partículas y la búsqueda de armonía , esencialmente existe un solo parámetro en CS (aparte del tamaño de la población ). Por tanto, es muy fácil de implementar.
Un tema importante son las aplicaciones de los vuelos de Lévy y los paseos aleatorios en la ecuación genérica para generar nuevas soluciones.
donde se extrae de una distribución normal estándar con media cero y desviación estándar unitaria para paseos aleatorios, o se extrae de la distribución de Lévy para vuelos de Lévy . Obviamente, los paseos aleatorios también pueden estar relacionados con la similitud entre el huevo de un cuco y el huevo del huésped, lo que puede ser complicado de implementar. Aquí, el tamaño del paso determina hasta dónde puede llegar un caminante aleatorio durante un número fijo de iteraciones. La generación del tamaño del paso de Lévy es a menudo complicada, y Leccardi [6] realizó una comparación de tres algoritmos (incluido el de Mantegna [5] ) , quien encontró que una implementación del enfoque de Chambers et al. [7] era el más computacionalmente posible. eficiente debido al bajo número de números aleatorios requeridos.
Si s es demasiado grande, entonces la nueva solución generada estará demasiado lejos de la solución anterior (o incluso saltará fuera de los límites). Entonces, es poco probable que se acepte tal medida. Si s es demasiado pequeño, el cambio es demasiado pequeño para ser significativo y, en consecuencia, dicha búsqueda no es eficiente. Por lo tanto, un tamaño de paso adecuado es importante para mantener la búsqueda lo más eficiente posible.
Como ejemplo, para paseos aleatorios isotrópicos simples, sabemos que la distancia promedio recorrida en el espacio de dimensión d es
donde es el coeficiente de difusión efectiva. Aquí está el tamaño del paso o la distancia recorrida en cada salto y el tiempo necesario para cada salto. La ecuación anterior implica que [8]
Para una escala de longitud típica L de una dimensión de interés, la búsqueda local suele estar limitada a una región de . Para y t=100 a 1000, tenemos para d=1 y para d=10. Por lo tanto, podemos usar s/L=0,001 a 0,01 para la mayoría de los problemas. Aunque la derivación exacta puede requerir un análisis detallado del comportamiento de los vuelos de Lévy. [9]
El análisis de algoritmos y convergencia será fructífero porque hay muchos problemas abiertos relacionados con las metaheurísticas [10]
Como esfuerzos importantes, se requieren análisis teóricos para mejorar el rendimiento de los algoritmos basados en CS: [11]
La convergencia del algoritmo Cuckoo Search se puede mejorar sustancialmente reemplazando genéticamente los nidos abandonados (en lugar de utilizar los reemplazos aleatorios del método original). [12] También se han realizado modificaciones al algoritmo mediante el cruzamiento adicional de los mejores nidos (de alta calidad) [13] y este enfoque se ha aplicado con éxito a una variedad de problemas de optimización industrial. [14] [15]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )