00:00:00 Introduction à l’interview
00:02:15 Prévision probabiliste et optimisation de la supply chain
00:04:31 Optimisation stochastique et prise de décision
00:06:45 Ingrédients pour l’optimisation stochastique : variables, contraintes, fonction de perte
00:09:00 Perspectives sur la modélisation et l’optimisation
00:11:15 Contraintes et scénarios pessimistes en optimisation
00:13:30 Incertitude, contraintes et solutions médiocres
00:15:45 Optimisation déterministe et scénarios variables
00:18:00 Opérations spatiales MRO et optimisation des stocks
00:20:15 Incertitude dans les délais de livraison et les pièces réparables
00:22:30 Conséquences des pièces manquantes et limites de l’approche classique
00:24:45 Éléments stochastiques et stochasticité basée sur l’humain dans la supply chain
00:27:00 Réparation d’un moteur d’avion et approvisionnement en pièces
00:29:15 Optimisation des stocks et nomenclature probabiliste
00:31:30 Politiques d’optimisation de la supply chain et réactivité
00:33:45 Problèmes d’évolutivité et fonctions convexes dans la supply chain
00:36:00 Relaxation des problèmes et contraintes dans la supply chain
00:38:15 Outils de recherche locale et solution réalisable dans la supply chain
00:40:30 Algorithmes génétiques méta-heuristiques et défis d’évolutivité
00:42:45 L’optimisation mathématique comme problème d’évolutivité
00:45:00 Le développement par Lokad de la technologie d’optimisation stochastique
00:47:15 Interdépendances dans la supply chain et résolution des problèmes avec de l’argent
00:49:30 Contraintes de limite d’étagère et exemple d’inventaire de yaourt
00:51:45 Résumé de l’optimisation stochastique et de l’incertitude
00:54:00 Rôle du solveur dans l’optimisation de la supply chain
00:56:15 Clarification du terme ‘solveur’ et calcul de la décision finale
00:58:30 Remise en question de la solution du solveur et limites potentielles
01:00:45 Principales conclusions : importance de l’optimisation stochastique
01:03:00 Ignorer l’incertitude dans la supply chain et avantages d’un bon solveur
01:05:15 Dépendances et interdépendances dans les supply chains complexes
01:07:30 Fin de l’interview

Résumé

Lors d’une discussion entre le PDG de Lokad, Joannes Vermorel, et le responsable de la communication, Conor Doherty, l’importance de l’optimisation stochastique et des prévisions probabilistes dans la gestion de la supply chain est soulignée. Vermorel explique le concept de stochasticité, où la fonction de perte est incertaine, ce qui est courant dans les scénarios de supply chain. Il décrit les trois ingrédients de l’optimisation mathématique : les variables, les contraintes et la fonction de perte, et explique que dans l’optimisation stochastique, la fonction de perte n’est pas déterministe mais aléatoire. Vermorel aborde également les problèmes d’évolutivité des techniques d’optimisation mathématique pour la supply chain, qui ont été un obstacle pendant quatre décennies. Il conclut en soulignant que l’optimisation stochastique est un aspect crucial souvent négligé dans les manuels de supply chain.

Lors d’une conversation entre Conor Doherty, responsable de la communication chez Lokad, et Joannes Vermorel, PDG et fondateur de Lokad, le duo se plonge dans les subtilités de l’optimisation stochastique et des prévisions probabilistes dans la gestion de la supply chain. Vermorel souligne l’importance d’avoir une anticipation claire et quantifiée de l’avenir, ce qui est crucial pour optimiser une supply chain. Il introduit le concept de stochasticité, faisant référence aux situations où la fonction de perte est incertaine ou bruitée, ce qui est courant dans les scénarios de supply chain.

Vermorel explique que la fonction de perte est exprimée à travers des drivers économiques et est ajustée pour refléter les enjeux financiers de l’entreprise. Il soutient que même avec des prévisions probabilistes efficaces, l’optimisation est toujours nécessaire en raison des incertitudes et des non-linéarités inhérentes à la gestion de la supply chain. Il décrit les trois ingrédients de l’optimisation mathématique : les variables, les contraintes et la fonction de perte, et explique que dans l’optimisation stochastique, la fonction de perte n’est pas déterministe mais aléatoire.

Vermorel approfondit davantage le concept de contraintes dans l’optimisation mathématique, qui sont une façon d’exprimer des solutions inacceptables. Il souligne que ces contraintes doivent être alignées avec la stratégie de l’entreprise, tout comme la fonction de perte. Il note également que les contraintes ne sont pas mathématiquement vraies ou fausses, elles existent simplement. Par exemple, une capacité maximale de 100 unités n’est pas mathématiquement valide, c’est simplement une donnée. Il explique que dans un monde stochastique, les contraintes deviennent plus subtiles mathématiquement et peuvent ne pas toujours être respectées en raison de la variabilité des facteurs tels que les délais de livraison.

Dans le contexte d’une entreprise de Maintenance, Réparation et Révision (MRO), Vermorel explique que l’optimisation des stocks est cruciale. La nomenclature est probabiliste, et si une pièce est manquante, le composant ne peut pas être réparé. Lokad utilise des prévisions probabilistes pour anticiper l’arrivée des composants et les pièces nécessaires à la réparation. Les décisions d’achat de pièces doivent prendre en compte les pièces qui reviennent et les taux de rebut potentiels. L’objectif est de résoudre les problèmes d’achat de pièces.

Vermorel insiste sur la nécessité d’une approche d’optimisation stochastique qui considère les pièces non pas isolément mais ensemble. La valeur économique de l’acquisition de certaines combinaisons d’unités peut être très différente par rapport à l’analyse des pièces une par une. Il confirme que la stochasticité de la capacité humaine à effectuer des réparations peut être prise en compte dans ce modèle.

Vermorel aborde également les problèmes d’évolutivité des techniques d’optimisation mathématique pour la supply chain, qui ont été un obstacle depuis quatre décennies. Il explique que les problèmes rencontrés dans la supply chain ne sont pas bien comportés, et l’évolutivité de ces techniques dépend de la marge de manœuvre restante une fois que toutes les contraintes sont appliquées. Il note que les solveurs qui utilisent des techniques d’élimination de l’espace des solutions fonctionnent mal au-delà d’un millier de variables.

Vermorel explique que Lokad a dû développer une nouvelle classe de technologie pour l’optimisation stochastique afin de résoudre ces problèmes à une échelle qui a du sens pour la supply chain. Il est d’accord avec le résumé de Doherty selon lequel l’optimisation stochastique est une façon plus flexible et réactive d’optimiser les décisions par rapport à l’optimisation mathématique traditionnelle. Il mentionne également la nécessité d’un composant logiciel, un solveur, pour résoudre ces problèmes.

Vermorel confirme que le solveur génère les décisions finales proposées par Lokad à ses clients. Il explique qu’il existe différentes façons d’aborder l’optimisation, y compris les heuristiques, mais le solveur est l’outil qui génère la solution en fonction des prévisions. Il explique que “recette numérique” fait référence à la chaîne de traitement, de la préparation des données à la génération des résultats, tandis que “solveur” fait référence au calcul de la décision finale, qui prend les prévisions en entrée.

Vermorel conclut en soulignant que l’optimisation stochastique est un aspect crucial souvent négligé dans les manuels de supply chain. Il critique les acteurs établis qui vendent des solveurs pour des problèmes d’optimisation déterministes, ignorant l’incertitude inhérente aux problèmes de supply chain. Il met en avant les avantages d’un solveur stochastique, qui permet d’avoir une vision holistique de la supply chain et de ses interdépendances.

