Avantages de l'utilisation d'un algorithme génétique

13

Quelqu'un peut-il m'expliquer les avantages de l'algorithme génétique par rapport aux autres méthodes traditionnelles de recherche et d'optimisation?

Lakesh
la source
4
Quel genre d'AG? Par rapport à quelles méthodes "traditionnelles"? Sans cela, on ne peut que dire quelque chose comme "Une convergence plus rapide et un moindre risque de se coincer dans l'optimum local dans certaines applications", comme pour toute autre méthode d'optimisation.

Réponses:

19

Les principales raisons d'utiliser un algorithme génétique sont:

  • il y a plusieurs optima locaux
  • la fonction objectif n'est pas lisse (les méthodes dérivées ne peuvent donc pas être appliquées)
  • le nombre de paramètres est très important
  • la fonction objectif est bruyante ou stochastique

Un grand nombre de paramètres peut être un problème pour les méthodes dérivées lorsque vous n'avez pas la définition du gradient. Dans ce type de situation, vous pouvez trouver une solution pas terrible via GA, puis l'améliorer avec la méthode dérivée. La définition de «grand» est en constante augmentation.

Patrick Burns
la source
3
+1. J'aimais les AG, mais maintenant j'ai tendance à les éviter. Il me semble qu'ils sont passés par une phase de battage médiatique, ont inspiré un tas de méthodes analogues à la nature (ACO, etc.), puis sont retombés dans une niche. Un peu comme Neural Nets, dans mon parti pris personnel. (Cela dit, j'ai utilisé ES récemment.)
Wayne
1
Wayne, je suis d'accord. J'ai tendance à dire «GA» pour toute stratégie évolutive, et le mélange avec d'autres techniques est souvent aussi une bonne idée. Les AG traditionnels sont horriblement inefficaces.
Patrick Burns
7
  • Le concept est facile à comprendre
  • Modulaire, distinct de l'application
  • Prise en charge multi-objectif
  • optimisation Bon pour les environnements "bruyants"
  • Toujours une réponse; la réponse s'améliore avec le temps
  • Intrinsèquement parallèle; facilement distribué
Blanc comme neige
la source
Dans mon travail, la parallélisation facile était le facteur le plus important dans l'utilisation d'un algorithme génétique plutôt que quelque chose comme le recuit simulé.
veryshuai
6

Les algorithmes génétiques diffèrent des méthodes traditionnelles de recherche et d'optimisation en quatre points importants:

  • Les algorithmes génétiques recherchent parallèlement à partir d'une population de points. Par conséquent, il a la capacité d'éviter d'être piégé dans une solution optimale locale comme les méthodes traditionnelles, qui recherchent à partir d'un seul point.
  • Les algorithmes génétiques utilisent des règles de sélection probabilistes et non déterministes.
  • Les algorithmes génétiques fonctionnent sur le chromosome, qui est une version codée des paramètres des solutions potentielles, plutôt que les paramètres eux-mêmes.
  • Les algorithmes génétiques utilisent le score de fitness, qui est obtenu à partir de fonctions objectives, sans autre information dérivée ou auxiliaire
Lakesh
la source
3

Les algorithmes génétiques sont une sorte de dernier recours. Ils ne sont utiles que lorsqu'une solution analytique n'est pas réalisable (voir la réponse de Patrick pour les raisons les plus courantes) et que vous disposez de beaucoup de temps CPU.

Carlos Accioly
la source