Red de conocimientos turísticos - Conocimientos sobre calendario chino - Notas sobre algoritmos de optimización (24) Algoritmo de la mariposa monarca

Notas sobre algoritmos de optimización (24) Algoritmo de la mariposa monarca

(La siguiente descripción no es terminología académica, es solo para que todos la lean).

El artículo anterior registró el algoritmo de la mariposa y este artículo continúa registrando la optimización de la mariposa monarca.

Antes de la introducción, echemos un vistazo a la enciclopedia de la mariposa monarca para conocer sus características, que nos ayudarán a comprender y recordar el algoritmo.

La optimización de la mariposa monarca es un algoritmo de optimización basado en el comportamiento migratorio de las mariposas monarca. El algoritmo de la mariposa monarca también se propuso en 2015, y hay muchos artículos relacionados (¿hay tanta gente prestando atención a estos dos algoritmos de mariposa?). Comparado con el algoritmo de mariposa, su proceso es un poco complicado, pero su artículo describe el algoritmo muy claramente y se puede leer el texto original.

En el algoritmo de la mariposa monarca, la posición de cada mariposa representa una solución factible, y la población de mariposas se distribuirá en dos continentes. Las mariposas monarca en estos dos continentes tienen comportamientos diferentes: 1. Migración, 2. Adaptarse al medio ambiente. El algoritmo de la mariposa monarca combina estos dos comportamientos para buscar la posición óptima en el espacio de solución.

En el algoritmo de la mariposa monarca, la posición de cada mariposa se calcula mediante su función de aptitud F(X).

Las mariposas monarca se distribuyen en dos continentes, a saber, tierra1 y tierra2. Para una mariposa monarca aleatoria, la probabilidad de estar ubicada en tierra1 es P y la probabilidad de estar ubicada en tierra2 es 1-p. En base a esto, la población total se puede dividir en dos grupos. El artículo es 5/12.

El comportamiento del grupo en Land1 es migración, mientras que el comportamiento del grupo en Land2 es adaptación al medio ambiente.

El comportamiento de la población ubicada en el terreno 1 es migración. La proporción de estos individuos en la población es p. La fórmula de cálculo es la siguiente:

Diferente a la población del terreno 1. , la población terrestre2 El comportamiento es adaptarse al medio ambiente, y su fórmula de cálculo es la siguiente:

Como se puede ver en 2.2 y 2.3, el proceso del Algoritmo Mariposa también es muy simple, con sólo dos fórmulas en el proceso.

Puedes ver que el proceso del algoritmo de la mariposa monarca es casi exactamente el mismo que el del algoritmo de la mariposa (tonterías, el diagrama de flujo, por supuesto, se copia directamente), y los individuos de ambos algoritmos tienen dos comportamientos. . El comportamiento del algoritmo de la mariposa es una macrooperación holística y los nuevos individuos se obtienen de 2 a 3 individuos, mientras que el comportamiento del algoritmo de la mariposa monarca es descentralizado, una microoperación y cada dimensión proviene de un individuo. Ambos algoritmos también utilizan el vuelo de tasas. Teniendo en cuenta que los dos algoritmos son del mismo año, cierto, cierto...

Sin embargo, en términos de detalles, la diferencia entre los dos algoritmos es bastante grande, pero el dos algoritmos El rendimiento de este algoritmo también es bastante satisfactorio, sin características particularmente destacadas.

Función fitness.

Experimento 1:

Como se puede ver en la figura, el algoritmo de la mariposa monarca converge muy rápidamente y converge a la solución objetivo en casi 10 generaciones. También se puede ver en los resultados que solo una puntuación de cada 10 es mala y las otras puntuaciones también están muy cerca de 0. El efecto es relativamente bueno, pero siempre siento que la configuración de los parámetros es asimétrica, así que intento cambiarla a simétrica.

Experimento 2: Modificar los parámetros p=0.5, peri = 1, BAR=0.5, es decir, las operaciones migratorias de las dos poblaciones ocupan cada una media dimensión, y la estación individual óptima se adapta al entorno. operación en media dimensión, 1/4 del tiempo que Levi vuela.

Se puede ver en los resultados que el efecto es mucho peor después de cambiar los parámetros a simetría. Imagen Elijo una imagen pobre en la que podemos ver que eventualmente la población converge a un punto fuera de la solución objetivo. El proceso de convergencia es muy similar al algoritmo genético y al algoritmo de evolución diferencial. La trayectoria del movimiento del individuo sigue un patrón en forma de cruz. Pero esta función de aptitud es muy simple, no existe una solución óptima local y el problema debería ser el tamaño del paso. En todo el algoritmo, sólo el paso del vuelo de Levi produce una nueva posición, y los otros pasos son combinaciones de posiciones existentes.