Transcription complète

Conor Doherty: L’optimisation stochastique est l’outil grâce auquel des décisions économiquement viables peuvent être quantifiées et finalement optimisées. Ici pour discuter de son importance et surtout de son fonctionnement, le fondateur de Lokad, Joannes Vermorel. Donc Joannes, je pense que la plupart des gens ont entendu les termes optimisation de nombreuses fois de notre part dans différents contextes et cela est généralement utilisé en même temps que la prévision probabiliste car ce sont finalement les deux outils clés que nous utilisons. Donc avant de nous plonger dans toutes les mathématiques de l’optimisation stochastique, quelle est la synthèse au niveau exécutif de ces deux outils et pourquoi sont-ils si importants ?

Joannes Vermorel: La prévision probabiliste consiste vraiment à avoir une anticipation claire et quantifiée du futur. Donc si vous voulez optimiser votre supply chain, vous avez besoin d’avoir des informations sur le futur. Donc vous avez besoin d’informations quantifiées. La prévision probabiliste consiste à connaître le futur mais aussi à savoir ce que vous ne savez pas, à quantifier l’incertitude. C’est une partie qui consiste à comprendre ce qui se profile à l’horizon afin de pouvoir prendre des décisions plus éclairées.

La deuxième partie consiste à parvenir à une meilleure décision. Qu’est-ce que cela signifie ? Mieux selon quoi ? Et ici, il y a l’optimisation dans un sens large qui signifie simplement améliorer les choses. Mais il y a aussi l’optimisation dans le sens mathématique. Dans le sens mathématique, cela signifierait trouver une solution à votre problème qui, selon un critère numérique, vous donne une perte plus petite. Pour les besoins de cette discussion, nous nous en tiendrons probablement à la perspective de la perte où vous voulez simplement minimiser la perte.

Donc l’optimisation dans ce sens est une opération purement mathématique. Il s’agit, pour un problème donné, de trouver la solution qui minimise une fonction de perte que vous vous êtes donnée.

Conor Doherty: Par exemple, essayer de ne pas perdre trop d’argent avec le résultat de cette décision.

Joannes Vermorel: Donc dans le cas d’une supply chain, la décision de base serait combien d’unités dois-je commander ? Et ensuite, pour n’importe quelle quantité que je choisis, il y a un résultat avec des coûts de possession, des pénalités de rupture de stock. Évidemment, il y a aussi les gains que je réalise en vendant des produits avec un profit qui viendrait comme une sorte de perte négative de sorte que vous pourriez minimiser davantage en vendant réellement vos produits.

Conor Doherty: D’accord, je pense que la plupart des gens comprendront cela lorsque vous parlez de contraintes. Mais où est la stochasticité ? Je veux dire, vous pouvez optimiser mais où est la stochasticité dans ce que vous venez de dire ?

Joannes Vermorel: La stochasticité fait référence à des classes de problèmes où nous avons une fonction de perte incertaine, où la fonction de perte est bruitée. Donc, si nous prenons ce problème de réapprovisionnement de stock très classique, je choisis la quantité que je veux recommander aujourd’hui, mais quel que soit le score ou la perte que j’obtiens de cette décision, je ne le saurai que plus tard. Et pour l’instant, je suis simplement confronté à l’incertitude quant à la perte finale. Ainsi, lorsque vous vous trouvez dans une situation où votre fonction de perte n’est fondamentalement pas connue de manière fiable à l’avance, vous vous retrouvez avec un problème d’optimisation stochastique par opposition aux problèmes d’optimisation déterministes classiques où tout est parfaitement connu.

Si nous voulons faire un placement de composants, par exemple, vous voulez simplement ajuster différents composants dans une boîte en tenant compte de toutes les dimensions physiques des différents composants, tout cela est parfaitement connu, donc il n’y a pas d’incertitude. Il peut être très difficile de trouver la combinaison complète, mais contrairement aux situations de la chaîne d’approvisionnement, il n’y a pas d’incertitude. Les situations de la chaîne d’approvisionnement sont, je dirais, des situations ultra-dominantes stochastiques où il y a une certaine incertitude.

La prévision probabiliste intègre en réalité cette incertitude, mais elle ne résout rien. Elle vous dit simplement quel est l’avenir et quelle est l’incertitude. Ce n’est pas un processus de prise de décision ou un processus de génération de décision quelconque. Cette partie est l’optimisation, et plus précisément, une optimisation stochastique.

Conor Doherty: Et comment ajuste-t-on cette fonction de perte, compte tenu de toute cette stochasticité ?

Joannes Vermorel: La fonction de perte est très simple. Chez Lokad, nous l’exprimons à travers des indicateurs économiques, il s’agit simplement de minimiser les dollars d’erreur. Il y a beaucoup de savoir-faire qui entre dans l’ajustement de cette fonction de perte pour la rendre vraiment adaptée à l’entreprise, de sorte qu’elle reflète vraiment les dollars en jeu. Nous avons deux préoccupations orthogonales. L’une consiste à trouver une fonction de perte qui est complètement fidèle à la stratégie de l’entreprise. Mais cela ne nécessite aucune compétence spécifique en optimisation numérique. Il s’agit simplement de savoir si j’ai quelque chose qui reflète mon entreprise. Cela ne nécessite que des opérations arithmétiques de base. Ce n’est pas quelque chose de fantaisiste. L’autre préoccupation concerne ce que nous devons faire pour l’optimisation stochastique pour toute fonction de perte donnée.

Conor Doherty: Eh bien, il me semble que lorsque vous faites une prévision probabiliste très bonne ou très efficace, ne pourriez-vous pas sauter complètement la partie optimisation ? Parce que si vous saviez mieux ce que vous alliez faire ou quelle serait la demande, pourquoi avez-vous besoin d’équilibrer toutes ces autres choses ? Ne pourriez-vous pas simplement commander la quantité que vous avez identifiée ou le rendement le plus probable ?

Joannes Vermorel: Si vous aviez une connaissance parfaite de l’avenir, alors en effet, la prise de décision ne serait pas si compliquée. Même dans ce genre de situations, vous auriez tout de même à gérer les quantités minimales de commande (MOQ) et les coûts de commande et de transport fixes. Même si vous connaissiez parfaitement l’avenir, vous seriez toujours confronté à plusieurs non-linéarités qui vous empêcheraient d’avoir une solution immédiate triviale.

Mais en réalité, la situation est bien pire que cela car vous n’avez qu’une connaissance très imparfaite de l’avenir. Il est tout à fait déraisonnable de dire que nous allons jamais obtenir une prévision qui élimine l’incertitude. L’incertitude peut être réduite, mais elle est dans une large mesure irréductible. Ainsi, vous êtes coincé avec cette incertitude et il n’y a pas de solution évidente. Il n’y a pas de solution évidente à obtenir.

Conor Doherty: D’accord, alors en revenant un peu en arrière, parlons un peu d’optimisation stochastique. Vous avez parlé des ingrédients. Vous avez énuméré la fonction de perte. La fonction de perte ne peut pas être le seul ingrédient de l’optimisation stochastique. Alors, quelle est l’étendue des ingrédients nécessaires pour cela ?

Joannes Vermorel: Lorsque nous abordons l’optimisation mathématique, il y a trois types d’ingrédients. Les premiers sont les variables. Les variables sont essentiellement ce que vous pouvez choisir. C’est ce qui définit votre solution. Votre solution est une combinaison spécifique de variables.

Si vous voulez penser à un problème discret tel que trouver la bonne combinaison pour un cadenas, vous avez, disons, quatre variables. Chaque variable a 10 positions et chaque combinaison définit une solution potentielle. Vous voulez trouver la solution qui clique et s’ouvre.

