Des outils pour l optimisation et la sse 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/sp/sevaux/ Marc.Sevaux@univ-valenciennes.fr Séminaire LAPS Avril 2005 1 / 42
Plan de la présentation : des outils pour la sse : rappel Principe d une métaheuristique Présentation du problème d un algorithme génétique numériques s et perspectives 2 / 42
Plan de la présentation : des outils pour la sse : rappel Principe d une métaheuristique Présentation du problème d un algorithme génétique numériques s et perspectives 3 / 42
, un besoin Données changeantes, incertaines vs. Optimalité Très peu d études en optimisation Deux types de sse Solution de qualité [quality robustness] Solution [solution robustness] 4 / 42
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 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 sse de la qualité d une solution. 5 / 42
Exemple 1 6 / 42
Exemple 2 1 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1 7 / 42
Proposer des solutions de qualité d optimisation Algorithme Algorithme standard Règles en ligne/à posteriori Solution 8 / 42
: introduction générale (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. 9 / 42
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 10 / 42
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 11 / 42
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 LS operator to c with proba. 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 12 / 42
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 13 / 42
Principe d une métaheuristique Ne concerne que la recherche d une solution de qualité. Idée principale : Utiliser une métaheuristique Evaluer la sse d une solution Guider la recherche suivant la sse 14 / 42
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 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 15 / 42
Exemple 1 f r (x) = 1 3 +1 f (x + i) i= 1 16 / 42
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 17 / 42
Plan de la présentation : des outils pour la sse : rappel Principe d une métaheuristique Présentation du problème d un algorithme génétique numériques s et perspectives 18 / 42
industrielles Ces méthodes ont été appliquées avec succès sur plusieurs problème en production de biens et de services : Planification Ordonnancement Logistique de transport 19 / 42
Application en ordonnancement Dans notre cas, pour l industrie automobile Pas ou peu de stock Ordonnancement juste à temps Planning à long ou moyen terme Incertitudes des fournisseurs = Nécessité de ré-ajuster le plan régulièrement 20 / 42
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 Car sequence Stands de montage Performance : Minimiser le nombre pondéré de livraisons en retard 21 / 42
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? 22 / 42
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) 23 / 42
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 δ). 24 / 42
Un AG pour l ordonnancement 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 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 qui conduira à une car sequence 25 / 42
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% 26 / 42
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 27 / 42
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] 28 / 42
Répartition des dates 6 Release dates Due dates Frequency 5 4 3 2 1 0 0 10 20 30 40 50 60 70 80 Time periods 29 / 42
Méthode expérimentale Standard GA Read data Apply GA with standard evaluation function Standard sequence Robust GA Read data Apply GA with robust evaluation function Robust sequence Simulation Read data 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. 30 / 42
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 31 / 42
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 32 / 42
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 33 / 42
Meilleure solution vs solution 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) 34 / 42
Evaluation 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) 35 / 42
Comment les décideurs peuvent-ils incorporer le risque dans leur décision finale? Faire en sorte que la solution de qualité 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 36 / 42
Choisir une solution Std. Deviation 180 160 140 120 100 80 60 40 20 Solutions 0 430 440 450 460 470 480 490 Robust fitness 37 / 42
Solutions initiales et front Pareto Std. Deviation 180 160 140 120 100 80 60 40 20 Solutions Initial solutions Pareto solutions 0 430 440 450 460 470 480 490 Robust fitness 38 / 42
Front Pareto 25 Pareto solutions Std. Deviation 20 15 10 5 0 430 440 450 460 470 480 490 Robust fitness 39 / 42
en production de biens et de services Le même cadre général est appliqué à d autres problèmes d optimisation combinatoire : Planification Planification 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 40 / 42
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 après un certain temps Améliorer la qualité des solutions Modifier la fonction d évaluation Coupler les évaluations s avec des évaluations statistiques 41 / 42
, K. Sörensen et Y. Le Quéré. Flexibilité et sse en ordonnancement, Chapitre : pour la planification et l ordonnancement. Hermès, Paris, pp 115-133, 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/sp/sevaux/ http://www.euro-online.org/eume/ 42 / 42