Ordonnancement des jobshops flexibles sous contraintes de disponibilit
Ordonnancement des job-shops flexibles sous contraintes de disponibilité des machines Nozha ZRIBI LAGIS - Ecole Centrale de Lille 27 Janvier 2006 Réunion Gotha 1
Cadre de l’étude Job 1 O 1, 2 O 1, 3 pijk M 1 M 2 Job-shop flexible Job 2 Job 3 O 2, 1 O 2, 2 O 3, 1 O 3, 2 M 3 (1) M 4 MPM JSP n Deux formulations FJSP Indisponibilité durant certaines périodes connues a priori n 27 Janvier 2006 Réunion Gotha 2
Plan n Durées indépendantes de la flexibilité n Approche par phases n Approche intégrée basée sur la résolution exacte du problème à 2 -jobs n Périodes 27 Janvier 2006 d’indisponibilité flexibles Réunion Gotha 3
Approche par phases principe Heuristique d’affectation Problème d’affectation -Détermination de la solution initiale avec des règles de priorité - Définition d’un critère intermédiaire -Amélioration de l’affectation par une Recherche Tabou Borne inférieure du Critère global étudié -Mesure de la qualité de la solution d’affectation -Choix de la solution Problème de séquencement 27 Janvier 2006 Approche évolutionniste Réunion Gotha 4
Problème d’affectation n Solution initiale Relaxation des contraintes de précédence Définition d’une date de début au plutôt pour chaque opération Le problème est équivalent à un problème à machines parallèles n n n Flexibilité partielle Dates de début au plus tôt Contraintes de disponibilité 27 Janvier 2006 Réunion Gotha 5
Schéma de l’heuristique d’affectation Problème d’affectation Solution initiale n n A chaque itération du programme n n n Détermination de l’ensemble d’opérations affectables sur Mk Détermination de la charge de Mk Pour chaque opération affectable de Mk n n 27 Janvier 2006 Tester si l’opération peut être placée avant la prochaine période d’indisponibilité Choisir un couple (opération, machine) selon une règle de priorité Réunion Gotha 6
Problème d’affectation n Solution initiale Règle de priorité n Sélectionner la machine la moins chargée Mk n n Trier Les opérations affectables selon leur degré de flexibilité Affecter à Mk la première opération pouvant être placée avant la prochaine période d’indisponibilité § Tenir compte de ü charge des machines ü degré de flexibilité des opérations § Occuper les intervalles d’accueil avant chaque période d’indisponibilité 27 Janvier 2006 Réunion Gotha 7
Problème d’affectation Critère intermédiaire n Pour une affectation S n Critère intermédiaire : basé sur le calcul d’une borne inférieure du makespan (Cr=BI(S)) n A chaque machine Mk n Problème πk à une machine Valeur maximale de ces n Dates de début au plus tôt ordonnancements préemptifs n Durées de latence n Périodes d’indisponibilité Autorisation de la préemption et utilisation de la règle de Jackson afin de calculer une borne inférieure pour chaque problème πk 27 Janvier 2006 Réunion Gotha 8
Problème d’affectation Critère intermédiaire n Introduction d’ une opération virtuelle à chaque 1. Les périodes d’ indisponibilité sont traitées période d’ indisponibilité comme des opérations de production : JPS Date deladébut au plutôt : date de début de la période donne solution optimale d’indisponibilité 2. Les périodes d’indisponibilité débutent bien à Critère intermédiaire n Durée de latence : constante leur date de début au plus tôt. Get elles ne sont jamais interrompues : de elles ont ladeplus Utilisation demaximale la règledes Jackson üValeur durées cesgrande durée de latence préemptifs ordonnancements n Autorisation de la préemption n Ordonnancement à chaque itération d’une unité de la Objectif de RT tâche disponible de plus grande durée de latence üTrouver l’affectation S minimisant ce critère n n 27 Janvier 2006 Réunion Gotha 9
Séquencement Approche de résolution Nécessité d’un test de disponibilité n Adaptation avant de l’AG utilisé pourde ledébut problème le calcul des dates et classique de fin de chaque opération Fonction de décodage n Définition d’un opérateur de mutation dirigée adapté au problème n Solutions initiales n 27 Janvier 2006 Réunion Gotha 10
Opérateur de mutation dirigée n Objectif n n Améliorer le makespan en réduisant le temps mort avant les périodes d’indisponibilité Principe n n n Déterminer la machine critique Tester les permutations possibles d’opérations ordonnancées avant et après les périodes d’indisponibilité Sélectionner la permutation minimisant le makespan 27 Janvier 2006 Réunion Gotha 12
n Exemple illustratif JMPM s. c disponibilité (15 x 5) n n Approche par phases (1) 2 périodes d’indisponibilité par machine Étape d’affectation n. Somme Solution d’affectation des initiale durées des opérations pouvant être ordonnancées avant les périodes d’indisponibilité M 1 M 2 M 3 M 4 M 5 19 207 75 378 22 165 12 320 124 572 7 5 9 20 262 104 381 23 168 13 321 129 596 1 3 7 Longueur des intervalles d’accueil 27 Janvier 2006 Réunion Gotha 13
Exemple illustratif Solution initiale M 1 Approche par phases Charge 714 M 2 782 Ordonnancement préemptif 812 907 (1) M 3 868 M 4 789 M 5 839 995 887 997 Comparaison entre la solution initiale et la solution Solution M 1 M M 3 M 4 M 5 donnée par l’algorithme de 2 recherche Tabou après RT Charge 815 812 790 818 757 n Ordonnancement 913 préemptif 27 Janvier 2006 915 Réunion Gotha 917 916 915 14
Exemple illustratif Approche par phases (2) n Étape de séquencement n Opérateur de mutation dirigée n Chromosome initial n Makespan: 1236, Machine critique: M 3 O 15, 1 0 225 233 331 n O 11, 2 428 499 Makespan: 1190, temps mort (71 -> 28) O 15, 1 O 11, 2 225 233 331 27 Janvier 2006 1236 Chromosome résultat n 0 528 471 499 528 Réunion Gotha 1190 15
Exemple illustratif Approche par phases (2) Convergence avec mutation aléatoire Convergence avec mutation dirigée 114 183 972 n 968 Influence de l’opérateur de mutation dirigée n 27 Janvier 2006 Convergence Réunion Gotha 16
Exemple illustratif Approche par phases (3) Paramètres BI n Taille de la population 200 Taux de croisement 0. 85 Solution après Taux de mutation 0. 15 RTsélection Méthode de Roulette initiale générations 300 1017 Nombre de 966 Nombre d’exécution 10 Sol 1023 Makespan 27 Janvier 2006 Réunion Gotha 968 17
MPM job-shop Approche intégrée n Basée sur la résolution exacte du problème à deux jobs Extension de l’approche géométrique 27 Janvier 2006 Réunion Gotha 18
Approche géométrique n (1) Objectif n n Rappel Réduire la résolution du problème à deux jobs en un problème de recherche de plus court chemin Principe Représentation du problème dans le plan à deux dimensions avec obstacles n Construction d’un réseau décrivant la progression dans le plan n 27 Janvier 2006 Réunion Gotha 19
Approche géométrique Obstacle correspo ndant à Exemple un J 1={(M 1, 2), (Mpartage 2, 1), (M 3, 1)} de, 1), (M , 1)} J 2= {(M 3, 2), (M 1 2 ressource Rappel (2) Job 2 Job 1 proportionnel au temps opératoire de a au plus deux Chaque sommet l’opération successeurs üCoins SE et NW üPoint final F 27 Janvier 2006 Réunion Gotha 20
Extensions de L’AG n n Rappel (2) Autorisation de la préemption Flexibilité des ressources Contraintes de blocage Contraintes de disponibilité sur les machines: cas de Job-shop (AGT) (Aggoune 02) Problèmes avec flexibilité des ressources et contraintes de disponibilité 27 Janvier 2006 Réunion Gotha 21
Extension Définition des obstacles potentiels prise en compte de la flexibilité n n Définition des successeurs d’un sommet Initialisation Pour chaque couple de machines Test de Disponibilité Cas Partage des ressources : Successeurs: SE et NW Détermination des combinaisons de machines permettant la progression diagonale Cas indisponibilité Progression diagonale jusqu’à la rencontre d’une horizontale où une verticale Mis à jour des données: - temps - Coordonnées géometriques 27 Janvier 2006 Réunion Gotha 22
Extension prise en compte de la flexibilité Initialisation Pour chaque couple de machines Test de Disponibilité Complexité polynomiale Problème de disponibilité dans l’une des deux directions Progression horizontale Problème de disponibilité dans les deux directions Successeur: Sommet d’attente ou verticale Fin indisponibilité Fin d’une opération Mis à jour des données: - temps Successeur: Sommet singulier ou régulier - Coordonnées géométriques 27 Janvier 2006 Réunion Gotha 23
Heuristique pour le problème général n Principe n Séquence initiale des jobs (J 1, J 2. . . , JN) Résolution des jobs deux à deux avec l’algorithme polynomial Ordonnancement de deux jobs avec l’algorithme polynomial Des périodes d’indisponibilité additionnelles sont fixées Fin de la séquenc e 27 Janvier 2006 Réunion Gotha Arrêt 24
-L’approche par phases donne de bons résultats -L’'approche intégrée est beaucoup plus complexe (temps de calcul, pas de solution pour les trois dernières instances) -La solution donnée par l’approche intégrée varie avec Calculée en la séquence d’entrée considérant un algorithme d’optimisation est nécessaire Comparaison tous les paires de jobs Une approche évolutionniste intégrée 27 Janvier 2006 Réunion Gotha 25
Périodes d’indisponibilité flexibles n Périodes d’indisponibilité ne sont pas fixes n Une fenêtre de temps est allouée à l’exécution de chaque tâche Hypothèse se rapprochant de la réalité industrielle 27 Janvier 2006 Réunion Gotha 26
Principe de résolution n Optimiser les opérations de production n Utilisation de l’approche évolutionniste développée pour le FJSP I* : Meilleur chromosome obtenu Insérer les tâches de maintenance tout en respectant leurs fenêtres temporelles n n n Date de début au plus tôt : Date de début au plus tard : Intervalle de tolérance : 27 Janvier 2006 Réunion Gotha 27
Heuristique n insertion au plus tard HS 1 Heuristique HS 1 Ordonnancement des opérations de production dans l’ordre de leur apparition dans I* n Insertion des périodes d’indisponibilité le plus tard possible dans leurs fenêtres temporelles n Réduction du temps mort n 27 Janvier 2006 Réunion Gotha 28
Heuristique HS 1 I*= 123121233 322132131 - Test de disponibilité - Décalage de la tâche de maintenance -Mise à jour de la date de disponibilité de la machine -Calcul de la date de début et de fin de l’opération 27 Janvier 2006 Réunion Gotha 29
Heuristique HS 2 arborescente n n n Recherche Ordonnancement des opérations de production dans l’ordre de leur apparition dans I* Insertion des périodes d’indisponibilité machine par machine Pour chaque machine : tous les emplacements possibles de chaque période sont testés Tenir compte de l’intervalle de tolérance attribué à chaque période d’indisponibilité 27 Janvier 2006 Réunion Gotha 30
Heuristique HS 2 n Deux emplacements sont possibles n n A la fin de chaque tâche qui se trouve à l’intérieur de l’intervalle A la date de début de l’intervalle Ordonnancement initial e 0 Insertion de la 1ère Périodes d’indisponibilité tâche de maintenance Insertion de la 2ème e 1 e 2 e 4 tâche de maintenance 3 e 2 e 3 Mk e 1 e 4 e 3 e 4 Intervalles de tolérance 27 Janvier 2006 Réunion Gotha 31
Heuristique HS 2 Séquence initiale de Machines (M 1, M 2. . . , MM) Détermination des différentes solutions d’insertion possibles Mise à jour des données de production tenir compte des périodes d’indisponibilité déjà placées Certaines tâches déjà placées risquent d’être décalées au delà de leurs intervalles de tolérance Test de validité Solution partielle écartée 27 Janvier 2006 Réunion Gotha 32
Heuristique HS 3 Règle de priorité n Définir une fenêtre de temps pour chaque opération de production n n I*= Date de début au plus tôt d’une opération : date de fin de la tâche qui la précède dans le job Date de fin au plus tard : date de début de la tâche qui la suit dans le job 123121233 322112313 27 Janvier 2006 Réunion Gotha 33
Heuristique HS 3 n Réordonnancer les tâches de production et de maintenance selon la règle n Ordonnancement de l’opération ayant la plus petite date de fin au plus tard parmi les opérations disponibles (production ou maintenance) n Un test nécessaire avant de placer une opération de production n Vérifier si le placement peut entraîner le dépassement de son deadline de la prochaine tâche de maintenance à programmer 27 Janvier 2006 Réunion Gotha 34
Heuristique HS 3 I*= Heuristique HS 1 27 Janvier 2006 123121233 322112313 Un bon ordonnancement de production, ne le reste pas systématiquement Heuristique HS 3 après insertion de la maintenance Réunion Gotha 35
Comparaison des heuristiques INST 1 (10 x 6 x 55) 1 période d’indisponibilité INST 2 (10 x 6 x 55) 2 période d’indisponibilité HS 1 HS 2 55 48 350 334 HS 3 52 337 27 Janvier 2006 Réunion Gotha 36
Merci pour votre attention 27 Janvier 2006 Réunion Gotha 37
- Slides: 36