Les premiers ingrédients sont les variables. En supply chain, nous faisons souvent référence à des problèmes discrets car les variables sont des entiers. Vous pouvez réorganiser zéro unité, une unité, deux unités, trois unités, etc., mais vous ne pouvez généralement pas réorganiser 0,5 unité. L’aspect discret rend les choses plus difficiles car vous ne pouvez pas simplement passer facilement d’une solution à une autre. Il y a beaucoup de motifs fortement non linéaires qui se produisent.

Par exemple, passer de zéro à une unité est très différent de passer de petites fractions. Mais aussi, vous pouvez avoir des choses comme les quantités minimales de commande (MOQ), où vous devez sauter en avant de 100 unités, par exemple, pour arriver à une solution.

Conor Doherty: C’est une contrainte.

Joannes Vermorel: Et cela m’amène à la deuxième chose, qui sont les contraintes. Donc, en général, vous énumérez les variables et vous énumérez les contraintes. Les contraintes sont un ensemble d’expressions mathématiques sur les variables qui vous indiquent si c’est une solution acceptable, une solution réalisable.

Donc, dans un cas de réapprovisionnement, nous pouvons commander autant d’unités que nous le souhaitons, mais il y a une capacité finie pour l’étagère. L’étagère ne peut contenir que tant d’unités. Il peut y avoir une capacité maximale pour la journée pour le nombre de marchandises pouvant être reçues, traitées par le magasin, ou ingérées par l’entrepôt, ou par tout autre emplacement de votre supply chain.

Et vous avez des tonnes de contraintes comme ça. Vous pouvez avoir une contrainte qui dit que j’ai besoin d’avoir au moins ceci, cela et cela pour pouvoir présenter une étagère agréable à regarder. Ce serait une contrainte de merchandising dans un magasin, etc.

Donc, nous avons les variables, nous avons les contraintes, et le troisième élément est la fonction de perte. La fonction de perte vous donne, pour toute solution qui satisfait toutes les contraintes, voici votre perte et vous voulez simplement la minimiser. C’est juste une convention.

Et ces trois éléments définissent le cadre général d’optimisation mathématique. La raison pour laquelle les mathématiciens ont utilisé ce cadre au cours des 100 dernières années est qu’il est en réalité très général.

Et ici, nous examinons même la torsion de la stochasticité, où nous ajoutons une torsion assez inhabituelle au problème, à savoir que la fonction de perte n’est pas déterministe. Ce n’est pas une fonction mathématique classique où vous donnez une entrée et vous avez une sortie garantie. Nous disons que vous donnez une entrée et vous avez une sortie aléatoire.

Conor Doherty: Juste pour revenir à l’idée des contraintes, et corrigez-moi si je me trompe, vous pourriez subdiviser ces contraintes. Par exemple, vous avez énuméré la capacité, vous connaissez la capacité de vos étagères, de votre entrepôt, combien peut être traité en une journée. Peut-être que cela peut être augmenté un peu en termes de traitement, mais encore une fois, la capacité de l’étagère est finie. Cela ne change pas de sitôt. Mais les MOQ peuvent changer. Je veux dire, vous pourriez renégocier. Il y a donc une certaine fluidité ici pour certaines de ces contraintes. Est-ce le genre de stochasticité dont vous parlez et qui est prise en compte dans les décisions ?

Joannes Vermorel: Pas vraiment. Les contraintes sont littéralement juste une façon mathématique d’exprimer l’idée que certaines solutions ne sont tout simplement pas acceptables. Encore une fois, tout comme il y a une vraie question profonde, mais ce n’est pas une question mathématique, de l’adéquation de votre fonction de perte par rapport à votre stratégie commerciale, il en va de même pour vos contraintes. Donc, vous diriez, eh bien, cette contrainte est-elle vraiment une contrainte ? Puis-je réellement investir pour lever cette contrainte ou puis-je simplement penser différemment à l’entreprise ?

Encore une fois, l’idée est que vous aurez vraiment deux perspectives différentes. L’une est l’approche de modélisation où vous dites que vous voulez vraiment avoir des variables, des fonctions de perte, des contraintes qui sont fidèles à votre entreprise. Et c’est fondamentalement une entreprise non mathématique, non algorithmique. Il s’agit vraiment de comprendre si ces choses sont fidèles à l’entreprise.

Mais pas vrai au sens mathématique. Une contrainte n’est ni vraie ni fausse au sens mathématique. Elle est simplement. C’est littéralement quelque chose où vous dites que la capacité maximale est de 100 unités. Il n’y a aucune validité mathématique dans cette déclaration. C’est juste un fait. Un mathématicien peut dire, ouais, tu as choisi 100. Mathématiquement parlant, je ne peux pas te dire si 100 est un bon nombre. Je peux seulement te dire, par exemple, que si tu me dis qu’il y a une contrainte qui dit que cela devrait être moins de 100 unités, puis une autre contrainte qui dit que cela devrait être strictement plus de 100 unités, alors je peux te dire qu’il n’y a pas de solution.

Les mathématiques ne portent pas de jugement sur le type d’entrées qui leur sont données. Il s’agit simplement d’avoir une cohérence interne. Mais alors, la chose intéressante dans l’aspect stochastique du monde stochastique est que soudainement les contraintes deviennent beaucoup plus subtiles au sens mathématique.

Voyons donc ce que cela signifie d’avoir un problème stochastique. Dans la vieille perspective de l’optimisation non stochastique, nous avions une séparation claire entre cette solution fonctionne ou non, en raison des contraintes, sans même prendre en compte la perte. Mais voyons ce que cela signifie dans un monde où notre fonction de perte est stochastique. Disons, par exemple, que nous avons un entrepôt et que nous pouvons passer des commandes de réapprovisionnement et que nous avons une capacité quotidienne entrante pour l’entrepôt.

Donc, chaque jour, nous avons une limite sur le nombre d’unités que nous pouvons traiter des fournisseurs. Et donc ce qui est généralement fait dans cet entrepôt pour en tenir compte, c’est que nous répartissons les commandes de réapprovisionnement, en tenant compte des délais d’approvisionnement des fournisseurs, afin de ne pas avoir tous les fournisseurs qui livrent tout le même jour et dépassent la capacité quotidienne de l’entrepôt pour recevoir les marchandises.

En regardant cela d’un point de vue d’optimisation stochastique, je choisis mes quantités et ensuite j’ai de la variabilité dans le temps des livraisons. Cela signifie que si j’ai une très mauvaise chance, je pourrais me retrouver avec une décision qui est parfaitement bonne. Tout a été réparti en termes de commandes de réapprovisionnement, mais mes premières commandes sont en retard et ensuite mes commandes ultérieures sont même en avance. Par un coup de chance aléatoire, tout cela finit par s’effondrer le même jour et ce jour-là, je surcharge mon entrepôt. Je dépasse la capacité nominale de réception.

Il y a beaucoup de situations où il n’est plus possible d’avoir une solution parfaitement réalisable. Cela signifie que vous vivrez des situations où il y a une probabilité que vos contraintes ne soient pas respectées. C’est simplement comme ça. C’est une déclaration mathématique que je fais. En raison de la nature des fonctions de perte et du fait que vos décisions peuvent avoir des conséquences elles-mêmes non déterministes, comme décider de la quantité mais ensuite ne pas avoir un contrôle complet sur le jour de la livraison.

