Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Implémenter l’Optimisation par Essaim Particulaire | Algorithmes Basés sur l'Essaim
Algorithmes Bio-Inspirés
Section 3. Chapitre 4
single

single

Défi : Implémenter l’Optimisation par Essaim Particulaire

Glissez pour afficher le menu

Tâche

Glissez pour commencer à coder

Vous devez implémenter la logique principale de mise à jour pour un algorithme d'optimisation par essaim particulaire (PSO). L'objectif est de trouver le minimum de la fonction f(x) = x² + 5 * sin(x) sur l'intervalle [-10, 10].

Tous les paramètres (comme l'inertie w, les coefficients cognitifs c1 et sociaux c2) ainsi que les listes initiales (positions, velocities, pbest_positions, pbest_values, gbest_position, gbest_value) sont déjà configurés.

Votre tâche consiste à compléter le processus itératif principal :

  1. À l'intérieur de la boucle interne for (pour chaque particule i), commencez par mettre à jour la vitesse de la particule. Utilisez l'équation complète de mise à jour de la vitesse du PSO : w * velocities[i] + c1 * r1 * (pbest_positions[i] - positions[i]) + c2 * r2 * (gbest_position - positions[i]).
  2. Mettez à jour la position de la particule en ajoutant sa nouvelle velocities[i] à positions[i].
  3. Après avoir calculé la nouvelle value à positions[i], vérifiez si cette nouvelle value est meilleure que le meilleur personnel de la particule (pbest_values[i]). Si c'est le cas, mettez à jour à la fois pbest_positions[i] et pbest_values[i].
  4. Après la boucle interne (qui met à jour toutes les particules), vérifiez si la nouvelle meilleure valeur personnelle (que vous trouvez et stockez dans min_value) est meilleure que le meilleur global actuel (gbest_value). Si c'est le cas, mettez à jour à la fois gbest_value et gbest_position.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 4
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt