Optimisation

CMA-ES : le logiciel d’optimisation pour la biologie, la médecine et l'ingénierie

Date:
Mis à jour le 09/04/2024
Le logiciel CMA-ES met en œuvre une méthode particulièrement efficace pour résoudre des problèmes d’optimisation numérique. Ce qui permet ainsi d’effectuer de la modélisation de haute volée. Beaucoup utilisé en sciences, l’outil connaît aussi un vif succès dans l’industrie où il trouve de multiples applications.
Illustration of an actual optimization run with covariance matrix adaptation on a simple two-dimensional problem.
© RandOpt - CMA-ES

 

55 millions de téléchargements. Et 10 000 de plus chaque semaine. Des chiffres vertigineux. Surtout pour un logiciel scientifique. “Oui, c’est beaucoup. Mais cela s’explique en partie par l’explosion des algorithmes d’intelligence artificielle qui désormais utilisent aussi notre outil comme librairie intégrée” nuance Anne Auger, responsable de l’équipe-projet RandOpt où se poursuit le développement de CMA-ES (Covariance Matrix Adaptation Evolution Strategy) dans le sillage de recherches amorcées il y a maintenant plus de 25 ans.

L’équipe-projet RandOpt

RandOpt est une équipe commune du Centre Inria de Saclay et du Centre de mathématiques appliquées de l’École polytechnique (CMAP) ; elle se compose de trois chercheurs permanents (Anne Auger, Nikolaus Hansen, Dimo Brockhoff) et de deux chercheurs associés (Youhei Akimoto au Japon, Tea Tušar en Slovénie).

À quoi sert exactement ce logiciel ? “À optimiser des modèles. Prenons un exemple. Vous êtes biologiste. Vous étudiez la croissance d’une bactérie. Lors des expériences, vous effectuez des mesures et vous obtenez des données. Par ailleurs, vous avez aussi un modèle. C’est-à-dire des équations auxquelles la croissance de la bactérie est censée obéir. Mais dans ce modèle théorique, il y a des constantes que vous ne connaissez pas. Or, vous allez devoir les ajuster en fonction des données expérimentales que vous avez mesurées. Et c’est là que CMA-ES entre en jeu. Il va vous permettre de formuler ce problème comme un problème d’optimisation. Grâce à lui, vous allez trouver les bonnes constantes qui minimisent l’erreur existant entre votre modèle théorique et vos données mesurées. C’est ce que l’on appelle de la calibration. Et ces problèmes de calibration, on les trouve partout : en biologie, en médecine et dans plein de domaines de l’ingénierie.” Voilà pourquoi le logiciel s’avère si populaire.

“Évidemment, CMA-ES est aussi très utilisé en sciences, ajoute Nikolaus Hansen, le chercheur à l’origine de la méthode mathématique utilisée par le logiciel. En géophysique, par exemple, il y a des modèles théoriques dont certaines constantes sont inconnues. Il faut donc calibrer les paramètres pour ajuster le modèle aux données. Autrement, celui-ci n’est pas utilisable.”

Les applications peuvent également concerner la calibration d’images. 

Verbatim

En médecine, durant une opération chirurgicale, on peut vouloir ajuster deux sources d’images différentes l’une par-dessus l’autre. Par exemple, une vue en rayon X et une autre en ultra-son. C’est quelque chose qui, là aussi, peut se formuler comme un problème d’optimisation.

Auteur

Nikolaus Hansen

Poste

Chercheur Inria de l’équipe RandOpt

Particularité de CMA-ES : il fonctionne en boîte noire. “Cela signifie que le logiciel n’a pas besoin de savoir à quoi ressemble la fonction qu’il doit optimiser, explique Anne Auger. Il n’accède pas à l’équation de cette fonction. Il peut s’en passer. Certes, il interagit avec la fonction, mais la seule chose dont il a besoin, c’est de savoir si les paramètres sont les bons. Rien d’autre.”

CMA-ES fonctionne en boîte noire