Même si vous avez pris les meilleures décisions, il est possible d’avoir des quantités de stocks qui se chevauchent. La seule façon de s’assurer absolument que cela ne se produira jamais serait de s’assurer que dans l’ensemble de votre pipeline de commandes en souffrance, vous ne dépassez jamais ce que vous pourriez recevoir un jour donné, en tenant compte du pire scénario où toutes vos commandes en souffrance seraient livrées le même jour. C’est évidemment extrême.

Les entreprises doivent faire face à ce genre de situation où oui, il y a une chance sur 10 000 que je dépasse ma capacité. Mais en réalité, l’idée d’une contrainte absolue est plus une idée mathématique. En pratique, si vous dépassez votre capacité, il y aura un coût.

Lorsque nous adoptons une perspective d’optimisation stochastique, nous constatons que fondamentalement, les contraintes font en grande partie partie de la fonction de perte. Sinon, nous adoptons une approche qui dit que je suis d’accord avec un certain degré de tolérance pour accepter que les contraintes soient violées avec une faible probabilité. Pour la plupart des situations intéressantes dans les problèmes d’optimisation stochastique auxquels fait face la supply chain, il y aura une petite probabilité résiduelle que vos contraintes soient violées.

Conor Doherty: Lorsque vous parlez de cette tolérance, il s’agit de la faisabilité dont vous parlez, n’est-ce pas ? Et par extension, cela se mesure en ?

Joannes Vermorel: Cela se mesure en fonction de la capacité que vous avez définie pour vos problèmes. Si vous dites que vous voulez réapprovisionner un magasin, vous prenez votre décision de manière à ce qu’elle corresponde à la capacité du magasin. Mais que se passe-t-il si, par un coup de chance, le magasin ne vend rien un jour donné ? Disons que vous vendez des produits frais, vous décidez aujourd’hui de réapprovisionner le lait, et vous prenez cette décision sans avoir les ventes du jour. Mais vous supposez quand même que certaines unités seront vendues. Et si, par un coup de chance aléatoire, dans ce magasin qui normalement vend 80% de son stock de lait frais tous les jours, il ne vend rien aujourd’hui, juste par pur hasard, alors vous pourriez finir par réapprovisionner et dépasser vos contraintes.

L’idée clé est que dès que vous vous trouvez dans une situation d’incertitude, non seulement votre fonction de perte varie, mais aussi la satisfaisabilité des contraintes varie également. Pour la plupart des situations intéressantes, vous vous retrouvez avec des contraintes qui ne seront pas parfaitement satisfaites. Ce serait une erreur de dire que je ne veux aller que dans des situations où je suis sûr que mes contraintes seront satisfaites. Pourquoi ? Parce que mathématiquement, vous obtiendrez des solutions, mais elles seront très médiocres. Ce seront des solutions du type ne rien commander, ne rien faire, laisser faire. Et cela vous donnera satisfaction dans le sens où il n’y aura pas de violation de contrainte, mais cela ne vous donnera certainement pas de profit.

Conor Doherty: Je voudrais revenir à l’exemple que vous avez donné concernant la réception des commandes, l’échelonnement des commandes et la recherche de la manière la plus économiquement viable de le faire. Ce serait, je suppose, l’approche stochastique. Comment les modèles précédents, qui étaient basés sur l’optimisation mathématique et qui ne tenaient pas compte de la dimension stochastique, abordaient-ils le problème que vous venez de décrire ?

Joannes Vermorel: Ils ignorent complètement le problème. Il n’existe même pas dans l’optimisation mathématique déterministe classique. Les conséquences variables de vos décisions ne sont même pas prises en compte, elles n’existent tout simplement pas.

Il existe des moyens d’atténuer le cas. Une façon simple serait de dire : “Eh bien, j’élargis la définition de mon problème en disant que, au lieu de chercher une optimisation, je vais optimiser conjointement, disons, 100 scénarios distincts. Et je dis que ma décision doit être commune à tous les futurs possibles, et je dois m’assurer que pour tous ces scénarios variables, toutes mes contraintes sont toujours satisfaites.”

Alors, comment revenir à un cas déterministe ? Eh bien, vous pouvez simplement dire : “Je peux copier ma situation 100 fois pour représenter 100 variantes de la situation qui seraient sur 100 trajectoires, puis optimiser le problème élargi qui a 100 instances en une seule fois.”

Et je peux le faire avec un solveur classique, mais cela ne fait qu’aggraver un problème qui empêche déjà les praticiens de la supply chain d’utiliser réellement des outils d’optimisation mathématique en premier lieu. Et ce problème est l’évolutivité.

Conor Doherty: D’accord, eh bien je pense que ce serait un bon point pour commencer à appliquer cela à une vertical spécifique afin que les gens puissent réellement commencer à comprendre en trois dimensions comment la théorie interagit ensuite avec la complexité réelle, les contraintes réelles, les variables réelles. Donc, si vous prenez, disons, une entreprise MRO, de taille typique, qui dessert une flotte de taille normale, disons 10 avions, dont chacun a, je ne sais pas, un quart de million de pièces, comment ces trois ingrédients s’intègrent-ils dans une optimisation stochastique pour une entreprise MRO par rapport à une ancienne méthode mathématique qui, selon vous, ne fonctionne pas ?

Joannes Vermorel: Voyons quels problèmes nous avons pour les entreprises MRO. Nous voulons optimiser les stocks afin de pouvoir effectuer vos réparations. Vous avez un composant qui arrive, il est inutilisable, vous commencez votre réparation, vous découvrez les pièces dont vous avez besoin. Vous avez une nomenclature, mais la nomenclature est probabiliste, donc incertaine. Il y a une stochasticité qui se produit ici. Vous avez l’incertitude de savoir si vous obtiendrez des composants pour les réparations, c’est une demande fluctuante. Mais une fois que vous avez le composant, vous découvrirez en réalité ce dont vous avez besoin pour réparer le composant.

Le problème, c’est que s’il manque une pièce, vous ne pouvez pas réparer le composant. Vous voyez, avoir 90% des pièces ne résout pas le problème. Vous êtes bloqué. Vous avez besoin de toutes les pièces pour les réparations, sinon vous ne pourrez pas réparer du tout le composant.

Chez Lokad, nous avons commencé il y a des années à faire des prévisions probabilistes pour ces situations. La prévision probabiliste consiste à anticiper avec les probabilités appropriées l’arrivée des composants à réparer, à anticiper les distributions de probabilité des pièces dont vous aurez besoin. Donc, il s’agit de cette nomenclature probabiliste. Et maintenant, nous devons décider ce que nous devons commander, quelles sont les pièces que nous voulons avoir en stock et en quelles quantités. Et pour ces pièces, il y a aussi l’incertitude des délais de livraison. Et certaines de ces pièces sont réparables.

Pour certaines d’entre elles, il y a l’incertitude non seulement de leur temps de rotation car vous retirez une pièce de votre composant, mais cette pièce elle-même est réparable. Vous pouvez donc la faire réparer et la remettre en place, ou plus probablement, vous prendrez les pièces, ferez réparer cette pièce, mais en mettre une autre dans le composant car vous ne voulez pas attendre que la pièce revienne pour être réparée.

Mais cela signifie que lorsque vous voulez décider si vous avez besoin de plus de pièces, vous devez prendre en compte les pièces qui reviendront, qui sont déjà en cours de traitement. Donc ce ne sont pas seulement les pièces que vous avez, ce sont aussi les pièces qui reviennent. Et il y a aussi d’autres facteurs tels que les taux de rebut où vous essayez de réparer, mais la réparation peut ne pas fonctionner. Donc vous pensiez avoir 10 pièces qui revenaient, mais vous n’en obtenez que 8 car deux ont été mises au rebut car la réparation n’était pas possible.

