430 likes | 695 Views
Ordonnancement des job-shops flexibles sous contraintes de disponibilité des machines. Nozha ZRIBI. LAGIS - Ecole Centrale de Lille. Cadre de l’étude Job-shop flexible (1). Job1 Job2 Job3. O 1,1 O 1,2 O 1,3. O 2,1 O 2,2. O 3,1 O 3,2.
E N D
Ordonnancement des job-shops flexibles sous contraintes de disponibilité des machines Nozha ZRIBI LAGIS - Ecole Centrale de Lille
Cadre de l’étude Job-shop flexible (1) Job1 Job2 Job3 O1,1 O1,2 O1,3 O2,1 O2,2 O3,1 O3,2 • Deux formulations pijk M1 M2 M3 M4 MPM JSP FJSP • Indisponibilité durant certaines périodes connues a priori Réunion Gotha
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 Réunion Gotha
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 Réunion Gotha
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é Réunion Gotha
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é Réunion Gotha
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 à Mkla 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é Réunion Gotha
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 Réunion Gotha
Problème d’affectationCritère intermédiaire 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 • 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 • 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 Réunion Gotha
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 Réunion Gotha
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 Réunion Gotha
Exemple illustratifApproche 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é Longueur des intervalles d’accueil Réunion Gotha
Exemple illustratifApproche par phases (1) • Comparaison entre la solution initiale et la solution donnée par l’algorithme de recherche Tabou Solution initiale Solution après RT Réunion Gotha
O15,1 O11,2 0 225233 331 428 499 5281236 O15,1 O11,2 0 225233 331 471 499 5281190 Exemple illustratifApproche 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) Réunion Gotha
Exemple illustratifApproche 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 Réunion Gotha
Exemple illustratifApproche par phases (3) • Makespan Réunion Gotha
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 Réunion Gotha
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 Réunion Gotha
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 Réunion Gotha
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é Réunion Gotha
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 Réunion Gotha
Extension prise en compte de la flexibilité Initialisation Pour chaque couple de machines Test de Disponibilité Complexité polynomiale Problème de disponibilité dans les deux directions Problème de disponibilité dans l’une des deux directions Progression horizontale ou verticale Successeur: Sommet d’attente Fin indisponibilité Fin d’une opération Mis à jour des données: - temps - Coordonnées géométriques Successeur: Sommet singulier ou régulier Réunion Gotha
Heuristique pour le problème général Séquence initiale des jobs (J1, J2..., JN) • Principe • 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équence Arrêt Réunion Gotha
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 Comparaison Calculée en considérant tous les paires de jobs Une approche évolutionniste intégrée Réunion Gotha
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 Réunion Gotha
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 : Réunion Gotha
Heuristique HS1insertionau plus tard • Heuristique HS1 • 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 Réunion Gotha
Heuristique HS1 12312123 3 3 2 2 1 3 2 1 3 1 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 Réunion Gotha
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é Réunion Gotha
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 Réunion Gotha
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 Réunion Gotha
12312123 3 3 2 2 1 1 2 3 1 3 I*= 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 Réunion Gotha
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 Réunion Gotha
12312123 3 3 2 2 1 1 2 3 1 3 I*= Heuristique HS3 Un bon ordonnancement de production, ne le reste pas systématiquement après insertion de la maintenance Heuristique HS3 Heuristique HS1 Réunion Gotha
Comparaison des heuristiques Réunion Gotha