software-engineering-and-programming
Développer des modèles de programmation robustes et entiers pour la résilience de la chaîne d'approvisionnement
Table of Contents
Les perturbations de la chaîne d'approvisionnement et la nécessité de la résilience
Les chaînes d'approvisionnement mondiales sont devenues de plus en plus complexes et interconnectées, mais elles sont aussi plus vulnérables aux perturbations que jamais. Des événements de pandémie et d'extrêmes conditions météorologiques COVID-19 à l'instabilité géopolitique et aux cyberattaques, les entreprises sont confrontées à un éventail croissant de risques qui peuvent arrêter la production, retarder les expéditions et éroder la confiance des clients.
La programmation intégrale (IP) est un outil naturel pour de nombreuses décisions de la chaîne d'approvisionnement, car de nombreux choix sont intrinsèquement discrets : vous ouvrez un entrepôt ou vous n'en faites pas, vous assignez un nombre entier de camions à une route, ou vous décidez des tailles de lots qui doivent être des unités entières. Combiner IP avec des techniques d'optimisation robustes produit des modèles non seulement mathématiquement rigoureux mais aussi pratiquement déployables dans des industries telles que la fabrication, le commerce de détail, la logistique et les produits pharmaceutiques.
Comprendre la programmation intégrale dans les chaînes d'approvisionnement
La programmation entière est une branche d'optimisation mathématique où certaines ou toutes les variables de décision sont limitées aux valeurs entières. Dans un contexte de chaîne d'approvisionnement, les modèles IP capturent des décisions telles que:
- le nombre d'installations à ouvrir ou à fermer
- la quantité d'inventaire à conserver à chaque emplacement (souvent entier en raison de l'emballage)
- l'affectation des clients aux centres de distribution
- l'acheminement des véhicules de capacité fixe
Une formule de programmation intégrale standard comprend une fonction objective (p. ex., réduire le coût total) et un ensemble de contraintes (p. ex., limites de capacité, exigences en matière de niveau de service).
]T[x soumis à Ax ≤ b, x .]Z[n (ou entier mixte avec des variables réelles)[
Lorsque l'incertitude est introduite, les contraintes déterministes peuvent devenir invraisemblables dans certaines réalisations de la demande ou de l'offre. La programmation intégrale robuste étend le cadre de la propriété intellectuelle en veillant à ce que la solution demeure réalisable (ou quasi-optimale) sur un ensemble prédéfini de scénarios incertains. Cela est obtenu par deux paradigmes principaux : programmation stochastique (où les scénarios ont des probabilités associées) et optimisation de la rotation (où les ensembles d'incertitude sont définis sans distribution de probabilités).
Une idée fausse courante est que les modèles robustes sont toujours plus coûteux ou complexes que les modèles déterministes. En pratique, un modèle IP robuste bien construit peut être résolu avec seulement une augmentation modeste du temps de calcul si l'incertitude est choisie de façon appropriée, en particulier lorsque l'on utilise des méthodes de décomposition ou des algorithmes de plan de coupe.
Caractéristiques clés des modèles de programmation robustes entiers
Pour construire un modèle IP robuste pour la résilience de la chaîne d'approvisionnement, les caractéristiques suivantes sont essentielles:
- Variables de décision de l'entreprise :[ Le modèle doit comprendre des variables binaires ou entières pour les décisions à long terme comme l'emplacement de l'installation, l'adoption de la technologie ou la sélection du fournisseur.
- Incertitude Quantification:[ Les paramètres incertains – comme la demande, le temps d'exécution, le rendement de production ou le coût de transport – sont représentés à l'aide d'intervalles, de scénarios discrets ou de séries d'incertitudes polyédriques.
- Fraisabilité et recours:[ Les modèles en deux étapes sont courants : les décisions en première étape (ici et maintenant) sont prises avant que l'incertitude ne se révèle, et les décisions en deuxième étape (à attendre et voir) ajustent les opérations après que l'incertitude soit observée.
- Alignement de la fonction objective :[ L'objectif combine souvent le coût prévu avec une mesure du risque (p. ex., valeur conditionnelle en péril, coût du pire cas, ou variance).
Éléments clés des modèles robustes en détail
En s'appuyant sur la liste précédente, nous élargissons chaque élément pour montrer comment il contribue à la résilience de la chaîne d'approvisionnement.
Modélisation de l'incertitude
L'incertitude de l'offre peut être catégorisée en incertitude de la demande, incertitude de l'offre et incertitude opérationnelle. Par exemple, la demande peut suivre une distribution connue avec des modèles saisonniers, mais des chocs inattendus peuvent déplacer la distribution entière. L'incertitude de l'offre comprend la variabilité du rendement, les pénuries de matières premières ou les défaillances du fournisseur. L'incertitude opérationnelle couvre les pannes de machines, les grèves de travail ou les retards de transport.
Exemple: Dans un modèle d'inventaire multi-échelons, la demande incertaine d i pour le produit i est modélisée comme d i --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Analyse des scénarios
Lorsque des distributions de probabilité sont disponibles, les techniques de génération de scénarios (par exemple, simulation Monte Carlo, couplage de moments ou regroupement historique) créent un ensemble fini de scénarios qui avoisinent le hasard sous-jacent. Chaque scénario a une probabilité associée. Le modèle IP robuste optimise ensuite sur ce jeu discret, assurant que les contraintes tiennent pour chaque scénario (ou avec des garanties probabilistes).
L'analyse de scénarios est particulièrement utile pour les risques de queue – des événements rares mais graves comme l'arrêt des ports ou la faillite d'un fournisseur majeur. En incluant quelques scénarios à impact élevé, le modèle peut recommander des plans d'urgence (p. ex., fournisseurs de secours, tampons de sécurité) qui ne seraient pas justifiés par une approche à valeur purement prévue.
Fonctions objectives: Équilibrer les coûts et la résilience
L'objectif le plus simple est de réduire au minimum le coût total prévu. Cependant, cela conduit souvent à des stratégies simples et justes en temps qui échouent en cas de perturbation.
- Minimiser le coût le plus défavorable : Protège contre le scénario le plus défavorable. Cela peut être trop prudent mais est approprié lorsque les perturbations peuvent être catastrophiques.
- Minimiser le coût prévu sous réserve d'une contrainte sur le coût le plus défavorable : Offre un compromis entre efficacité et résilience.
- Minimiser le coût des pires scénarios (1-α) % (valeur conditionnelle à risque, CVaR): Se concentre sur la répartition des coûts, un choix populaire en matière de gestion des risques de la finance et de la chaîne d'approvisionnement.
- Maximiser le niveau de service sous réserve d'une contrainte budgétaire : Dans le domaine de la logistique humanitaire ou de la fabrication de haute technologie, répondre à la demande de façon fiable peut être plus important que le coût.
Contraintes : assurer la faisabilité des scénarios
Pour chaque réalisation de l'ensemble d'incertitude, les contraintes robustes exigent que la solution réponde aux exigences en matière de capacité, de conservation des flux et de niveau de service.Il est possible que la modélisation soit faite à l'aide de contreparties robustes, des réformes qui transforment le nombre infini de contraintes en un ensemble fini (généralement via la dualité).Par exemple, une contrainte de capacité d'installation comme - - - - flow ij ≤ C i peut nécessiter de tenir pour toutes les réalisations de la demande.
Méthodes pour améliorer la robustesse : techniques avancées
Au-delà des méthodes de base décrites dans l'article original, nous examinons des approches mathématiques et algorithmiques plus approfondies utilisées dans la pratique.
Programmation stochastique avec recours
Dans la première étape, les décisions comme l'ouverture d'installations, la sélection des fournisseurs et l'investissement technologique sont prises. Dans la seconde étape, après la réalisation des demandes, les décisions opérationnelles (quantités de production, répartition des stocks, routage) sont optimisées. L'objectif est de minimiser les coûts de première étape plus la valeur prévue des coûts de deuxième étape. Ce modèle est généralement résolu en utilisant la décomposition de Benders, où le problème principal gère les décisions de première étape, et les sous-problèmes évaluent les coûts de deuxième étape pour chaque scénario.
Les applications réelles comprennent les entreprises pharmaceutiques qui décident des capacités de production avant de savoir quels médicaments seront en forte demande, ou les fabricants d'automobiles qui s'engagent à des contrats d'approvisionnement en piles à batterie avant que les ventes de véhicules électriques ne soient certains.
Optimisation robuste en utilisant l'incertitude budgétaire
Cette méthode, popularisé par Bertsimas et Sim, définit un ensemble d'incertitudes où chaque paramètre incertain peut s'écarter de sa valeur nominale au maximum d'un montant donné, mais l'écart total normalisé pour tous les paramètres est limité par un budget.Le robuste pendant d'une contrainte linéaire consiste à ajouter un terme qui s'équilibre avec Ι, ce qui donne un problème linéaire traitable.Comme l'ensemble d'incertitude est polyédrique, le modèle conserve sa structure et peut être résolu avec des résolveurs IP standards. Le paramètre Ι contrôle le conservatisme: Ι = 0 donne le cas déterministe, et Ι = nombre de paramètres incertains donne le pire cas (protection complète).
Méthodes de décomposition et de coupe des plieuses
La décomposition des plieuses sépare le problème en un problème principal (contenant les variables entières) et en un ensemble de sous-problèmes (linéaires ou entiers) qui représentent des décisions opérationnelles dans chaque scénario ou réalisation d'incertitude. Le problème principal est résolu de façon itérative, et des coupes des sous-problèmes sont ajoutées pour affiner la solution. Cette technique peut traiter des problèmes avec des milliers de scénarios. Les méthodes de coupe des plans, comme les coupes de gomory ou les coupes de lift-and-project, sont également utilisées dans un cadre de branchement et de coupe pour resserrer la relaxation de programmation linéaire, accélérant la convergence.
Par exemple, une entreprise de logistique mondiale a utilisé la décomposition de Benders pour optimiser son réseau de centres de distribution sous l'incertitude de la demande, réduisant le temps de calcul de jours en heures tout en améliorant la qualité de la solution de 15 % par rapport à une approche déterministe.
Les contraintes de chance et leurs contreparties robustes
Il suffit parfois de satisfaire des contraintes à forte probabilité (p. ex., 95 %) plutôt que pour tous les scénarios. La programmation à risque restreint utilise des contraintes probabilistes. Selon les hypothèses de distribution normales, celles-ci peuvent être reformulées en contraintes convexes déterministes en utilisant des fonctions de distribution cumulative inverses. Pour les modèles IP, cela conduit à des contraintes coniques ou de second ordre qui peuvent être résolues avec des résolveurs modernes.
Applications et études de cas : Impact réel sur le monde
Des modèles de programmation complets robustes ont été déployés dans diverses industries. Nous développons les exemples précédents et en ajoutons de nouveaux.
Conception de réseaux de distribution résilients
Un détaillant multinational qui opère dans plus de 50 pays a dû faire face à de fréquentes perturbations de l'approvisionnement en raison de la fermeture des frontières et des retards dans les ports.L'entreprise a repensé son réseau d'entrepôts en deux étapes, ce qui a permis de créer des centres de distribution dotés d'une capacité supplémentaire pour desservir plusieurs régions et d'établir des inventaires à l'avance dans des endroits stratégiques.
Lien externe:[ Pour un exemple de la façon dont la programmation stochastique a été appliquée à l'emplacement de l'installation sous l'incertitude, voir le article de recherche dans Recherche opérationnelle.
Optimisation de l'inventaire avec robustesse
Un fournisseur de pièces automobiles devait gérer l'inventaire de milliers d'unités de production de pièces de rechange à forte demande, en particulier pour les nouveaux modèles de véhicules. Un modèle de programmation linéaire à intégration mixte robuste a été élaboré pour traiter les niveaux de stock de sécurité comme des variables entières (puisque les pièces sont en paquets).
Planification de l'emplacement de l'installation en tenant compte des perturbations
Pendant la pandémie de COVID-19, une société pharmaceutique a réalisé que son offre unique pour les ingrédients actifs clés était une vulnérabilité. Un modèle IP robuste a été construit pour sélectionner un ensemble de fournisseurs de secours et de niveaux de stocks de sécurité, en tenant compte des scénarios où chaque fournisseur pourrait être indisponible pendant des mois. Le modèle a incorporé des décisions binaires pour les contrats de fournisseur et des décisions entières pour les quantités de commande.
Transport par route avec des temps de voyage variables
Une entreprise de distribution de nourriture a dû faire face à des retards imprévisibles dans le trafic et les conditions météorologiques. Un modèle de programmation complet robuste pour l'acheminement des camions assignés et les livraisons en séquence, tout en veillant à ce que les délais de livraison soient respectés même si les temps de déplacement ont augmenté de 20 % sur certains arcs.
Défis informatiques et mise en œuvre pratique
Bien que la programmation intégrale robuste offre des avantages importants, elle présente également des obstacles informatiques. L'ajout de scénarios ou de contraintes robustes peut augmenter considérablement la taille du problème. Par exemple, un réseau avec 100 emplacements possibles, 1000 clients et 500 scénarios pourrait générer un modèle avec des millions de contraintes et de variables.
- Réduction du scénario:[ En utilisant des algorithmes de réduction en grappes (p. ex., moyennes en k) ou des algorithmes de réduction optimaux pour ne garder qu'un sous-ensemble représentatif de scénarios.
- Décomposition: Comme on l'a vu, la décomposition de Benders ou de Dantzig-Wolfe divise le problème en morceaux gérables.
- Heuristique:[ Pour les très gros problèmes, les approches mathématiques (p. ex., la recherche de quartier avec des sous-problèmes IP) fournissent rapidement des solutions presque optimales.
- Computation parallélienne:[ De nombreux solveurs exploitent maintenant plusieurs cœurs et le calcul distribué pour résoudre plusieurs sous-problèmes en parallèle.
Une autre considération pratique est la qualité des données. Les modèles robustes sont aussi bons que la caractérisation de l'incertitude. La surestimation de l'incertitude entraîne des coûts excessifs; la sous-estimation conduit à des solutions fragiles.
Pour un aperçu des outils de calcul pour une optimisation robuste, voir la documentation Gurobi sur une optimisation robuste.
Orientations futures : Intégration de l'apprentissage automatique et de l'analyse avancée
Le domaine de la programmation intégrale robuste évolue rapidement. Deux tendances clés façonnent l'avenir de la résilience de la chaîne d'approvisionnement.
L'apprentissage automatique pour les prévisions d'incertitude
Au lieu de supposer une distribution statique, les modèles d'apprentissage automatique (p. ex., réseaux neuronaux, forêts aléatoires ou accroissement des gradients) peuvent prévoir des distributions de la demande ou des probabilités de perturbation fondées sur des données en temps réel telles que les conditions météorologiques, les indicateurs économiques et les tendances des médias sociaux. Ces prévisions peuvent être intégrées dans des modèles de PI robustes comme ensembles d'incertitudes actualisés. Par exemple, un détaillant peut utiliser un modèle de prévision de la demande qui produit un intervalle (bas et haut) pour chaque produit, puis passer cet intervalle à une optimisation robuste de l'inventaire.
La recherche explore également l'apprentissage de bout en bout où le modèle d'optimisation est intégré dans un réseau neuronal, permettant une formation basée sur le gradient directement sur la qualité de la décision. Il s'agit encore d'un domaine émergent, mais les premiers résultats montrent des promesses pour une prise de décision plus rapide et plus précise.
Optimisation en temps réel et jumeaux numériques
Les avancées de la puissance de calcul (calculateur nuageux, résolveurs accélérés GPU) permettent de résoudre des modèles de programmation entiers robustes en temps quasi réel. Combinés à un jumeau numérique de la chaîne d'approvisionnement – un modèle de simulation qui reflète le système physique – les entreprises peuvent ré-optimiser en permanence les opérations au fur et à mesure que de nouvelles données arrivent. Par exemple, si un fournisseur envoie un avis de retard de production, le modèle robuste peut instantanément recalculer le meilleur réacheminement des expéditions ou réaffecter les stocks pour minimiser les perturbations.
[Lien externe: Pour une discussion sur les jumeaux numériques dans la gestion de la chaîne d'approvisionnement, voir cet article McKinsey.
Conclusion: Construire des chaînes d'approvisionnement résilientes avec IP robuste
En intégrant l'incertitude directement dans le processus d'optimisation, par la programmation stochastique, l'optimisation robuste ou leurs hybrides, les entreprises peuvent prendre des décisions qui sont à la fois efficaces dans des conditions normales et résilientes sous le stress. Les techniques mathématiques (composition des genres, coupe des avions, incertitude budgétaire) ont mûri jusqu'à ce qu'elles puissent s'appliquer à des problèmes à l'échelle industrielle, et la disponibilité de résolveurs puissants et de calcul parallèle les rend accessibles à un public plus large.
Les étapes clés de l'adoption sont les suivantes : 1) identifier les décisions discrètes les plus vulnérables à l'incertitude; 2) caractériser l'incertitude à l'aide de données historiques et de jugement d'experts; 3) choisir une approche de robustesse appropriée (le pire cas, le budget, le stochastique) qui s'harmonise avec la tolérance au risque de l'organisation; 4) mettre en œuvre le modèle en utilisant la décomposition au besoin; et 5) valider par des perturbations historiques ou simulées.
Investir dans des modèles robustes est un investissement dans l'épreuve de l'avenir de l'entreprise. Le coût d'ignorer l'incertitude – mesurée dans les ventes perdues, l'expédition accélérée et les dommages de réputation – dépasse de loin la complexité progressive d'une approche de propriété intellectuelle robuste.