C’est une partie de la prévision, toutes les incertitudes. Maintenant, les décisions que vous voulez prendre concernent finalement la résolution de vos problèmes d’achat de pièces. La question est de savoir si je dois acheter plus d’unités de pièces, en tenant compte de toutes les pièces qui reviennent et de tout le reste ?

Une pièce aura une valeur économique si elle contribue à une réparation. Mais tout comme le cadenas que j’ai mentionné précédemment, vous avez cet effet de clic où si vous avez toutes les pièces, vous pouvez réparer et toutes ces pièces ont de la valeur. Mais si vous manquez de pièces, tout cela n’est qu’un poids mort. Les pièces que vous avez ne servent que si vous avez la combinaison complète. Si vous avez la combinaison moins une, alors vous avez des retards pour vos clients.

Dans tous les cas, l’inventaire ne sert à rien s’il vous manque quelque chose. Et si vous n’avez pas tout, la question sera : “Combien de temps cela prendra-t-il pour l’obtenir car vous découvrirez à la dernière minute qu’il manque quelque chose et combien de temps cela prendra-t-il pour que cette chose soit disponible si vous passez une commande très tard pour cela ?”

Si nous sommes dans des paramètres simples où tous mes SKUs sont strictement indépendants, différents clients, différents tout, alors pour chaque position de stock, je peux calculer un score économique et dire selon toutes les probabilités, je peux calculer les dollars attendus de retour en ayant cette unité en stock.

Mais pour la maintenance, je ne peux pas adopter cette approche car il y a des dépendances entre les numéros de pièce. Si je décide d’acheter une unité, elle peut n’avoir aucune valeur par elle-même. Mais si j’achète une autre unité, alors je peux effectuer une réparation et les deux pièces ont beaucoup de valeur.

Jusqu’à ce que vous ayez toutes les pièces dont vous avez besoin pour votre nomenclature probabiliste, les pièces que vous avez sont essentiellement inutiles. Leur valeur économique est essentiellement lorsqu’elles sont ensemble. Séparément, elles n’ont aucune valeur. Donc, quoi que vous utilisiez pour résoudre ce problème d’optimisation stochastique, vous devez être capable d’étudier vos décisions où vous n’achetez pas les pièces une par une ou ne considérez pas les pièces que vous avez isolément mais ensemble. Les combinaisons de certaines unités à acquérir peuvent avoir une valeur économique très différente par rapport à une analyse autonome où vous regardez simplement les pièces une par une.

Conor Doherty: Je vais essayer de suivre cette réflexion et pardonnez-moi, mais lorsque vous décrivez tous ces éléments stochastiques, vous dites que la pièce, disons le délai de réparation pour obtenir cette pièce, peut être d’un jour, d’une demi-journée, de trois jours, de quatre jours. Il y a une autre source de stochasticité qui est vraisemblablement aussi la capacité des personnes à effectuer réellement la réparation, c’est-à-dire combien de temps il faut à une personne une fois qu’elle a reçu la pièce, ce qui varie, pour effectuer réellement la réparation. Pouvez-vous prendre en compte ce niveau de stochasticité, comme la stochasticité basée sur l’humain également ?

Joannes Vermorel: Oui, les humains ne sont qu’un type de retard parmi d’autres et ils peuvent avoir des capacités variables. Par exemple, certains opérateurs sont plus talentueux que d’autres et ils peuvent même avoir besoin de moins de pièces. Quelqu’un peut réussir à effectuer une réparation en consommant moins de choses qu’un employé moins talentueux qui jette simplement les choses lorsqu’il ou elle ne parvient pas à effectuer la réparation.

Dans la maintenance aéronautique, les composants sont très modulaires, donc les composants sont composés de composants qui sont composés de composants. Donc, il y a toujours l’option, lorsque vous ne savez pas comment réparer et que vous jetez simplement le sous-module entier et que vous en mettez un nouveau qui est tout neuf en termes de remplacement, par opposition à simplement identifier la seule chose qui échoue et ne changer que cela.

Si vous êtes très bon pour diagnostiquer ce qui doit être changé, vous changerez ce qui doit être changé. Si vous êtes moins bon, vous pourriez finir par changer beaucoup plus.

Mais revenons au cas, le truc ici est que lorsque je définis la solution, nous devons l’examiner du point de vue d’une politique. Cela signifie que votre solution n’est pas seulement la décision que vous prenez maintenant, mais le principe général qui guide vos décisions. Une politique peut régir les pièces que vous avez en stock, mais vous tiendrez compte de votre réaction lorsque vous découvrez votre nomenclature probabiliste.

Pourquoi est-ce important ? Disons par exemple que vous voulez réparer un moteur d’avion. Il y a des pièces qui se trouvent juste à l’extérieur du moteur et qui seront les premières à être diagnostiquées. Donc, lorsque vous recevez votre moteur pour effectuer la réparation, vous découvrirez ce dont vous avez besoin pour l’extérieur du moteur simplement parce que lorsque vous démontez le moteur, ce sera la première pièce que vous toucherez, car un moteur est comme une poupée russe avec de nombreuses couches qui vont jusqu’au cœur.

Si vous découvrez une pièce qui se trouve à l’extérieur du moteur, alors vous aurez très probablement beaucoup de temps pour trouver cette pièce car vous aurez d’abord potentiellement plusieurs jours pour démonter le moteur de l’avion jusqu’au cœur, puis remonter progressivement du cœur vers l’extérieur du moteur et vous aurez besoin de la pièce qui s’adapte à l’extérieur du moteur à la toute fin du processus.

Donc, cette pièce, je n’ai même pas besoin de l’avoir en stock car lorsque j’ai besoin des pièces, je peux les commander le premier jour et le jour 60, lorsque j’ai réellement besoin des pièces, j’ai les pièces disponibles car mon délai de livraison de mes fournisseurs était, disons, de 20 jours.

Lorsque vous souhaitez examiner l’optimisation de vos stocks de pièces, vous devez prendre en compte la politique, c’est-à-dire quelles pièces dois-je avoir disponibles immédiatement et quelle sera ma réaction habituelle lorsque je suis confronté à la découverte de cette nomenclature probabiliste.

Si j’adopte une politique différente, telle que la personne qui démonte le moteur de l’avion n’a aucune information sur la disponibilité ou la non-disponibilité des pièces en stock, alors c’est une toute autre histoire car je démonte le moteur de l’avion, remonte le moteur de l’avion et puis 60 jours plus tard, je découvre toujours que je suis en rupture de stock pour cette pièce manquante.

Vous voyez donc que la politique exprimerait ce genre de situations de prise de décision séquentielle où quelles sortes de décisions auront lieu et comment cela façonnera le résultat économique final de la situation au fur et à mesure de son déroulement.

Nous avons ici deux politiques, l’une est intelligente, je réagis dès que j’ai l’information, je passe la commande d’achat. L’autre est d’attendre jusqu’à ce que je doive monter la pièce et ensuite je réalise que la pièce est nécessaire et ensuite je passe la commande. Si vous êtes dans la situation où la politique est la deuxième, cela signifie qu’elle mettra beaucoup plus de valeur économique sur le fait d’avoir les pièces en stock car c’est le seul moyen de s’assurer que nous ne retardons pas davantage le moteur de l’avion à la toute fin parce que cette pièce manque.

Si la première politique, une politique intelligente, est en place, cela signifie qu’il n’y a aucune valeur économique à avoir ces pièces à l’extérieur du moteur en stock. En raison de la politique, je ne les manquerai pas car les commandes d’achat seront passées tôt.

