Pour mener à bien un projet d’optimisation industriel, trois éléments sont indispensables : des données de qualité, un modèle pertinent et un bon algorithme.
I. Sans données de qualité : « garbage in, garbage out »
A l’ère du Big Data, les données constituent bel et bien le nerf de la guerre, et les entreprises ne prenant pas le virage numérique sont vouées à disparaître. L’enjeu est de taille. Voici quelques chiffres pour s’en convaincre :
- Selon IBM, 90% des données mondiales ont été créées au cours des deux dernières années, et ce volume devrait doubler tous les 3 ans ;
- Selon la prédiction de Forrester, d’ici 2020, les entreprises qui se servent du Big Data gagneront au total 1,2 milliards de dollars par an de plus que les entreprises qui ne s’en servent pas.
L’optimisation n’échappe pas à cette tendance : de plus en plus d’entreprises cherchent à tirer profit de leurs données pour maximiser leurs gains, minimiser leurs pertes, pour être plus performantes. Mais, il est impossible d’envisager un projet d’optimisation numérique industriel sans données de qualité, c’est-à-dire exhaustives (contenant toute l’information nécessaire à la réalisation du projet) et homogènes (l’information ne se contredit pas). Comme disent nos amis anglo-saxons : « garbage in, garbage out » : même muni du meilleur algorithme d’intelligence artificielle, il est inutile de manipuler des données si celles-ci ne sont pas « propres ». Vous obtiendrez en bout de ligne un résultat aussi décevant que la qualité de vos données.
II. Un problème bien posé est à moitié résolu
La phase de modélisation est certainement la phase la plus intéressante d’un projet d’optimisation. Il est possible d’automatiser le traitement de données ainsi que la résolution d’un problème, mais l’humain demeurera (du moins pour les années à venir) irremplaçable pour modéliser le problème en question. Et ceci pour plusieurs raisons.
Tout d’abord, il faut comprendre le besoin évoqué par l’entreprise, qui est souvent flou et mal exprimé. Quel est l’objectif cherché ? Dans quel contexte s’inscrit le projet ? Sur quelle échelle de temps ? Qui sont les acteurs du projet ? De quelle marge de manœuvre dispose-t-on ? Le mathématicien Henri Poincaré disait qu’un problème bien posé est à moitié résolu. Bien poser le problème, c’est prendre le temps de répondre à ces questions afin d’avoir une vue globale et précise sur le projet, chose pour le moment impossible pour un ordinateur aussi puissant soit-il.
Deuxième difficulté, il faut définir le bon degré de complexité du modèle : un modèle trop simple ne reflétera la réalité que maladroitement, mais un modèle trop fin risque d’être encombrant, inutile, difficile à résoudre, et en bout de ligne contre-productif. Il ne faut donc pas forcément chercher à représenter trop fidèlement la réalité, aussi surprenant que cela puisse paraître. « Tous les modèles sont faux, mais certains sont utiles » disait le mathématicien George Box. Rien n’est plus juste !
Troisième difficulté, deux modèles peuvent décrire exactement la même chose, mais l’un deux peut s’avérer beaucoup plus difficile à résoudre que l’autre. Un exemple : introduisons deux variables binaires (i.e., prenant uniquement les valeurs 0 ou 1) x et y. Pour modéliser « x ET y doivent prendre la valeur 1 », deux possibilités au moins s’offrent à vous : a) xy =1 et b) x=1, y=1 . Le modèle a) est plus compact (1 seule équation), mais il n’est pas linéaire. Le second l’est, mais il nécessite deux équations. Et pourtant, les deux modèles ont le même degré de finesse. Comment choisir ? Les mathématiciens préféreront ce qui est linéaire, quitte à devoir manipuler plus d’équations. De manière imagée, ce qui est droit et régulier est plus facile à appréhender que ce qui est courbé, granuleux et irrégulier. Ce petit exemple simpliste montre qu’il n’est pas toujours évident de savoir quel modèle il faut privilégier.
Un bon modèle est donc un modèle dont les équations sont bien posées, qui représente pertinemment la problématique de l’entreprise, et qui est facile à résoudre numériquement. Mais que signifie facile pour une machine ?
III. Rapidité ou optimalité, il faut parfois choisir
Pourquoi certains modèles sont-ils difficiles à résoudre numériquement ? La notion de difficulté n’est-elle pas vide de sens pour une machine ? Qu’est-ce qu’un problème difficile ? Cette question fascinante occupe les mathématiciens depuis près d’un siècle. Pour faire simple, un problème difficile est un problème dont le temps de résolution augmente de façon exponentielle avec sa taille. Cela signifie que si la volumétrie des données est trop importante, aucun algorithme ne sera en mesure de trouver la solution optimale en un temps « raisonnable ». On parle d’explosion combinatoire.
A ce jour, il existe deux familles d’algorithmes : ceux qui garantissent l’optimalité mais dont le temps de calcul augmente de façon exponentielle avec la taille du problème, donc inutiles si le problème est trop « gros ». Et ceux qui sont rapides, mais qui ne garantissent aucunement l’optimalité. Rapidité ou optimalité : il faut donc choisir ! Cette explosion combinatoire est parfois inéluctable, et sa bonne gestion constitue le troisième élément clé pour réussir un projet d’optimisation industriel.
Ainsi, un projet d’optimisation réussi requiert ces trois éléments que sont de bonnes données, un bon modèle, et un algorithme de résolution adapté. Et dans notre système de compétition généralisée, l’optimisation n’est pas un luxe, c’est une nécessité. Efforçons-nous donc de bien maîtriser ces trois éléments clés !