Title: Ordonnancement%20des%20job-shops%20flexibles%20sous%20contraintes%20de%20disponibilit
1Ordonnancement des job-shops flexibles sous
contraintes de disponibilité des machines
Nozha ZRIBI
LAGIS - Ecole Centrale de Lille
2Cadre de létude Job-shop flexible (1)
Job1 Job2
Job3
O1,1 O1,2 O1,3
O2,1 O2,2
O3,1 O3,2
pijk
M1 M2 M3
M4
MPM JSP
FJSP
- Indisponibilité durant certaines périodes
connues a priori
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 dindisponibilité flexibles
4 Approche par phases principe
Heuristique daffectation
- Détermination de la solution initiale avec des
règles de priorité - Définition dun critère intermédiaire
- Amélioration de laffectation par une Recherche
Tabou
Problème daffectation
Borne inférieure du Critère global étudié
- Mesure de la qualité de la solution daffectation
- Choix de la solution
Problème de séquencement
Approche évolutionniste
5 Problème daffectation Solution initiale
- Relaxation des contraintes de précédence
- Définition dune 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é
6 Problème daffectation Solution initiale
- Schéma de lheuristique daffectation
- A chaque itération du programme
- Détermination de lensemble dopérations
affectables sur Mk - Détermination de la charge de Mk
- Pour chaque opération affectable de Mk
- Tester si lopération peut être placée avant la
prochaine période dindisponibilité - Choisir un couple (opération, machine) selon une
règle de priorité
7 Problème daffectation 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
dindisponibilité
- Tenir compte de
- charge des machines
- degré de flexibilité des opérations
- Occuper les intervalles daccueil avant chaque
période dindisponibilité
8 Problème daffectationCritère intermédiaire
- Pour une affectation S
- Critère intermédiaire basé sur le calcul dune
borne inférieure du makespan (CrBI(S)) - A chaque machine Mk
- Problème pk à une machine
- Dates de début au plus tôt
- Durées de latence
- Périodes dindisponibilité
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 pk
9 Problème daffectationCritè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 dindisponibilité - Durée de latence constante G
- Utilisation de la règle de Jackson
- Autorisation de la préemption
- Ordonnancement à chaque itération dune 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
dindisponibilité 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 laffectation S minimisant ce critère
10 Séquencement Approche de résolution
Nécessité dun test de disponibilité avant le
calcul des dates de début et de fin de chaque
opération
- Adaptation de lAG utilisé pour le problème
classique - Fonction de décodage
- Définition dun opérateur de mutation dirigée
adapté au problème - Solutions initiales
11Problè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 dapparition - Exemple
- JSP formé de 3 jobs, 3 opérations par jobs, 3
machines (3 x 3 x 3) - I 1 2 3 1 2 2 3 1 3
12Opérateur de mutation dirigée
- Objectif
- Améliorer le makespan en réduisant le temps mort
avant les périodes dindisponibilité - Principe
- Déterminer la machine critique
- Tester les permutations possibles dopérations
ordonnancées avant et après les périodes
dindisponibilité - Sélectionner la permutation minimisant le
makespan
13Exemple illustratif Approche par phases (1)
- JMPM s.c disponibilité (15 x 5 x 5)
- 2 périodes dindisponibilité par machine
- Étape daffectation
- Solution initiale daffectation
Somme des durées des opérations pouvant être
ordonnancées avant les périodes dindisponibilité
M1 M1 M2 M2 M3 M3 M4 M4 M5 M5
197 207 75 378 225 165 129 320 124 572
201 262 104 381 233 168 137 321 129 596
Longueur des intervalles daccueil
14Exemple illustratif Approche par phases (1)
- Comparaison entre la solution initiale et la
solution donnée par lalgorithme de recherche
Tabou
Solution initiale
M1 M2 M3 M4 M5
Charge 714 782 868 789 839
Ordonnancement préemptif 812 907 995 887 997
M1 M2 M3 M4 M5
Charge 815 812 790 818 757
Ordonnancement préemptif 913 915 917 916 915
Solution après RT
15Exemple 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-gt 28)
16Exemple illustratif Approche par phases (2)
- Influence de lopérateur de mutation dirigée
- Convergence
Convergence avec mutation aléatoire
Convergence avec mutation dirigée
114
183
972
968
17Exemple illustratif Approche par phases (3)
Paramètres
Taille de la population Taux de croisement Taux de mutation Méthode de sélection Nombre de générations Nombre dexécution 200 0.85 0.15 Roulette 300 10
Solution initiale Solution après RT
BI 1017 966
Sol 1023 968
18 MPM job-shop Approche intégrée
- Basée sur la résolution exacte du problème à deux
jobs
Extension de lapproche géométrique
19Approche 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 dun réseau décrivant la progression
dans le plan
20Approche 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 lopération
- Chaque sommet a au plus deux successeurs
- Coins SE et NW
- Point final F
21Extensions de LAG 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é
22Extension prise en compte de la flexibilité
Initialisation
- Définition des obstacles potentiels
- Définition des successeurs dun 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 dune
horizontale où une verticale
Mis à jour des données - temps - Coordonnées
géometriques
23Extension 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 lune des deux
directions
Progression horizontale ou verticale
Successeur Sommet dattente
Fin indisponibilité
Fin dune opération
Mis à jour des données - temps - Coordonnées
géométriques
Successeur Sommet singulier ou régulier
24Heuristique pour le problème général
- Principe
- Résolution des jobs deux à deux avec lalgorithme
polynomial
Séquence initiale des jobs (J1, J2..., JN)
Ordonnancement de deux jobs avec lalgorithme
polynomial
Des périodes dindisponibilité additionnelles
sont fixées
Fin de la séquence
Arrêt
25Comparaison
- Lapproche 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 lapproche intégrée varie
avec la séquence dentrée - un algorithme doptimisation est nécessaire
Calculée en considérant tous les paires de jobs
Une approche évolutionniste intégrée
26 Périodes dindisponibilité flexibles
- Périodes dindisponibilité ne sont pas fixes
- Une fenêtre de temps est allouée à lexécution de
chaque tâche
Hypothèse se rapprochant de la réalité
industrielle
27Principe de résolution
- Optimiser les opérations de production
- Utilisation de lapproche é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
28Heuristique HS1insertion au plus tard
- Heuristique HS1
- Ordonnancement des opérations de production dans
lordre de leur apparition dans I - Insertion des périodes dindisponibilité le plus
tard possible dans leurs fenêtres temporelles - Réduction du temps mort
29Heuristique HS1
1 2 3 1 2 1 2 3 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
lopération
30Heuristique HS2 Recherche arborescente
- Ordonnancement des opérations de production dans
lordre de leur apparition dans I - Insertion des périodes dindisponibilité machine
par machine - Pour chaque machine tous les emplacements
possibles de chaque période sont testés - Tenir compte de lintervalle de tolérance
attribué à chaque période
dindisponibilité
31Heuristique HS2
- Deux emplacements sont possibles
- A la fin de chaque tâche qui se trouve à
lintérieur de lintervalle - A la date de début de lintervalle
Ordonnancement initial
e0
Insertion de la 1ère tâche de maintenance
Périodes dindisponibilité
e1
e2
Insertion de la 2ème tâche de maintenance
e1
e2 3
e3
e4
e3
e4
e3
Mk
e4
Intervalles de tolérance
32Heuristique HS2
Séquence initiale de Machines (M1, M2..., MM)
tenir compte des périodes dindisponibilité déjà
placées
Détermination des différentes solutions
dinsertion 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
33Heuristique 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 dune 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
34Heuristique HS3
- Réordonnancer les tâches de production et de
maintenance selon la règle - Ordonnancement de lopé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
35Heuristique HS3
Un bon ordonnancement de production, ne le reste
pas systématiquement après insertion de la
maintenance
Heuristique HS3
Heuristique HS1
36Comparaison des heuristiques
INST1 (10 x 6 x 55) 1 période dindisponibilité INST2 (10 x 6 x 55) 2 période dindisponibilité
HS1 55 350
HS2 48 334
HS3 52 337
37Merci pour votre attention
38Approche 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
1 2 3 1 2 1 2 3 3 4 2 2 1 3 4 4 3 1
I
Liste des affectations