Conor Doherty : Quels types de surcharges technologiques seront associés au type de réactivité que vous décrivez ? Donc, si je me fraye un chemin dans le moteur et que je découvre que j’ai besoin d’une pièce, cela reconfigure complètement le calendrier prévu de cette réparation.

Joannes Vermorel : C’est une question très intéressante. La scalabilité a été une préoccupation majeure. Lorsque je parle de scalabilité, je parle de la scalabilité des techniques d’optimisation mathématique pour la supply chain, ce qui a été un obstacle depuis environ quatre décennies.

L’optimisation mathématique est censée être un domaine de recherche très établi et il existe des acteurs majeurs du logiciel très établis qui vendent ce qu’on appelle des solveurs. Les solveurs sont des logiciels conçus pour résoudre des problèmes d’optimisation mathématique et ils sont généralement accompagnés de leur propre langage de programmation. Il s’agit généralement de langages de programmation mathématique qui vous permettent d’exprimer vos variables, vos fonctions de perte et vos contraintes.

La chose intéressante est que bien que ces solveurs aient été introduits sur le marché il y a quatre décennies et qu’il existe même des solveurs open source de nos jours, ces solveurs ne sont nulle part dans la supply chain. Je pense que la scalabilité est un gros problème.

Si nous décomposons les techniques disponibles sur le marché, nous avons essentiellement les fonctions de perte bien comportées, les fonctions convexes. Les fonctions convexes signifient que vos fonctions ont une courbe douce et que vous pouvez, lorsque vous choisissez une solution, rouler doucement vers le bas. Il vous suffit de suivre les gradients et vous arriverez en bas. Donc, ces fonctions bien comportées seront des fonctions linéaires, des fonctions quadratiques. Ce genre de fonctions n’a pas de problèmes de scalabilité, nous pouvons littéralement avoir des milliards de variables. Mais les problèmes auxquels nous sommes confrontés dans la supply chain ne sont pas aussi bien comportés que cela.

Ensuite, nous avons une deuxième classe de solveurs, qui sont les méthodes de branch and bound, branch and cut, qui supposent essentiellement que les contraintes prédominent, que vous avez très peu de solutions réalisables valides. Donc, vous avez tellement de contraintes que vous pouvez éliminer un hyperplan entier de votre espace de solutions. Essentiellement, vous pouvez diviser votre ensemble de solutions en deux et dire que cette moitié est à jeter car je sais que ces solutions ne satisferont jamais les contraintes que j’ai. Et littéralement, vous pouvez jeter la moitié des solutions et répéter le processus d’élimination de la moitié des solutions un grand nombre de fois. Et à la fin, vous vous retrouvez avec un espace très réduit et vous pouvez étudier cet espace restreint de manière assez approfondie.

Il existe de nombreuses techniques, ce qu’on appelle la relaxation des problèmes, qui consistent à examiner le problème sans les contraintes, à trouver les solutions idéales sans les contraintes, puis à réappliquer les contraintes. Ces problèmes, encore une fois, s’ils n’ont pas de contraintes très strictes, ne sont pas très scalables. Donc, la scalabilité de ces techniques dépend beaucoup de la marge de manoeuvre qu’il vous reste une fois que toutes les contraintes sont appliquées. Et c’est là que le problème se pose dans la supply chain, les problèmes que nous considérons ont beaucoup de contraintes mais elles ne sont pas très strictes.

Pensez à un cadenas. Le cadenas, vous avez 10 000 combinaisons, il n’y en a qu’une seule qui clique, toutes les autres sont fausses. Eh bien, dans les supply chains, vous avez des contraintes mais ces contraintes ne sont pas très strictes. Par exemple, dans les contraintes de capacité de l’étagère, vous avez encore une énorme quantité de solutions. Vous pouvez décider de mettre plus de ces produits, plus de ces produits. Quand vous y réfléchissez, c’est une contrainte très faible. Ce ne sont pas le genre de contraintes qui réduisent votre espace de solutions à quelques solutions. Vous avez encore une quantité absolument énorme de solutions.

Tous ces solveurs qui utilisent ces sortes de techniques d’élimination de l’espace de solutions, branch and cut, branch and bound, etc., au-delà de 1000 variables, ils fonctionnent généralement extrêmement mal. Peut-être, si vous devenez fou, 10 000 variables, mais c’est déjà pousser les limites à l’extrême. Nous parlons de très grosses machines avec des dizaines de gigaoctets de RAM, des dizaines de CPU et potentiellement des heures pour obtenir une résolution. Donc, cela va être extrêmement lent et pour 10 000 variables, vous diriez oh c’est déjà beaucoup. Pas vraiment, c’est minuscule.

Considérez simplement qu’un mini marché va comporter 5 000 produits. Mais ce ne sont pas 5 000 variables car la question est vraiment de savoir si je ramène zéro unité, une unité, deux unités, trois unités. Donc, disons que vous vous arrêtez à 10, 10 suffira mais j’en suis déjà à 50 000 variables, et ensuite la localisation par mini marché et évidemment vous avez de nombreux mini marchés. Donc, vous voyez même un problème majeur comme un mini marché est déjà à 50 000 variables et c’est bien au-delà de ce que vous pouvez faire.

Et puis nous avons une troisième classe d’outils, qui sont la recherche locale. La recherche locale est une classe de techniques qui dit supposons que vous puissiez trouver une solution réalisable. Dans le cas de la supply chain, c’est une hypothèse très raisonnable. Donc, trouver une solution qui ne viole aucune contrainte est généralement assez facile. Si votre contrainte est que vous ne devez pas déborder de l’étagère, il suffit de commander moins. Ce n’est pas quelque chose de difficile, il suffit de diminuer vos unités jusqu’à ce que vous satisfassiez la contrainte. Si vous avez une quantité minimale de commande, eh bien si vous voulez satisfaire la contrainte, il vous suffit d’ajouter une unité supplémentaire à un produit jusqu’à ce que vous ayez la quantité.

Donc, ce n’est pas difficile de trouver une solution qui satisfait les contraintes. Ce n’est pas comme un puzzle cryptographique où vous devez obtenir des dizaines de variables exactement correctes pour que cela convienne. Dans la supply chain, généralement quand je dis que les problèmes sont faciles, c’est que généralement en ajustant juste une variable, vous pouvez obtenir la solution. Donc, vous pouvez simplement diminuer une quantité jusqu’à ce qu’elle rentre dans l’étagère, diminuer ou augmenter une quantité jusqu’à ce que vous ayez cette quantité minimale. Même chose comme ça. Donc, il y a des moyens semi-triviaux d’obtenir une solution qui satisfait vos contraintes. Mais je ne dis rien sur la qualité de la solution, je dis juste que vous trouverez une solution.

Et essentiellement, la recherche locale dit simplement une fois que vous avez une solution qui convient, vous pouvez muter aléatoirement cette solution et si la solution mutée viole l’une des contraintes, vous vous en débarrassez. Et si cela satisfait toujours le problème et que vous avez une fonction de perte qui vous dit que cette solution est meilleure, alors vous passez à cette solution qui est meilleure et vous continuez à itérer.

Donc, la fonction de perte signifie que vous avez déjà une solution qui est légale dans un sens, vous modifiez aléatoirement cela et quand par chance vous obtenez une solution qui selon votre fonction de perte est meilleure et que la solution satisfait vos contraintes, alors vous passez à cette nouvelle solution et vous répétez.

Il existe des variantes de cela, on les appelle généralement des méta-heuristiques, des algorithmes génétiques, la recherche tabou, etc., et tout cela repose sur le principe que vous commencez avec une solution et vous itérez simplement sur une solution avec des mutations aléatoires qui vous donne plus de scalabilité. Vous seriez capable, avec ce genre de techniques, d’aller peut-être jusqu’à un million de variables. Mais c’est encore très lent.

