Ressources sur Moodle
Dans un premier temps, les différents types de problèmes seront introduits : combinatoires/discrets/continus, simple ou multi-critères, dynamiques, multi-modaux, contraints, à large échelle. Des techniques de bases comme les algorithmes évolutionnaires (algorithmes génétiques, évolution différentielle, stratégies d'évolutions...) ou systèmes à bases d'agents (essaims particulaires, colonies de fourmis...) seront introduits ainsi que leur adaptation pour résoudre les précédents problèmes. Les mécanismes d'évolution (sélection, croisement, mutation) pour divers types de problèmes seront étudiés. Enfin, l'hybridation avec d'autres méthodes sera également abordée : recherche exacte (algorithmes mimétiques), réseaux de neurones (neuro-évolution), construction automatique d'une stratégie pour l'apprentissage par renforcement. Une attention particulière sera apportée à la comparaison des algorithmes entre eux à l'aide de statistiques. Certains algorithmes seront développés en Python en utilisant des librairies existantes (Deap, Inspyred, Platypus...) sur des problèmes classiques (voyageur de commerce, fonctions de benchmark...).
Ressources sur Moodle