Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Implementar Optimización por Enjambre de Partículas | Algoritmos Basados en Enjambres
Algoritmos Bioinspirados
Sección 3. Capítulo 4
single

single

Desafío: Implementar Optimización por Enjambre de Partículas

Desliza para mostrar el menú

Tarea

Desliza para comenzar a programar

Se solicita implementar la lógica principal de actualización para un algoritmo de Optimización por Enjambre de Partículas (PSO). El objetivo es encontrar el mínimo de la función f(x) = x² + 5 * sin(x) en el intervalo [-10, 10].

Todos los parámetros (como inercia w, cognitivo c1 y social c2) y las listas iniciales (positions, velocities, pbest_positions, pbest_values, gbest_position, gbest_value) ya están configurados.

La tarea consiste en completar el proceso iterativo principal:

  1. Dentro del ciclo interno for (para cada partícula i), primero actualizar la velocidad de la partícula. Utilizar la ecuación completa de actualización de velocidad de PSO: w * velocities[i] + c1 * r1 * (pbest_positions[i] - positions[i]) + c2 * r2 * (gbest_position - positions[i]).
  2. Actualizar la posición de la partícula sumando su nueva velocities[i] a positions[i].
  3. Después de calcular el nuevo value en positions[i], verificar si este nuevo value es mejor que el mejor personal de la partícula (pbest_values[i]). Si lo es, actualizar tanto pbest_positions[i] como pbest_values[i].
  4. Después del ciclo interno (que actualiza todas las partículas), verificar si el nuevo mejor valor personal (que se encuentra y almacena en min_value) es mejor que el mejor global actual (gbest_value). Si lo es, actualizar tanto gbest_value como gbest_position.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt