TP : Optimisation de la localisation des
entrepôts avec le Machine Learning et
l’Optimisation Linéaire
1. Problématique du TP
Dans un contexte de compétitivité accrue et de pression sur les délais de
livraison, les entreprises doivent repenser l’organisation de leur chaîne
logistique. Un enjeu majeur réside dans le choix stratégique de la
localisation des entrepôts afin de :
- Minimiser les coûts logistiques (frais fixes, coûts de transport),
- Réduire les délais de livraison,
- Répondre à la demande des clients de manière fiable et agile,
- Limiter les risques environnementaux ou réglementaires.
Ce TP propose une approche data-driven combinant l’analyse géographique,
le Machine Learning (clustering, classification), et l’optimisation linéaire,
pour résoudre un problème de localisation et de dimensionnement des
entrepôts.
2. Objectifs pédagogiques
- Maîtriser les outils de prétraitement et de visualisation de données
géographiques.
- Utiliser des techniques de clustering (KMeans) pour définir des zones
logistiques homogènes.
- Appliquer un modèle de classification pour évaluer les risques
environnementaux.
- Utiliser l’optimisation linéaire pour prendre des décisions optimales en
termes de localisation et de desserte.
- Simuler la demande future pour ajuster la capacité des entrepôts.
3. Concepts Clés
- Localisation optimale : Déterminer les emplacements les plus stratégiques
pour implanter un ou plusieurs entrepôts.
- Coûts logistiques : Somme des coûts fixes d’ouverture d’entrepôts et des
coûts de transport.
- Capacité d’entrepôt : Quantité maximale de marchandises qu’un entrepôt
peut traiter.
- Demande client : Volume de marchandises requis par chaque client.
- Distance ou temps de transport : Distance entre entrepôts et clients,
influençant les coûts et délais.
- Risque environnemental : Zones sensibles à éviter ou à pénaliser.
- Clustering (KMeans) : Algorithme de regroupement pour identifier des
zones de concentration de clients.
- Classification (Random Forest) : Prédire si une zone est risquée à partir de
ses caractéristiques.
- Optimisation linéaire (PLNE) : Résolution d’un problème d’affectation
sous contraintes.
- Fonction objectif : Minimisation du coût total (fixe + transport + pénalités).
4. Paramètres du modèle
Clients : Liste des points de demande avec coordonnées et volume demandé
Entrepôts potentiels : Emplacements où l’on peut ouvrir un entrepôt
Capacité : Capacité maximale d’un entrepôt
Coût fixe : Coût d’ouverture d’un entrepôt
Coût de transport : Proportionnel à la distance entre un client et son entrepôt
Risque environnemental : Zone risquée (1) ou non (0)
5. Contraintes du modèle
1. Unicite de desserte : chaque client doit être desservi par un seul entrepôt.
2. Activation des entrepôts : un client ne peut être affecté qu’à un entrepôt
ouvert.
3. Capacité des entrepôts : la somme des demandes des clients affectés ne
doit pas dépasser la capacité de l’entrepôt.
4. Zones à risque :
- Soit par contrainte stricte : y_j = 0 si le site est risqué.
- Soit par pénalisation dans la fonction objectif.
6. Fonction objectif
Minimiser le coût total .
7. Etapes du TP
1. Chargement des données clients, entrepôts et géographiques
2. Visualisation des positions avec folium
3. Application de KMeans pour regrouper les clients en zones
4. Évaluation des risques environnementaux par Random Forest
5. Prédiction de la demande future
6. Formulation du modèle d’optimisation avec PuLP
7. Résolution et affichage des entrepôts ouverts et affectations clients
8. Interprétation des résultats, analyse des coûts et scénarios alternatifs
8. Guide de Réalisation pour les Étudiants
1. Lire attentivement les données : comprendre la signification des colonnes,
notamment la localisation (latitude, longitude) et la demande.
2. Commencer par visualiser les clients : utilisez folium pour générer une
carte avec les points clients.
3. Appliquer KMeans pour diviser le territoire en zones logistiques.
Choisissez un nombre raisonnable de clusters (3 à 5).
4. Analyser les zones à risque : entraîner un modèle de classification
(Random Forest) si les données le permettent. Sinon, considérez les risques
comme un indicateur binaire.
5. Estimer la demande future : soit en la maintenant constante, soit par
extrapolation simple (moyenne mobile, croissance linéaire).
6. Formuler le problème d’optimisation dans PuLP : définissez les variables,
la fonction objectif et les contraintes selon les formules données.
7. Interpréter les résultats : quels entrepôts sont ouverts ? Quels clients leur
sont associés ? Quelles distances ? Quel est le coût ?
8. Explorer différents scénarios : augmentez la demande, diminuez les
capacités, ou modifiez les coûts pour voir comment le modèle réagit.
9. Rédiger un rapport clair : introduisez la problématique, décrivez la
méthode, montrez les résultats (cartes, tableaux) et concluez par des
recommandations.
9. Résultats attendus
- Carte interactive montrant les entrepôts ouverts et les clients desservis.
- Tableau récapitulatif des coûts, du nombre d’entrepôts, des distances
moyennes.
- Analyse de scénarios : variation des capacités, des demandes ou des
risques.
- Rapport synthétique motivant les choix logistiques et leurs impacts.
10. Livrables
- Code Python documenté .
- Rapport PDF ou Word expliquant la démarche, les résultats et
recommandations.