Recherche opérationnelle dans le secteur de la construction (4/5) Antoine Jeanjean Ingénieur de recherche Ecole des Mines de Nantes Amphi Georges Besse 14h30-16h30
Plan de la présentation Le Groupe Bouygues Le Bouygues e-lab La R.O. dans le groupe Bouygues Quelques problématiques de R.O. - TF1 2 problématiques dans la construction Optimisation sur les chantiers d habitat Bouygues Batiment Optimisation sur les chantiers de terrassement DTP Terrassement En option : Le problème d optimisation de tournées avec gestion des stocks 2 / 113
Optimisation de mouvements de terre sur des chantiers linéaires de terrassement 3 / 113
Optimisation de mouvements de terre Le problème adressé en 2009 au e-lab par DTP Terrassement. Leader du terrassement en France et présents au Cameroun, en Pologne, en Ukraine, L'entreprise gère une flotte de 900 engins dont 600 à l'étranger. Objectif : minimiser les coûts en optimisant les plannings. Extension du problème de Monge (1781). Stratégie : Modélisation du projet de terrassement (Volumes source et destination). Détermination des mouvements optimisés Etablissement de calendriers de production des échelons. Saisie des délais partiels Client. Paramétrage des échelons type pour la recherche de solution. 4 / 113
Earthmoving Optimization Problem (EOP) Les blocs (déblais ou remblais) sont composés de couches de matériaux. Chaque couche dispose d une quantité de matériaux à déplacer, d une abscisse sur l axe linéaire et d un ordre. Un mouvement de terre consiste à déplacer ces matériaux d une couche destination à une couche source. 5 / 113 2/20
Exemple de chantiers à 5 blocs 6 / 113
Optimisation des mouvements de terre Un chantier : jusqu'à 400 ouvrages 1000 mouvements de terre à planifier sur 50 ressources avec une échelle temporelle pouvant dépasser les 2 ans. Ressources : engins de terrassement combinant des fonctions d'extraction et de transport, non homogènes, situées à des dépôts d origine, fenêtres de disponibilité dans le temps. Blocs : définis par leur type (Déblais, remblais), leur abscisse sur l axe linéaire et leur liste de couches de matériau. Couches : composées d un matériau, d une quantité disponible (déblais) ou attendue (remblai) et d un rang de réalisation. Mouvement de terre : c est une quantité de matériau à déplacer d une couche-source appartenant à un déblai vers une couche-destination appartenant à un remblai, pendant une fenêtre de temps. 7 / 113
Optimisation des mouvements de terre Optimisation, trouver une solution pour réaliser les opérations de terrassement, en conciliant contraintes et moyens : o o o o o Le moins d échelons possible; Dans les délais impartis; Sans interruption de travail; En respectant l ordre des couches; En nivelant les terrains de transport sur le tracé. Un logiciel fruit du regroupement de savoir-faire : o o o Le savoir faire d un groupe de travail DTP Terrassement pour la détermination des fonctionnalités; Algorithme de planification mis au point par le e-lab BOUYGUES SA; Algorithme d optimisation MVTR BYTP incorporé. 8 / 113
Fenêtres de temps multiples et précédences Des fenêtres de temps sur chaque mouvement de terre. Des fenêtres demi-journalières pour chaque ressource. Des contraintes de précédences dues aux couches. Des contraintes de précédences additionnelles du type : «Cette partie du chantier doit se terminer avant celle-ci et avant cette date». 9 / 113
Contraintes de précédences 10 / 113
Complexité du problème Preuve de complexité en cours : NP-difficile? Échelle des instances en pratique : horizon de planification de 2 ans ; des centaines de blocs (jusqu à 500) ; des dizaines de ressources (jusqu à 50 par type) ; temps continue (précision à la minute) ; fenêtre de temps de disponibilité à l heure. Temps de résolution limité à 1 minute sur un ordinateur standard. Solution attendue et objectifs : Etre en mesure de reproduire ce que fait un planificateur professionnel Réduire le nombre de ressources utilisées Diminuer le nombre de kilomètres parcourus 11 / 113 9/20
Earthmoving Optimization Problem (EOP) 2 phases Génération des mouvements Planification des mouvements 12 / 113
Génération des mouvements Problème : définir la liste optimale des mouvements de terre à réaliser sur le chantier, à partir de cette description géo-spatiale du chantier. Objectif : minimiser le moment total de transport, c'est à dire le produit de la quantité transportée par la distance entre les ouvrages source et destination. Contraintes : Tous les déblais doivent être vidés et tous les remblais doivent être remplis avec la quantité exacte demandée, en utilisant la quantité disponible dans ces déblais; Utilisation de carrières et de dépôts extérieures envisageables; Lois de Kirchhoff dans les réseaux : la somme des quantités arrivant à un dépôt depuis une déblai, un autre dépôt ou un emprunt doit être inférieure à sa capacité. 13 / 113
Génération des mouvements Problème de flot maximum 14 / 113
Génération des mouvements Minimisation du moment de transport Quantité sortante des déblais égale à quantité disponible Quantité entrant dans les déblais égale à quantité attendue Lois de Kirchhoff dans les réseaux Contraintes sur les dépôts et emprunts 15 / 113
Génération des mouvements La résolution de ce premier problème d'optimisation permet d'établir de manière optimale la liste des mouvements de terre à effectuer sur le chantier avec un volume associé. Si quantite(s(u), s(v), m) = 0, aucun mouvement entre u et v n'est créé. Utilisation de la programmation linéaire (flot maximum) qui donne instantanément une solution au problème. 16 / 113
Planification des mouvements Ce problème de planification cherche à affecter tous les mouvements de terre, générés précédemment, à des ressources disponibles. On dispose pour cela de ressources (graders, loaders, scrapers, trucks, compactors ) disponibles suivant un calendrier spécifique. On doit respecter les fenêtres de disponibilité, les fenêtres de réalisation, les contraintes de précédences, les contraintes d inclusion et la disponibilité des ressources. 17 / 113
Planification des mouvements Les tâches réalisent tout le travail à faire Les tâches ont lieu pendant les fenêtres autorisés des mouvements Les tâches ont lieu pendant les Fenêtres autorisées des ressources Contraintes sur les dates 18 / 113
Planification des mouvements Pas de chevauchement de fenêtres de travail Contraintes de précédences Contraintes d inclusion 19 / 113
Planification des mouvements Une fonction objectif lexicographique : Minimisation du coût associée aux quantités de terre totales non déplacées : Minimisation des coûts des ressources : Minimisation du coût associé au nombre de ressources : Minimisation du coût temporel, correspondant au temps passé sur le chantier pour chaque ressource : Minimisation du coût kilométrique, correspondant à la distance parcourue source à source entre les mouvements de terre d une même ressource : 20 / 113
Planification des mouvements Approche par recherche locale, en suivant la même stratégie que dans nos travaux précédents : mise en place d'une stratégie de recherche; création de mouvements adaptés à la structure de notre problème; une attention particulière portée aux algorithmes et à leur implémentation. 2 fonctions objectif indépendantes résolues dans un ordre lexicographique par recherche locale : On minimise d abord les quantités non déplacées. Puis on cherche à minimiser les coûts de transport. 21 / 113
Planification des mouvements Algorithme glouton d initialisation : Classement des mouvements par rang, distance, date de réalisation quantité à bouger Classement des ressources selon la première date de disponibilité et le nombre de tâches déjà affectées. Complexité : O( Nb Mouvements de terre * Nb Resources ) Moins d une seconde mais pas de garantie d une solution avec tous les mouvements affectés Structures incrémentales sous jacente identique à celles de la recherche locale 22 / 113
Planification des mouvements La recherche locale va perturber cette solution initiale à l aide d un pool de «transformations». Exemple de transformations choisie aléatoirement : CreateTask TaskMoveInTime TaskPartialMoveInTime TaskMoveBetweenResources TaskPartialMoveBetweenResources LastTaskMoveBetweenResources SwapTasksBetweenResources MirrorKTasks Ex : Res1 Res2 Structures incrémentales 23 / 113
Transformations de recherche locale 24 / 113
Planification des mouvements 3 fonctions importantes : Evaluate() Calcule l impact (positit ou négatif) d une transformation locale sur la solution courante. Rollback() Retourne à l état précédent (avant l évaluation) en utilisant des champs de backup. Commit() Valide une transformation en mettant à jour la solution courante avec l état modifié. Des sous-fonctions cruciales : Utilisation d indexeurs, de listes chainées, de tags GetNextDynamicAvailable () GetNextDynamicUnAvailable () GetCurrentInterval () GetNextMinute () 25 / 113
Planification des mouvements Focus sur GetNextDynamicAvailable () TW Eartmoving TW Resource Tâches existantes Tâche 1 Complexité en O(log n) en temps Grâce à une fonction dichotomique 26 / 113
Planification des mouvements Test sur une douzaine de chantiers réels 120 000 transformations évaluées à la seconde Taux d acceptation de 8 % Taux d amélioration de 0,016 % Importante diversification Logiciel mis en production en septembre 2009 Enjeux du projet : Diminution de l emprunte carbonne; Amélioration de l organisation sur le chantier en anticipant les congestions ; Tests de multiples hypothèses; Gain d appels d offres grâce à une scénarisation immédiate et puissante. 27 / 113
Distance Temps 28 / 113
Calcul de bornes Borne inférieure sur le nombre de kilomètres total parcourus : 29 / 113
L interface 30 / 113
Fin de la présentation 4 / 5 31 / 113
Merci pour votre attention Questions? Antoine Jeanjean Bouygues e-lab, 40 rue de Washington, 75008 Paris LIX, UMR CNRS 7161, École Polytechnique, F-91128 Palaiseau jeanjean@lix.polytechnique.fr 32 / 113