Et chez Lokad, nous avons essayé et cela ne passe toujours pas le test de la scalabilité pour la supply chain. Donc, c’est en dehors de la voie classique, c’est le mieux mais c’est encore trop faible pour s’adapter aux sortes de problèmes où nous avons très rapidement des millions de variables et où nous voulons une convergence rapide.

Et nous voulons également prendre en compte l’aspect stochastique du problème. Parce que vous voyez, lorsque je mentionnais ce problème pour ces mini-marchés où nous avions 50 000 variables, si nous les développons macroscopiquement avec 100 trajectoires comme je l’ai décrit pour tenir compte des futurs possibles, alors nous en sommes à 5 millions de variables. Donc, cela gonfle rapidement et encore une fois, ce n’est tout simplement pas suffisant.

Conor Doherty: Je veux ajouter un peu à la question originale. Si je peux résumer jusqu’à présent, le problème avec les anciennes optimisations mathématiques était qu’elles étaient déterministes. Les choses sont connues, il y a un bon et un mauvais, essentiellement vous pouvez prendre une bonne décision ou une mauvaise décision.

Ensuite, je vous ai demandé la complexité de MRO, et vous avez donné un aperçu très clair de sa complexité. Alors, quels sont les surcoûts technologiques pour l’optimisation stochastique de ce petit aperçu de complexité que vous avez donné ? C’est évidemment insensé, mais ce que je demande en fait, ce n’est pas quelle est la façon parfaite de mettre en œuvre cela, mais quelle est une meilleure façon d’utiliser l’optimisation stochastique ? Ce ne sera peut-être pas parfait, mais quelle est une façon fonctionnelle ou réalisable de le mettre en œuvre qui ne viole pas tout ce que vous venez de dire ?

Joannes Vermorel: Le problème avec l’optimisation mathématique concerne vraiment la scalabilité. Vous pouvez revenir à un problème déterministe en réexprimant un problème stochastique comme un problème déterministe. Mais nous avons commencé avec des techniques d’optimisation mathématique qui souffraient déjà de graves problèmes de scalabilité.

Maintenant, nous allons gonfler le problème pour réexprimer le problème stochastique comme un problème déterministe, ce qui rend votre problème de scalabilité encore pire. Il y a une façon triviale de traiter l’optimisation stochastique, il suffit d’exécuter ma fonction de perte qui varie un million de fois et de moyenner le résultat. Cela fonctionnerait, sauf que le surcoût computationnel est tout simplement gigantesque.

Donc, le point que je soulève, c’est que ces outils d’optimisation mathématique sont disponibles depuis des décennies, mais ils ne sont pas évolutifs et ils ne gèrent même pas la stochasticité. Même avant de considérer la stochasticité, qui résulte de prévisions probabilistes, ils n’étaient déjà pas assez évolutifs. Si vous empilez la stochasticité, alors nous sommes à des ordres de grandeur de la réalité. C’est pourquoi Lokad a dû essentiellement développer une classe de technologie pour l’optimisation stochastique afin que nous puissions aborder ces problèmes à une échelle qui a du sens pour la supply chain.

Et si nous revenons à la raison pour laquelle nous le voulons vraiment, la réponse est que lorsque Lokad a introduit des prévisions probabilistes en 2012, nous avons très rapidement réalisé que nous avions un gros problème. L’optimisation sous incertitude est très, très difficile.

Pendant des années, nous avons élaboré des heuristiques intelligentes pour colmater la situation. Donc, vous pouvez vous en sortir avec des heuristiques intelligentes. Les heuristiques signifient simplement une façon astucieuse qui fonctionnera d’une manière ou d’une autre dans ce contexte très spécifique. Donc, c’est tricher. Vous trouvez une astuce qui fonctionne plus ou moins dans une situation étroite. Le problème, c’est que ces heuristiques ont tendance à être fragiles.

Et puis, lorsque vous introduisez des contraintes de produit croisé ou des contraintes de déséquilibre croisé, ou tout ce qui implique des éléments interdépendants dans votre supply chain, vous savez, cela peut être n’importe quoi, alors ces heuristiques ont tendance à s’effondrer. C’est pourquoi vous avez besoin d’une optimisation stochastique.

Si ce n’est pas le cas, qu’est-ce que cela signifie pour les entreprises ? Cela signifie que vous vous fiez généralement à un jugement humain très conservateur. Cela fonctionne plus ou moins, mais le problème est que vous avez tendance à jouer la sécurité absolue pour satisfaire vos contraintes. Le problème, c’est que dans la supply chain, tous les problèmes peuvent être résolus en jetant simplement plus d’argent sur le cas.

Si je reviens à mon exemple de maintenance, réparation et révision (MRO) de l’aviation, il y a la solution évidente : dire que le ciel est la limite. Je peux avoir autant de pièces que je veux, donc je vais avoir beaucoup de stocks et ensuite j’aurai un bon taux de service. Si vous jetez simplement de l’argent sur le problème, oui, vous allez résoudre le problème, mais ce n’est pas une résolution précise, c’est une résolution très approximative.

Même chose pour la limite d’étagère. Vous pouvez décider de partitionner votre magasin avec beaucoup de contraintes très strictes. Disons que ces deux produits ou trois produits ne doivent pas avoir autant d’espace et celui-ci pas plus que tant d’espace. Cela limite la variation de la composition interne que votre magasin peut subir.

Si je dis que tous les yaourts combinés ne doivent pas dépasser 200 unités, très bien. Mais que se passe-t-il si cette contrainte est erronée ? Et si la demande augmente localement et que cette contrainte pour la quantité totale de yaourts est beaucoup trop basse ? Vous vous retrouvez à la fin de chaque samedi sans un seul yaourt restant dans votre supérette.

Ce qui se passe, c’est que lorsque vous n’avez pas d’optimiseur stochastique, de solveur stochastique disponible, ce que font les entreprises, c’est qu’elles ont tendance à ajouter beaucoup de contraintes pour réduire l’espace des solutions. De cette façon, les personnes ou éventuellement les logiciels qui vont choisir les solutions, prendre des décisions, opéreront dans un espace de solutions beaucoup plus restreint. Cela soulage toutes ces sortes de dépendances croisées.

Mais c’est tricher dans le sens où il pourrait y avoir de bien meilleures solutions qui existent et que vous avez simplement éliminé ces solutions en accumulant de fausses contraintes.

Conor Doherty : Nous avons couvert beaucoup de choses. Donc, pour résumer ou simplifier tout cela pour le rendre plus compréhensible pour les personnes qui n’ont pas nécessairement une formation mathématique, l’optimisation stochastique est une façon beaucoup plus flexible et réactive d’optimiser les décisions par rapport à l’optimisation mathématique traditionnelle, n’est-ce pas ?

Joannes Vermorel : Oui, c’est une façon plus expressive. Tout ce que vous pouvez exprimer comme un problème déterministe, vous pouvez également l’exprimer comme un problème stochastique. Mais d’une certaine manière, le stochastique est beaucoup plus général, car déterministe signifie simplement que votre fonction ne varie pas du tout. Si vous avez une fonction qui varie, vous pouvez toujours choisir une fonction qui ne varie pas. Cela fonctionnera quand même. Donc, le cadre consiste d’abord à définir quelle classe de problèmes vous pouvez aborder.

Si vos problèmes impliquent de l’incertitude, vous avez besoin d’une optimisation stochastique. C’est littéralement la classe de problèmes à laquelle votre situation appartient. Et maintenant, idéalement, vous voulez un composant logiciel pour y faire face. Les prévisions probabilistes sont les outils qui vous permettent de générer ces prévisions de base pour évaluer l’incertitude.