Probemos a cambiar la zancada máxima.

Experimento 3: basado en el experimento 2, cambie S_max a 100.

Los resultados son mucho mejores que los del Experimento 2, pero la precisión es menor, pero no tan buena como la del Experimento 1. Establecer un tamaño de paso máximo demasiado alto afectará la precisión, y establecerlo demasiado pequeño hará que la población converja antes.

En el tercer experimento, el tamaño de paso máximo es 100 y el número máximo de iteraciones es 50. Entonces, la precisión afectada por el tamaño de paso máximo es 100/(50*50) = 0,04, que no es muy diferente de los resultados experimentales. Sopesando los pros y los contras, es mejor elegir un valor mayor para S_max. De lo contrario, si la población no converge cerca de la solución positiva, los resultados obtenidos serán pobres e inestables.

Experimento 4: basado en el Experimento 1, modifique S_max a 100 y compárelo con el Experimento 3 para ver si otros parámetros del texto original son apropiados.

Se puede ver en los resultados que los resultados de este experimento son mejores que los del Experimento 3, lo que indica que el efecto de esta serie de parámetros asimétricos dada en el artículo original es aún mejor que los parámetros simétricos. en los Experimentos 2 y 3. Esta imagen es similar a la imagen del Experimento 3. Cuando el tamaño del paso aumenta, los individuos pueden salir volando fácilmente del límite y luego quedar en el límite al cruzar el límite. Entonces podemos ver que todos los grupos permanecen en el límite poco después de que se inicia el algoritmo, pero el problema no es grande y eventualmente convergerán hacia la vecindad de la solución positiva.

En comparación con el primer experimento, los resultados del cuarto experimento son mucho peores porque la función de prueba es relativamente simple. Al seleccionar una función de prueba más compleja, un tamaño de paso mayor puede mejorar la capacidad de búsqueda global del algoritmo y hacer que los resultados del algoritmo sean más estables.

El algoritmo de la mariposa monarca es un algoritmo basado en el comportamiento migratorio de las mariposas monarca. Las mariposas monarca en los dos continentes tienen comportamientos diferentes: el comportamiento de migración es similar a la operación cruzada del algoritmo evolutivo y el comportamiento de adaptación es similar a la operación de mutación del algoritmo evolutivo, pero su posición de mutación está cerca del individuo óptimo actual. El vuelo de Levi en el algoritmo es la implementación específica de su operación de mutación, pero debido a la influencia del tamaño de paso máximo, el efecto del vuelo de Levi no es obvio. La longitud máxima del paso de vuelo de la mariposa monarca tuvo un claro impacto en los resultados. Cuando el tamaño del paso es pequeño, la capacidad de búsqueda global del algoritmo es deficiente, mientras que la capacidad de búsqueda local es sólida y la precisión es alta. Por el contrario, la capacidad de búsqueda global es sólida, la capacidad de búsqueda local es deficiente y la precisión es baja pero más estable.

Los parámetros del algoritmo de la mariposa monarca son muy extraños. Se establecen según el número de meses que la mariposa ha estado activa en varios lugares. Aunque no es el parámetro óptimo, sigue siendo mejor que el parámetro de simetría uniforme. Los estudiantes interesados ​​pueden probar cómo configurar el algoritmo para un rendimiento óptimo.

Dos notas consecutivas registran el algoritmo de la mariposa. Sus estructuras de proceso generales no son muy diferentes. Una es el comportamiento macro, la interacción entre individuos, y la otra es el comportamiento micro, la interacción entre dimensiones. El rendimiento de estos dos algoritmos de mariposa es similar, bastante satisfactorio y no hay nada demasiado llamativo, y ambos utilizan el vuelo de Levy para brindar la capacidad de saltar fuera del óptimo local. Pero Levi, como arma no convencional, no debería figurar en el algoritmo original. Su funcionamiento no coincide con el vuelo de Levi y no proporciona las capacidades correspondientes (tal vez lo que vi no sea el documento original).

Referencia

Optimización de la mariposa monarca[J]. Computación neuronal y aplicaciones, 2015, 31: 1995-2014. Código de extracción: fg2m.

Wang Guangguo, Zhao, Dai. Un novedoso algoritmo de optimización de la mariposa monarca con estrategia codiciosa y operador de cruce adaptativo [C] // 2015 2da Conferencia Internacional sobre Computación y Aplicaciones. Inteligencia de máquinas (ISCMI 2015). IEEE, 2015. Código de extracción: 9246.

Los siguientes indicadores son puramente personales y sirven únicamente como referencia.

Contenido

Notas sobre los algoritmos de optimización temprana (23) Algoritmo de mariposa

Próximo artículo Notas sobre los algoritmos de optimización (25) Algoritmo de polilla a llama

p>

dy>