Télécharger la présentation
1
LAGIS - Ecole Centrale de Lille
Ordonnancement des job-shops flexibles sous contraintes de disponibilité des machines Nozha ZRIBI LAGIS - Ecole Centrale de Lille
2
Cadre de l’étude Job-shop flexible (1)
Job Job Job3 O1,1 O1,2 O1,3 O2,1 O2,2 O3,1 O3,2 Deux formulations pijk M M M M4 MPM JSP FJSP Indisponibilité durant certaines périodes connues a priori 27 Janvier 2006 Réunion Gotha
3
Plan Durées indépendantes de la flexibilité
Approche par phases Approche intégrée basée sur la résolution exacte du problème à 2-jobs Périodes d’indisponibilité flexibles 27 Janvier 2006 Réunion Gotha
4
Approche par phases principe
Heuristique 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 Problème d’affectation 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 Approche évolutionniste 27 Janvier 2006 Réunion Gotha
5
Problème d’affectation 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 Flexibilité partielle Dates de début au plus tôt Contraintes de disponibilité 27 Janvier 2006 Réunion Gotha
6
Problème d’affectation Solution initiale
Schéma de l’heuristique d’affectation A chaque itération du programme 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 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é 27 Janvier 2006 Réunion Gotha
7
Problème d’affectation Solution initiale
Règle de priorité Sélectionner la machine la moins chargée Mk 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
8
Problème d’affectationCritère intermédiaire
Pour une affectation S Critère intermédiaire : basé sur le calcul d’une borne inférieure du makespan (Cr=BI(S)) A chaque machine Mk Problème πk à une machine Dates de début au plus tôt Durées de latence Périodes d’indisponibilité Valeur maximale de ces ordonnancements préemptifs 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
9
Problème d’affectationCritère intermédiaire
Introduction d’ une opération virtuelle à chaque période d’ indisponibilité Date de début au plutôt : date de début de la période d’indisponibilité Durée de latence : constante G Utilisation de la règle de Jackson Autorisation de la préemption Ordonnancement à chaque itération d’une unité de la tâche disponible de plus grande durée de latence 1. Les périodes d’ indisponibilité sont traitées comme des opérations de production : JPS donne la solution optimale 2. Les périodes d’indisponibilité débutent bien à leur date de début au plus tôt et elles ne sont jamais interrompues : elles ont la plus grande durée de latence Critère intermédiaire Valeur maximale des durées de ces ordonnancements préemptifs Objectif de RT Trouver l’affectation S minimisant ce critère 27 Janvier 2006 Réunion Gotha
10
Séquencement Approche de résolution
Nécessité d’un test de disponibilité avant le calcul des dates de début et de fin de chaque opération Adaptation de l’AG utilisé pour le problème classique Fonction de décodage Définition d’un opérateur de mutation dirigée adapté au problème Solutions initiales 27 Janvier 2006 Réunion Gotha
11
Problème de séquencement AG
Codage CLO : Liste des Opérations Désignation des opérations appartenant au même job par le même symbole (numéro du job) Interprétation des opérations selon leur occurrence d’apparition Exemple JSP formé de 3 jobs, 3 opérations par jobs, 3 machines (3 x 3 x 3) I = 27 Janvier 2006 Réunion Gotha
12
Opérateur de mutation dirigée
Objectif Améliorer le makespan en réduisant le temps mort avant les périodes d’indisponibilité Principe 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
13
Exemple illustratif Approche par phases (1)
JMPM s.c disponibilité (15 x 5 x 5) 2 périodes d’indisponibilité par machine Étape d’affectation Solution initiale d’affectation Somme des durées des opérations pouvant être ordonnancées avant les périodes d’indisponibilité M1 M2 M3 M4 M5 197 207 75 378 225 165 129 320 124 572 201 262 104 381 233 168 137 321 596 Longueur des intervalles d’accueil 27 Janvier 2006 Réunion Gotha
14
Exemple illustratif Approche par phases (1)
Comparaison entre la solution initiale et la solution donnée par l’algorithme de recherche Tabou Solution initiale M1 M2 M3 M4 M5 Charge 714 782 868 789 839 Ordonnancement préemptif 812 907 995 887 997 Solution après RT M1 M2 M3 M4 M5 Charge 815 812 790 818 757 Ordonnancement préemptif 913 915 917 916 27 Janvier 2006 Réunion Gotha
15
Exemple illustratif Approche par phases (2)
Étape de séquencement Opérateur de mutation dirigée Chromosome initial Makespan: 1236, Machine critique: M3 Chromosome résultat Makespan: 1190, temps mort (71-> 28) O15,1 O11,2 O15,1 O11,2 27 Janvier 2006 Réunion Gotha
16
Exemple illustratif Approche par phases (2)
Influence de l’opérateur de mutation dirigée Convergence Convergence avec mutation aléatoire Convergence avec mutation dirigée 114 183 972 968 27 Janvier 2006 Réunion Gotha
17
Exemple illustratif Approche par phases (3)
Makespan Paramètres Taille de la population Taux de croisement Taux de mutation Méthode de sélection Nombre de générations Nombre d’exécution 200 0.85 0.15 Roulette 300 10 Solution initiale Solution après RT BI 1017 966 Sol 1023 968 27 Janvier 2006 Réunion Gotha
18
MPM job-shop Approche intégrée
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
19
Approche géométrique Rappel (1)
Objectif 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 Construction d’un réseau décrivant la progression dans le plan 27 Janvier 2006 Réunion Gotha
20
Approche géométrique Rappel (2)
Obstacle correspondant à un partage de ressource Job2 Exemple J1={(M1,2),(M2,1),(M3,1)} J2= {(M3,2),(M1,1),(M2,1)} Job1 proportionnel au temps opératoire de l’opération Chaque sommet a au plus deux successeurs Coins SE et NW Point final F 27 Janvier 2006 Réunion Gotha
21
Extensions de L’AG 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
22
Extension prise en compte de la flexibilité
Initialisation Définition des obstacles potentiels Définition des successeurs d’un sommet 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
23
Pour chaque couple de machines
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 Problème de disponibilité dans les deux directions Progression horizontale ou verticale Successeur: Sommet d’attente Fin d’une opération Fin indisponibilité Mis à jour des données: - temps - Coordonnées géométriques Successeur: Sommet singulier ou régulier 27 Janvier 2006 Réunion Gotha
24
Heuristique pour le problème général
Principe Résolution des jobs deux à deux avec l’algorithme polynomial Séquence initiale des jobs (J1, J2..., JN) Ordonnancement de deux jobs avec l’algorithme polynomial Des périodes d’indisponibilité additionnelles sont fixées Fin de la séquence Arrêt 27 Janvier 2006 Réunion Gotha
25
Comparaison 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 la séquence d’entrée un algorithme d’optimisation est nécessaire Calculée en considérant tous les paires de jobs Une approche évolutionniste intégrée 27 Janvier 2006 Réunion Gotha
26
Périodes d’indisponibilité flexibles
Périodes d’indisponibilité ne sont pas fixes 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
27
Principe de résolution
Optimiser les opérations de production 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 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
28
Heuristique HS1insertion au plus tard
Ordonnancement des opérations de production dans l’ordre de leur apparition dans I* Insertion des périodes d’indisponibilité le plus tard possible dans leurs fenêtres temporelles Réduction du temps mort 27 Janvier 2006 Réunion Gotha
29
Heuristique HS1 I*= 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
30
Heuristique HS2 Recherche arborescente
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
31
Heuristique HS2 Deux emplacements sont possibles
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 e0 Insertion de la 1ère tâche de maintenance Périodes d’indisponibilité e2 e1 Insertion de la 2ème tâche de maintenance e1 e2 3 e3 e4 e3 e4 Mk e3 e4 Intervalles de tolérance 27 Janvier 2006 Réunion Gotha
32
Heuristique HS2 Séquence initiale de Machines (M1, M2..., MM)
tenir compte des périodes d’indisponibilité déjà placées Détermination des différentes solutions d’insertion possibles Certaines tâches déjà placées risquent d’être décalées au delà de leurs intervalles de tolérance Mise à jour des données de production Test de validité Solution partielle écartée 27 Janvier 2006 Réunion Gotha
33
Heuristique HS3 Règle de priorité
Définir une fenêtre de temps pour chaque opération de production 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 I*= 27 Janvier 2006 Réunion Gotha
34
Heuristique HS3 Réordonnancer les tâches de production et de maintenance selon la règle Ordonnancement de l’opération ayant la plus petite date de fin au plus tard parmi les opérations disponibles (production ou maintenance) Un test est nécessaire avant de placer une opération de production 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
35
Heuristique HS3 I*= Un bon ordonnancement de production, ne le reste pas systématiquement après insertion de la maintenance Heuristique HS3 Heuristique HS1 27 Janvier 2006 Réunion Gotha
36
Comparaison des heuristiques
INST1 (10 x 6 x 55) 1 période d’indisponibilité INST2 (10 x 6 x 55) 2 période d’indisponibilité HS1 55 350 HS2 48 334 HS3 52 337 27 Janvier 2006 Réunion Gotha
37
Merci pour votre attention
38
Approche intégrée Exemple ( 3 X 4 X 3)
Introduction FJSP FJSP s.c de disponibilité des machines Conclusions Approche intégrée Généralisation du codage CLO proposé pour le job-shop Exemple ( 3 X 4 X 3) Ordre de passage sur les machines I= Liste des affectations 27 Janvier 2006 Réunion Gotha
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.