En ce qui concerne la prise de décision elle-même, nous avons également besoin d’un composant. La perspective typique de l’optimisation mathématique est d’avoir un solveur, un logiciel générique qui peut prendre n’importe quelle déclaration de problème, une fonction de perte déterministe, des variables, des contraintes, et vous donner la solution, la combinaison de variables qui minimise la fonction de perte. Vous pouvez avoir exactement la même chose, un solveur, mais ce sera un solveur stochastique. Et il vous donnera en sortie la combinaison de variables que vous recherchez.

Et pourquoi voulez-vous avoir un solveur ? Eh bien, votre fonction de perte qui représente vos gains et pertes en dollars, peut changer. Peut-être voulez-vous ajuster la fonction pour adapter votre vision stratégique. Vous ne voulez pas réimplémenter une résolution logicielle complète de la recette numérique qui vous donnera une solution.

Vous voulez simplement dire, voici une nouvelle fonction de perte, réappliquez simplement la résolution à cette fonction de perte mise à jour. Et c’est ce qu’un solveur peut faire pour vous. C’est comme le composant logiciel empaqueté qui prendra la définition d’une fonction de perte, la définition des contraintes et la définition des variables, et vous donnera la solution.

Conor Doherty : Donc, l’outil logiciel dont vous parlez, l’outil logiciel de résolution qui régénère automatiquement l’optimisation ou la solution dont vous parlez, réduit alors la quantité de travail qu’un praticien de la chaîne d’approvisionnement traditionnelle aurait à faire, n’est-ce pas ?

Joannes Vermorel : Donc, en pratique, cela automatiserait entièrement le processus de prise de décision ? Oui, le solveur est ce qui génère les décisions finales proposées par Lokad à ses clients. Il existe différentes façons d’aborder l’optimisation. Vous pouvez utiliser des heuristiques, dont certaines sont très bonnes. Elles fonctionnent bien dans certaines situations, donc vous n’avez pas nécessairement besoin du solveur. Vous pouvez simplement avoir votre heuristique qui joue le rôle d’un solveur. Mais en fin de compte, le solveur est la chose qui, étant donné la prévision, génère la solution.

Conor Doherty : Pour clarification, lorsque vous utilisez le terme “solveur”, l’utilisez-vous de manière interchangeable avec “recette numérique” qui génère les décisions recommandées, par exemple, dans un réapprovisionnement des stocks ?

Joannes Vermorel : Lorsque j’utilise le terme “recette numérique”, je fais généralement référence à l’ensemble de la chaîne de traitement. C’est plutôt tout, depuis la préparation des données jusqu’à la génération des résultats. Cette recette numérique est généralement décomposée en une série d’étapes : préparation des données, génération de la prévision, optimisation, puis présentation des résultats. Aujourd’hui, nous ne discutons que du calcul de la décision finale, qui prend la prévision en entrée.

Conor Doherty : Si le praticien de la supply chain n’est pas d’accord avec la décision de la supply chain générée par le solveur, quelles sont les recours possibles ? Si cela prend en compte des millions de variables fonctionnant à une échelle bien au-delà de la capacité humaine, comment pouvez-vous, en tant que praticien de la supply chain, évaluer si c’est juste ou faux ?

Joannes Vermorel : Un solveur est très facile à remettre en question. Vous pouvez simplement dire : “Voici ma meilleure solution. Mettons cette solution à l’épreuve en utilisant la fonction de perte.” Il suffit de prouver que votre solveur n’est pas bon en montrant une solution meilleure que celle trouvée par le solveur.

Donc, le solveur vous donne une combinaison et généralement, une fois que vous avez donné une solution, l’accès à la fonction de perte est là, les contraintes sont là. Donc voici la solution provisoire, vérifions d’abord que les contraintes sont validées, d’accord, vérifions qu’elles le sont. Et maintenant, appliquons la fonction de perte qui me donne la perte en dollars. D’accord, voici la perte, et voici la solution qui m’est présentée par le solveur.

Si je modifie manuellement cette solution en choisissant mes variables et que j’obtiens quelque chose de meilleur que la fonction de perte, alors j’ai prouvé que je suis capable, en tant qu’être humain, de générer une solution supérieure au solveur. Dans ce cas, le solveur n’est pas très bon. Cela peut très bien arriver.

Le problème avec les solveurs prêts à l’emploi que l’on trouve sur le marché n’est pas qu’ils ne trouvent pas de solutions, ils en trouvent. Ils trouvent simplement des solutions très médiocres. Des solutions où les praticiens de la supply chain ajusteraient manuellement les quantités à acheter et qui satisferaient toujours toutes les contraintes et qui, selon la fonction de perte, seraient meilleures. Ainsi, remettre en question un solveur est beaucoup plus facile que de remettre en question un modèle de prévision probabiliste. Il vous suffit de présenter une solution qui se révèle meilleure selon la fonction de perte.

Si vous avez des connaissances spéciales sur le problème, vous pouvez peut-être créer manuellement quelque chose qui surpasse votre solveur. Pour la plupart des logiciels, je dirais tous les solveurs disponibles commercialement dans les paramètres de la supply chain, il est assez facile de les surpasser manuellement. Ils ne sont vraiment pas bons quand il s’agit de problèmes stochastiques. Leur évolutivité est terrible. Ainsi, vous devrez exécuter un solveur pendant, disons, 30 minutes et en avoir fini avec ça. Si la solution après 30 minutes est complètement nulle, alors il n’est pas si difficile pour un être humain de faire mieux.

Conor Doherty : Quelle serait la principale conclusion pour les personnes qui ont écouté cela ?

Joannes Vermorel : La principale conclusion est que l’optimisation stochastique est un angle très important qui est principalement absent des manuels de la supply chain. La plupart des auteurs n’admettent même pas que le problème existe en premier lieu. Les très grands acteurs établis qui vendent des solveurs vendent des solveurs pour des problèmes d’optimisation déterministes. Ce sont de bons solveurs, ne vous méprenez pas, mais ils ne résolvent pas la classe de problèmes que nous avons dans la supply chain en raison de cette incertitude. Ils ignorent simplement l’incertitude.

L’avantage d’avoir un tel solveur est qu’il vous permet d’améliorer votre supply chain de manière à prendre en compte toutes les interdépendances qui existent. Au lieu de considérer les choses de manière isolée, ils considèrent votre supply chain comme un système où tout contribue au système et vous devez prendre en compte ces dépendances.

Ces dépendances peuvent prendre de nombreuses formes. Dans l’aviation, il s’agit de la liste des pièces dont vous avez besoin pour effectuer une réparation. Dans la mode, il s’agit du fait qu’un magasin doit avoir des vêtements de toutes les couleurs pour être attrayant. C’est quelque chose qui ne peut pas être exprimé au niveau du produit. Dans un hypermarché, vous devez réfléchir à la liste de courses réelle que les gens veulent. Ils ne viennent pas acheter un seul article, ils veulent toute une liste d’articles. Peut-être veulent-ils cuisiner des recettes, vous devez donc avoir tous les ingrédients. Pour presque toutes les supply chains non triviales, vous avez des interdépendances partout et à moins d’avoir un solveur stochastique ou une technique de résolution stochastique, vous ne pouvez même pas aborder le problème de manière satisfaisante.

Conor Doherty : Eh bien, Joannes, merci beaucoup pour votre temps. Je n’ai plus de questions. Et merci à tous de nous avoir regardés. Nous vous verrons la prochaine fois.