Ce fonctionnement en boîte noire encourage aussi les collaborations avec les industriels, car leur propriété intellectuelle reste à l’abri des regards. “Nous avons travaillé ainsi avec Astrium, le fabricant de satellites, se souvient Nikolaus Hansen. Ils rencontraient un problème d’optimisation depuis très longtemps. Ils n’arrivaient pas à le résoudre et ils ne croyaient pas trop non plus que nous y parviendrons. En l’occurrence, ils ne souhaitaient pas divulguer le code source dans lequel ils avaient investi des années de développement. Ils nous ont donc uniquement permis l’accès à un exécutable. Et nous sommes parvenus à optimiser. Ce qui les a beaucoup impressionnés.”

Fondamentalement, l’algorithme n’a pas de connaissance interne du problème qu’il optimise. “Prenons la conception d’une aube de turbine. Trouver la bonne performance pose un problème d’optimisation très complexe et typiquement boîte noire. L’industriel effectue de la simulation des flux d’air. Pour notre part, avec CMA-ES, nous ne savons pas ce qui se passe dans ces flux. Autrement dit, on ne peut pas prédire dans quelle mesure la modification de la forme de l’aube va changer un flux. On essaye différentes formes les unes après les autres. Puis on essaye à nouveau d’autres formes pour améliorer ce que l’on vient de faire. Et c’est comme cela que le logiciel fonctionne, par itérations successives.”

Pour toutes ces raisons, l’équipe RandOpt est amenée à travailler régulièrement avec des grands groupes de l’industrie. En particulier à travers le dispositif Cifre. Ce sont des thèses de doctorat financées par les entreprises. “Nous avons collaboré avec Alstom, par exemple. Il s’agissait d’utiliser CMA-ES pour améliorer le contrôle de la flamme dans une turbine à gaz. Là aussi, on peut voir cela comme un problème d’optimisation.”

L’équipe collabore aussi avec Storengy, une filiale du groupe Engie spécialisée dans le stockage souterrain de gaz naturel. “Ils travaillent sur la modélisation de leurs réservoirs. Et il leur faut un modèle ajusté aux données qu’ils recueillent durant les carottages. Une autre question porte sur la localisation de l’endroit idéal pour installer le point de forage.”

Optimisation multi-objectifs

Verbatim

Très souvent, l’optimisation ne débouche pas sur une solution unique. Le problème cherche parfois à atteindre plusieurs objectifs contradictoires. On effectue donc ce que l’on appelle de l’optimisation multi-objectifs. Le logiciel présente à l’utilisateur tout un jeu de compromis.

Auteur

Anne Auger

Poste

Chercheuse Inria et responsable de l’équipe-projet RandOpt

“Certaines de ces solutions maximalisent un objectif, mais au détriment des autres. Ou alors elles dégradent un des objectifs pour en améliorer d’autres.” précise Anne Auger. Éclairé par cette palette des possibles, l’utilisateur pourra ensuite exercer son arbitrage.

“Le groupe PSA, par exemple, utilise CMA-ES pour optimiser les carrosseries de voitures, indique Nikolaus Hansen. Il faut que ces structures soient à la fois les plus légères possibles, mais aussi les plus solides possibles, les plus aérodynamiques, les moins chères à fabriquer... Donc elles doivent présenter un ensemble de propriétés en conflit les unes avec les autres. L’optimisation ne va pas proposer un seul compromis mais tout un éventail de possibilités. Et à partir de là, ce sera à l’ingénieur d’opérer son choix.”

Un logiciel inspiré par la biologie

À noter au passage que la méthode mathématique derrière CMA-ES s’inscrit dans le courant de la bio-inspiration. “Il y a cette idée assez belle que l’évolution biologique fonctionne comme un processus d’optimisation et que ces mécanismes observés en biologie peuvent être aussi exploités dans les domaines technologiques,” remarque Nikolaus Hansen.

Cela dit et pour la petite histoire, “en 2019, nous avions invité l’ancien directeur de thèse de Nikolaus à une conférence, raconte Anne Auger. Et malgré le succès déjà immense de CMA-ES, il nous confessait qu’il n’avait jamais vraiment beaucoup aimé ce logiciel.” Pourquoi ? “Parce que, justement, il ne le trouvait pas assez bio-inspiré et trop mathématique...!”