L’optimisation en mathématiques appliquées

Le domaine de l’optimisation est une branche des mathématiques appliquées qui vise à maximiser (ou minimiser) certains résultats en fonction de certaines contraintes.  L’optimisation est ainsi utilisée tous les jours pour déterminer par exemple :

  • le coût d’un produit en fonction de sa masse, de son volume et/ou de sa surface, avec certaines contraintes mécaniques et/ou de design ;
  • le dimensionnement optimum d’un équipement transformant un flux en un autre flux, afin de maximiser son rendement sur la base de données d’entrée ;
  • la gestion des stocks en fonction d’une production et d’une consommation

Graphiquement, on peut souvent représenter l’optimisation comme un maximum ou minimum local, dans un diagramme à multiples coordonnées.

Optimisation - exemple

Des faiblesses méthodologiques

Indépendamment de son exécution mathématique/informatique, un problème d’optimisation « classique » ne prend pas en compte plusieurs paramètres clés :

  • Les données d’entrée sont-elles correctes ?
  • Avec quelle précision ?
  • Quel est l’impact d’une variation même très faible des données d’entrée sur le résultat de mon optimisation ? on parle de sensibilité du modèle
  • Que se passerait-il si les conditions initiales du problème étaient modifiées

Formulé d’une autre manière dans une perspective industrielle, deux questions que l’on peut légitimement se poser avant de lancer un programme d’optimisation (potentiellement couteux) sont :

  • le résultat de l’optimisation sera-t-il globalement le même si les données d’entrée évoluent?
  • si l’exécution de la solution est réalisé de manière imparfaite, le résultat de l’optimisation sera-t-il toujours le même.

Dans certains cas, la variabilité de ces données d’entrée peut être si grande qu’elle remettrait en cause toute optimisation réalisée.

Qu’est-ce que l’Optimisation Robuste ?

L’Optimisation Robuste est une technique d’optimisation sous contrainte prenant en compte la nature incertaine des données d’entrée. Celles-ci ne sont plus des valeurs figées, mais un jeu de données, permettant de mieux quantifier les incertitudes sur les paramètres d’entrée.

La notion de robustesse est relative à la représentativité des résultats dans une large plage de fonctionnement.

A la différence de l’Optimisation Stochastique qui utilise des valeurs probabiliste indéfinie générique pour  quantifier ces incertitudes  par exemple une loi de probabilité Gaussienne), l’Optimisation Robuste considère des jeux de données pré-calibrées pour quantifier l’incertitude des paramètres.

La quantification d’incertitude constitue donc la première étape d’une Optimisation Robuste. Celle-ci permet de mieux rendre compte du réalisme de la modélisation, mais implique aussi une augmentation significative des calculs par rapport à un cas « classique ». En effet, la multiplication des paramètres d’entrée entraine à priori nécessité de réaliser à un calcul classique pour chaque configuration des données d’entrée. Ainsi le raffinement du réalisme du problème traité augmente la complexité du calcul, pouvant aller jusqu’à l’impossibilité de traiter le problème faute de temps/ressources informatiques  suffisantes.

Une seconde étape de l’Optimisation Robuste consiste à établir des modèles simplifiées du problème pour réduire le temps de calcul, ces simplifications étant dictées par la nature du problème et le type d’incertitude pris en compte. La fiabilité des résultats des modèles simplifiées est comparée et vérifiée par rapport au calcul complet, sur un nombre de cas (tirage) donnée.

Ensuite dans une troisième étape, une fois les domaines les plus prometteurs identifiés,  on pourra procéder aux calculs complets sur un nombre réduit de cas pour finaliser l’optimisation.

Enfin, on travaillera sur le choix des solutions du problème. En effet, les résultats d’une démarche d’Optimisation Robuste ne seront pas une valeur unique, mais un ensemble de valeur pour lequel on devra choisir un compromis entre la robustesse et la performance.

Graphe Performance vs Robustesse