1 ordonnancement des mouvements de deux robots d'une machine d'analyse de produits...

Post on 03-Apr-2015

103 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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).

top related