Upload
viviane-monin
View
103
Download
0
Embed Size (px)
Citation preview
1
Ordonnancement des mouvements de deux robots d'une machine d'analyse de produits sanguins.
P. Baptiste (École Polytechniques de Montréal), M. Cheurfa (École des Mines de Saint Etienne)
2
plan
• Contexte du travail.
• Position du problème.
• Modélisations du problème.
• Méthodes de résolution.
• Conclusion.
3
Contexte du travail
4
NOVILOIRE18, avenue du Polygone
42300 RoanneTel : 04 77 44 49 80Fax : 04 77 44 49 88
•Créé au début des années 80;•Conception et fabrication des automates d'analyses.
Entreprise
5
,
La machine d’analyse
P3Plaque d’analyse
P2 Réactifs
P1Échantillons
P4Plaque d’analyse
R2R1
N1 N2
6
Caractéristiques de la machine
•À la fin de chaque prise, on procède à un nettoyage : ce temps de nettoyage est le même pour les deux robots.
• Le plateau P1 peut être accédé par R1et par R2 en même temps.
• Le plateau P2 ne peut être accédé par R1et par R2 en même temps.
• Le plateau P3 peut être accédé seulement par R1.
• Le plateau P4 peut être accédé seulement par R2.
•Le temps de déplacement des robots entre deux plateaux est identique.
7
P4
P3
P2
P1
P’1
N1
N2
Passage des jobs traités par R1
Passage des jobs traités par R2
Schématisation des mouvements
8
Types de Jobs
• Jobs affectés au robot R1.
• Jobs affectés au robot R2.
• Jobs non encore affectés.
Contraintes de précédences entre les jobs.
9
Position du problème
10
Ordonnancement des jobs en vue de minimiser la durée totale des analyses.
Objectif
11
Modélisations du problème.
12
Modélisation du problème (1)
1. Affecter les jobs non encore affectés;
2. Établir une partition des jobs devant se faire sur chaque robot;
3. Ordonnancer chacune des deux listes;
4. Simuler l'ordonnancement en choisissant dans chaque liste avec une règle de priorité.
13
Liste des jobs sur R1 Liste des jobs sur R2
Mouvements sur R2 Ordonnancés
ordonnancementordonnancement
Mouvements sur R1 Ordonnancés
Règle de priorité
L’ensemble des Mouvements sur R1 et R2 Ordonnancés
14
1. Affecter les jobs non encore affectés;
2. Créer une seule liste en combinant les deux types de Jobs;
3. Ordonnancer les jobs au plus tôt dans l'ordre d'apparition.
Modélisation du problème (2)
Liste des tous les jobs affectés
ordonnancement
L’ensemble des Mouvements sur R1 et R2 Ordonnancés
15
L'algorithme de résolution
Remarque:
L’affectation des jobs aux robots influe considérablement sur la durée de réalisation des analyses.
Affecter les jobs non affectés
Choisir un ordre aléatoire initial
Optimiser l'ordre initial.
16
Résolution du problème.
•Problème d’ordonnancement–Méthode descente;–Méthode Tabou.
•Problème d’affectation–Algorithme d équilibrage de charges;
–Algorithme exploitant importance de position;
–Algorithme exploitant la structure du graphe de precédences.
17
DébutPasTrouvé:=0;Tant que PasTrouvé < BorneSup faire Début
Chercher un voisin de la solution;Si le voisin est meilleur alors
Débutadopter cette solution;PasTrouvé:=0;
SinonPasTrouvé:= PasTrouvé+1;
FinFin
Descente1
Le voisinage retenu est une permutation aléatoire de deux jobs dans la liste
18
DébutPasTrouvé:=0;Tant que PasTrouvé < BorneSup faire Début
Chercher un voisin de la solution;Si le voisin est meilleur ou égal alors
Débutadopter cette solution;
Si le voisin est strictement meilleur alors PasTrouvé:=0;
SinonPasTrouvé:= PasTrouvé+1;
FinFin
Descente2
Nous avons accepté "d'explorer" des plateaux de solutions équivalentes pour trouver une "meilleure".
19
•L ’efficacité de la Descente 2 par rapport à la Descente 1 se justifie par l’existence de nombreuses solutions équivalentes.
•Le système doit parcourir un grand espace de solutions avant de trouver la meilleure.
Remarques
20
La méthode Tabou
Le voisinage: une permutation de deux jobs de la liste.
Liste tabou: • Taille de la liste: fixée 7 éléments;
• Contenu de la liste: la relation d'antécédence qui existait entre les deux opérations permutées.
•La fonction de coût est très plate.
•La méthode Tabou est moins efficace que les méthodes de descentes.
Remarque:
21
Algorithmes de pré-affectation
Une bonne affectation des jobs nous permettra de diminuer la borne inférieure, et d’améliorer la qualité de la solution.
Borne inférieure théorique:
BI= (T1+T2+T3)/2
T1: total des jobs affectés au robot R1;T1: total des jobs affectés au robot R2;T1: total des jobs non affectés;
22
Algorithme1: équilibrage des charges des robots.
DébutCalculer la charge de chaque robot;Tant qu'il reste des tâches non
affectées faire Début
Prendre la première non affectée;
L’affecter au robot le moins chargé;
Mettre à jour l'affectation de ce robot.
FinFin.
Inconvénient Cet algorithme induit des problèmes lorsque des tâches affectées à un seul robot précèdent les autres : le second robot ne travaille pas au début de l'ordonnancement et équilibrer la charge revient à surcharger le second dans la suite.
23
Exemple
1 2 3
4 19 29 39 49 59 69 79 89 99 109 119 129 139 149
5 6 7 8
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160
Jobs affectés au R1
R1
Jobs à affecter au R2.
R2
24
Algorithme2:importance de position.
Début Calculer pour chaque tâche la somme des durées de tous ses successeurs (importance de position); Classer les tâches par ordre décroissant de cet indicateur ; Tant qu'il reste des tâches non affectées faire
Début Chercher le robot qui s'arrête le premier;
Chercher la première tâche plaçable dans la liste; Affecter cette tâche à ce robot.
Fin Fin.
Inconvénient Si les dernières tâches sont toutes affectées au même robot, le résultat sera mauvais.
25
Exemple
1 2 3
4 19 29 39 49 59 69 79 89 99 109 119 129 139 149
5 6 7 8
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160
Jobs affectés au R1
R1R2
Jobs à affecter au R1.
R1
Jobs à affecter au R2.
26
Algorithme3: structure du graphe de precédences.
DébutClasser les tâches en deux groupes : G1 : tâches ayant dans leur successeurs au moins une tâche affectée;
G2 : les autres;Classer les groupes G1 et G2 par ordre décroissant de la sommes des
durées des successeurs;Tant qu'il reste des tâches non affectées faire Début
Prendre le premier robot qui s’arrête;Chercher dans G1 la première tâche affectable à ce robot;Si trouvé alors la placerSinon Chercher une dans G2 et la placer.
FinFin
27
Conclusion
28
Résolution préconisée
• 3 ème Algorithme d’affectation;
• Descente 2 (acceptation des voisins égaux).