CMA-ES
L’algorithme à l’état de l’art pour les optimisations « boîte noire »
L’algorithme CMA-ES (Covariance Matrix Adaptation – Evolution Strategy) implémente une méthode d’optimisation stochastique de fonctions numériques sans dérivées.
Il permet de traiter des problèmes d’optimisation difficiles, fortement non-linéaires, mal-conditionnés, non-convexes, multimodaux, bruités et de gagner plusieurs ordres de grandeurs en rapidité par rapport à des méthodes concurrentes (GA*, PSO**).
Disponible en open source, l’algorithme peut être implémenté :
- dans diverses applications,
- en divers langages,
- avec une interface d’utilisation facile,
- et un outil de visualisation permettant de suivre l’évolution de la procédure d’optimisation.
CMA-ES a déjà trouvé de nombreux débouchés industriels, dans des secteurs et pour l’optimisation d’applications aussi variés que :
- l’aérospatial et le dimensionnement de lanceurs,
- la biologie et la prédiction du repliement des protéines,
- l’optique et la calibration de systèmes de caméras
Le contexte industriel typique pour l’utilisation de CMA-ES est celui où il n’y a pas d’accès possible au code source, mais simplement à un exécutable du code, c’est-à-dire de la fonction à optimiser.
*GA (Genetic algorithms) : les algorithmes génétiques appartiennent à la famille des algorithmes évolutionnistes. Ils utilisent la notion de sélection naturelle et l’appliquent à une population de solutions potentielles au problème donné. Ils permettent d’obtenir une solution approchée à un problème d’optimisation, lorsqu’il n’existe pas de méthode exacte (ou que la solution est inconnue) pour le résoudre en un temps raisonnable.
**PSO – optimisation par essaims particulaires (OEP ou PSO en anglais) : cet algorithme macro-évolutionnaire s’inspire à l’origine du monde du vivant. Cette méthode d’optimisation se base sur la collaboration des individus entre eux. La méthode entraîne cependant un temps de calcul très important.
Fiche technique
- Equipe-Projet : RandOpt
- Licence : GPL 3.0
-
Suivre l'actualité du logiciel :
Démonstration du logiciel CMA-ES
Optimizing Muscle Routing and Control for Diverse Morphologies
par Thomas Geijtenbeek (BioMechanical Engineering department, University of Technology, Delft, Netherlands),
A.Frank van der Stappen (Dpt of Information and Computing Sciences, Universiteit Utrecht, Netherlands),
Michiel van de Panne (Computer Science dpt, University of British Columbia, Canada).