Des outils pour l optimisation et la robustesse Marc Sevaux Université de Valenciennes et du Hainaut-Cambrésis Laboratoire d Automatique, de Mécanique et d Informatique Industrielles et Humaines (UMR CNRS 8530) Le Mont Houy Bat Jonas 2 F-59313 Valenciennes cedex 9 France http://www.univ-valenciennes.fr/sevaux/ Marc.Sevaux@univ-valenciennes.fr Séminaire Ecole Nationale d Ingénieurs de Tarbes Février 2005 1 / 47
: des outils pour la robustesse : rappel Principe d une métaheuristique robuste Présentation du problème d un algorithme génétique numériques s et perspectives 2 / 47
: des outils pour la robustesse : rappel Principe d une métaheuristique robuste Présentation du problème d un algorithme génétique numériques s et perspectives 3 / 47
Parcours & Curriculum vitæ Depuis septembre 1999 Maître de conférences, 61 e section IUT de Valenciennes Dept. OGP Cambrai LAMIH Equipe Systèmes de Production Formation & Parcours DEUG, Licence et Maîtrise, IMA (1992-1994) DEA Informatique et Opérationnelle, Paris 6 (1994-1995) Doctorat, Université de Paris 6 / EMN (1996-1998) Ingénieur de recherche, EMN (1998-1999) 4 / 47
et supports de cours Cours enseignés Opérationnelle, Informatique Mathématiques de la décision, Programmation linéaire, Sécurité informatique, Qualité Gestion de production, Ordonnancement Supports de cours Supports de cours électronique (RO, MD) Passage des cours en ligne (Info) Deux livres 5 / 47
Thématiques de recherche 1996 1997 1998 1999 2000 2001 2002 2003 2004 Production ning Reactive ning Control Policies 1 Machine # Late Jobs // Machine Weighted # Late Jobs 1 Machine Weighted # Late Jobs 1 Machine TWT Robust scheduling Bi objective CARP CARP Robust VRP Linear and integer programming Heuristics Metaheuristics Multi objective optimisation 6 / 47
Activités de recherche Animation du groupe http ://www.euro-online.org/eume/ Organisation de 4 etings (Londres, Paris, Anvers, Nottingham) Collaborations internationales et nationales (Université Polytechnique de Hong-Kong, Université d Anvers, MIT) (UTT, EMN, UBP, IMA, UTC) Editeur associé de 4 revues internationales (JOH, INFOR, IJCM, IJSP) Encadrement de 3 thèses, de plusieurs DEA Examinateur et rapporteurs de 3 thèses 7 / 47
Alcatel 12 mois 2003/04 Algorithmes d optimisation du trafic SNCF 24.2ke 3 ans 2000/03 Thèse CIFRE Yann Le Quéré Centre Hospitalier 48ke 3 ans 2000/03 Optimisation des flux logistiques SART 42.7ke 18 mois 2003/04 MOST 27.4ke 18 mois 2001/02 MAE MIC 2003 (850e) et IEPM 1999 (530e) PAI Univ. Polytech. Hong-Kong 8ke 2003/04 8 / 47
: des outils pour la robustesse : rappel Principe d une métaheuristique robuste Présentation du problème d un algorithme génétique numériques s et perspectives 9 / 47
, un besoin Données changeantes, incertaines vs. Optimalité Très peu d études en optimisation Deux types de robustesse Solution de qualité robuste [quality robustness] Solution robuste [solution robustness] 10 / 47
Définition de la qualité d une solution La qualité de la solution reste élevée s il y a une variation des données du problème. Exemple : problèmes de localisation de la solution Une solution est robuste si elle change très peu avec une variation des données du problème. Exemple : problèmes de tournées de véhicules On ne s intéresse qu à la robustesse de la qualité d une solution. 11 / 47
Exemple 1 12 / 47
Exemple 2 1 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1 13 / 47
Proposer des solutions de qualité robuste d optimisation Algorithme robuste Algorithme standard Règles en ligne/à posteriori Solution 14 / 47
: introduction générale Métaheuristique (mathematical programming glossary) : cadre général pour les heuristiques en vue de résoudre des problèmes difficiles. On trouve deux catégories principales les méthodes de recherche locale méthode de [plus grande] descente, recuit simulé, méthodes à seuil, méthode GRASP, recherche taboue, recherche à voisinage variable, etc. les méthodes à population algorithme génétique, algorithme mémétique, colonies de fourmies, recherche dispersée, etc. 15 / 47
Algorithme génétique Introduit par [Holland 1975] Basé sur le principe d évolution naturelle Solution codée en 0/1 Opérateurs génétiques (mutation, croisement) Popularisé par [Goldberg 1989] dans tous les domaines de l optimisation 16 / 47
Principe général Une population d individus (de solutions) évolue Deux individus se lient pour former un ou deux descendants (croisement) Un individu peut muter (mutation) Des individus disparaissent de la population (décès) Renouvellement par génération ou incrémentale 17 / 47
Algorithme génétique en pseudo-code Algorithm 1: GA [MA] template Generate an initial population P while Stopping conditions are not met do Selection : p 1 and p 2 from P Crossover : p 1 p 2 c Mutation : mutate c under probability p m [Local Search : apply a LS operator to c with probability p hs ] if c satisfies conditions for addition in P then Select r in P c replaces r in P else Discard c endif endw 18 / 47
Avantages et inconvénients + Parallélisme intrinsèque + Facilité d implémentation + Beaucoup de littérature Choix des opérateurs crucial Paramétrage important Pas de stabilité des paramètres 19 / 47
Principe d une métaheuristique robuste Ne concerne que la recherche d une solution de qualité robuste. Idée principale : Utiliser une métaheuristique Evaluer la robustesse d une solution Guider la recherche suivant la robustesse 20 / 47
Principe général Premiers travaux par [Sörensen 2001] Principe 1 Ajouter du bruit δ à la solution courante x = x + δ est une solution dérivée Principe 2 Ecrire une nouvelle fonction d évaluation robuste f r (x) Evaluer une série de solutions dérivées et les combiner, par exemple : f r (x) = 1 m m c i f (x + δ i ) i=1 x + δ i est la i solution dérivée, c i un poids associé et m le nombre de solutions dérivées 21 / 47
Exemple 1 f r (x) = 1 3 +1 i= 1 f (x + i) 22 / 47
Exemple 2 1 0.8 0.6 0.4 0.2 8 < f (x) = : 0.2 0.4 0.6 0.8 1 exp 2 x 0.1 p 0.8 sin(5πx) 0.4 < x 0.6 exp 2 x 0.1 0.8 f r (x) = 1 21 sin 6 (5πx) X+10 i= 10 f (x + i 100 ) sinon 23 / 47
industrielles Ces méthodes ont été appliquées avec succès sur plusieurs problème en production de biens et de services : ification Ordonnancement Logistique de transport 24 / 47
Application en ordonnancement Dans notre cas, pour l industrie automobile Pas ou peu de stock Ordonnancement juste à temps ning à long ou moyen terme Incertitudes des fournisseurs = Nécessité de ré-ajuster le plan régulièrement 25 / 47
Industrie automobile Car sequence : Ordre des voitures sur les lignes de montages La planification à long terme fixe une car sequence Les pièces détachées doivent être livrées juste à temps Pièces détachées Stands de montage Car sequence Performance : Minimiser le nombre pondéré de livraisons en retard 26 / 47
Implications La car sequence du planning à long terme détermine les dates de livraison des pièces détachées Inconvénients Une livraison non-effectuée oblige à retirer une voiture de la car sequence Paramètres Les durées d assemblage et dates de fin d assemblage sont connues et considérées comme fixes Incertitude Un sous-traitant peut être légèrement en retard les dates de livraison des pièces peuvent varier Est-ce que cette variation est acceptable? En d autres mots, pouvons-nous accepter une arrivée tardive, attendre la fin de l assemblage sans perdre en performance? Quelle serait alors la meilleure car sequence pour cela? 27 / 47
Modélisation en ordonnancement à une machine Ensemble de n jobs (les assemblages) J = J 1,..., J n à séquencer sur une machine unique La préemption n est pas autorisée Charactéristiques r j : dates de disponibilité (dates de livraison) p j : durées d exécution (durées de montage) d j : dates dues (dates de fin d assemblage) w j : poids (importance de la livraison) Variables t j : date de début d exécution (t j r j ) C j : date de fin d exécution (C j = t j + p j ) U j : variable biniaire (job J j est en retard ou non) 28 / 47
Conditions Si C j d j, Si C j > d j, J j est terminé à l heure ou en avance J j est en retard Objectif Minimiser le nombre pondéré de jobs en retard Classification standard : 1 r j w j U j N P-difficile au sens fort [Lenstra et al. 77] Remarque importante Les jobs en retard peuvent être ordonnancés arbitrairement après l ensemble des jobs en avance Incertitude Les dates de disponibilité peuvent être modifiées (augmentées d une valeur δ). 29 / 47
Un AG pour l ordonnancement robuste Variations Les dates de disponibilité peuvent augmenter légèrement Solution dérivée Une instance où des jobs ont une date de disponibilité augmentée de δ Fonction d évaluation robuste On calcule une moyenne pour 100 instances modifiées Gestion de la population On utilise f r (x) à la place de f (x) pour l évaluation L algorithme génétique est guidé par une valeur robuste qui conduira à une car sequence robuste 30 / 47
Paramètres de l AG Chromosome = permutation des n jobs Evaluation : moteur Fifo Remplacement incrémental Croisement : X1 (croisement à un point) Mutation : GPI (General Pairwise Interchange) Taux de mutation : 25% 31 / 47
Paramètres de l AG (suite) Opérateur de croisement P1 P2 Point de croisement 1 2 3 4 5 6 7 4 3 7 6 2 5 1 Opérateur de mutation X1 1 2 3 4 7 6 5 GPI O1 1 2 3 4 5 6 7 1 5 3 4 2 6 7 32 / 47
numériques Un nouveau générateur de problèmes permet de proposer des instances basées sur une journée de 80 périodes. Les ordres de fabrication ont une grande probabilité d arriver le matin et les dates dues avec une grande probabilité l après-midi. Dates de disponibilité distribuées suivant une loi Gamma Γ(0.2, 4) (Mean = 20, St. dev. = 10) Dates dues distribuées suivant la même loi Gamma (Mean = 20, St. dev. = 10) mais en partant de la fin de l horizon Durées d exécution uniformément distribuées dans [1, d i r i ] Poids uniformément distribués dans [1, 10] 33 / 47
Répartition des dates Frequency 6 5 4 3 2 Release dates Due dates 1 0 0 10 20 30 40 50 60 70 80 Time periods 34 / 47
Méthode expérimentale Standard GA Read data Robust GA Read data Simulation Read data Apply GA with standard evaluation function Standard sequence Apply GA with robust evaluation function Robust sequence Create 1000 replications with modified data Eval. through std. sequence Get results and analyse Eval. through robust seq. Instances modifiées : 20% des jobs sont aléatoirement choisis et leur date de disponibilité augmentée de δ = 20. 35 / 47
Détails pour n = 80 Best sol. Av. value (1000 replic) Av. dev. (1000 replic) (%) Name Std.GA Rob.GA Std.GA Rob.GA Std.GA Rob.GA ODD80 1 406 418 449.78 439.94 10.78 5.25 ODD80 2 360 362 399.69 390.75 11.03 7.94 ODD80 3 356 372 393.92 385.89 10.65 3.73 ODD80 4 410 440 438.85 442.94 7.04 0.67 ODD80 5 318 330 343.14 342.93 7.91 3.92 ODD80 6 329 346 356.81 345.95 8.45-0.01 ODD80 7 350 385 414.37 391.45 18.39 1.67 ODD80 8 352 385 392.48 383.86 11.50-0.30 ODD80 9 327 340 388.23 366.49 18.72 7.79 ODD80 10 352 352 395.72 388.61 12.42 10.40 36 / 47
Détails pour n = 80 (suite) Best sol. Av. value (1000 replic) Av. dev. (1000 replic) (%) Name Std.GA Rob.GA Std.GA Rob.GA Std.GA Rob.GA ODD80 11 400 426 455.54 450.53 13.88 5.76 ODD80 12 380 417 436.57 421.68 14.89 1.12 ODD80 13 321 358 372.68 364.77 16.10 1.89 ODD80 14 369 391 416.84 419.62 12.97 7.32 ODD80 15 371 404 398.85 399.86 7.51-1.03 ODD80 16 384 394 422.54 415.88 10.04 5.55 ODD80 17 346 360 385.77 371.94 11.49 3.32 ODD80 18 316 334 355.92 357.71 12.63 7.10 ODD80 19 360 376 388.89 387.78 8.03 3.13 ODD80 20 363 409 403.76 408.81 11.23-0.05 37 / 47
Résumé des résultats Number Average dev. (1000 replic) CPU Time (s) of jobs Std.GA (%) Rob.GA (%) Std.GA Rob.GA 20 24.08 9.14 0.02 0.49 40 16.22 4.54 0.07 2.32 60 13.77 5.58 0.14 6.65 80 11.78 3.76 0.27 16.63 100 10.31 2.76 0.57 33.25 Average 15.23 5.16 0.21 11.87 38 / 47
Meilleure solution vs solution robuste 445 440 435 430 425 Standard GA Robust GA f(x) 420 415 410 405 400 395 0 2 4 6 8 10 12 14 16 CPU Time (s) 39 / 47
Evaluation robuste et évaluation réelle 445 440 435 Real fitness Robust fitness f(x) 430 425 420 415 0 2 4 6 8 10 12 14 16 CPU Time (s) 40 / 47
Comment les décideurs peuvent-ils incorporer le risque dans leur décision finale? Faire en sorte que la solution de qualité robuste ait une faible probabilité de dévier de sa valeur de fonction objectif. Calculer l ecart-type des valeurs d objectif des solutions dérivées Tracer une courbe f r (x) / σ Choisir une solution sur la frontière Pareto 41 / 47
Choisir une solution robuste 180 160 Solutions Std. Deviation 140 120 100 80 60 40 20 0 430 440 450 460 470 480 490 Robust fitness 42 / 47
Solutions initiales et front Pareto 180 160 Solutions Initial solutions Pareto solutions Std. Deviation 140 120 100 80 60 40 20 0 430 440 450 460 470 480 490 Robust fitness 43 / 47
Front Pareto 25 Pareto solutions Std. Deviation 20 15 10 5 0 430 440 450 460 470 480 490 Robust fitness 44 / 47
en production de biens et de services Le même cadre général est appliqué à d autres problèmes d optimisation combinatoire : ification ification réactive des tâches de maintenance des TGV pour l EIMM d Hellemmes (Lille) théorique associé : RCPSP avec contraintes additionnelles Thèse de Yann Le Quéré Logistique de transport Tournées de véhicules en milieu incertain théorique associé : VRP stochastique 45 / 47
et perspectives Alternative intéressante aux méthodes statistiques Remarques Facile à implémenter adaptable à de nombreux problèmes bons resultats mais lent Perspectives Améliorer les temps de calculs Activer l évaluation robuste après un certain temps Améliorer la qualité des solutions Modifier la fonction d évaluation robuste Coupler les évaluations robustes avec des évaluations statistiques 46 / 47
, K. Sörensen et Y. Le Quéré. Flexibilité et robustesse en ordonnancement, Chapitre : pour la planification et l ordonnancement robuste. Hermès, Paris, pp 113-131, 2005. K. Sörensen et. Robust and flexible vehicle routing in practical situations Proceedings of 5th triennial symposium on transportation analysis, TRISTAN V, 2004. Plus d informations sur http://www.univ-valenciennes.fr/sevaux/ 47 / 47