Evolution différentielle pour l'algorithme génétique

L’algorithme d’évolution différentielle consiste à maintenir une population de solutions candidates soumises à des itérations de recombinaison, d’évaluation et de sélection. L’approche de recombinaison implique la création de nouveaux composants de solution candidats basés sur la différence pondérée entre deux membres de la population sélectionnés au hasard ajoutés à un troisième membre de la population. Cela perturbe les membres de la population par rapport à la propagation de l’ensemble de la population. En conjonction avec la sélection, l’effet de perturbation auto-organise l’échantillonnage de l’espace du problème, le liant à des zones d’intérêt connues.

L’évolution différentielle a une nomenclature spécialisée qui décrit la configuration adoptée. Cela prend la forme de DE / x / y / z, où x représente la solution à perturber (telle aléatoire ou meilleure). Le y signifie le nombre de vecteurs de différence utilisés dans la perturbation de x, où un vecteur de différence est la différence entre deux membres de la population choisis au hasard, bien que distincts. Enfin, z signifie que l’opérateur de recombinaison effectué, tel que bin pour binomial et exp pour exponentiel.

L’évolution différentielle a été conçue pour une optimisation de fonction continue non linéaire et non différenciable. Le facteur de pondération F dans [0; 2] contrôle l’amplification de la variation différentielle, une valeur de 0,8 est suggérée. Le poids d »e crossover CR dans [0; 1] contrôle de manière probabiliste la quantité de recombinaison, une valeur de 0,9 est suggérée. La population initiale de solutions candidates doit être générée de manière aléatoire à partir de l’espace des solutions valides. Les configurations populaires sont DE / rand / 1 / * et DE / best / 2 / *.

L’algorithme suivant décrit l’algorithme d’évolution différentielle pour minimiser une fonction de coût, en particulier une configuration DE / -rand / 1 / bin.