TD 3 : Ordonnancement
Recherche opérationnelle S3.
2016-2017
Exercice 1 — Ordonnancement sous contraintes de ressources- Méthode heuristique
On considère le problème d’ordonnancement suivant où on suppose que le nombre d’employés
est limité à 5.
tâche durée tâches précédentes nombre d’employés
A 6 - 3
B 3 - 2
C 6 - 1
D 2 B 1
E 4 B 3
F 3 D A 3
G 1 F E C 2
Les méthodes PERT/Potentiel tache ne permettent pas de tenir compte des contraintes de
ressources comme le nombre d’employés. On présente ici une heuristique dite "‘méthode sérielle"’
(ou algorithme de liste). Attention : les heuristiques ne garantissent en général pas de trouver une
solution optimale :
a) Définir un ordre de priorité des tâches respectant la contrainte de précédence
b) Pour chacune des tâches t, dans cet ordre
A) Considérer le plus petit instant τoù la tâche test disponible (contraintes de précédence
et ressources).
B) Définir l’instant de départ de la tâche tcomme τ
Nous allons appliquer cette heuristique à notre exemple.
1. En appliquant la méthode potentiel tâche, trouver un ordonnancement optimal ne tenant
pas compte des contraintes de ressources. Cet ordonnancement respecte-t-il les contraintes
de ressources ? Donner les dates au plus tard des tâches.
2. Appliquer la méthode sérielle en donnant la priorité à la tâche de plus petite date au plus
tard.
3. Tracer le diagramme de GANTT de l’ordonnancement obtenu.
Exercice 2 — Ordonnancement d’atelier
Cinq tâches doivent être effectuées sur une machine M1 puis sur une machine M2, dans le même
ordre. À la fin de son exécution sur M1, chaque tâche peut commencer son exécution sur M2 si la
machine est disponible ou sinon elle doit attendre qu’elle le soit. Les durées d’exécution des tâches
sur les deux machines sont données dans le tableau suivant :
Durée t(j, M )j1j2j3j4j5
M150 150 80 200 30
M260 50 150 70 200
1
1. Si les tâches s’exécutent dans l’ordre j1, j2, j3, j4, j5, quelle est la durée totale d’exécution sur
les 2 machines ?
2. Appliquer l’algorithme de Johnson pour trouver un ordre qui minimise la durée totale d’exé-
cution.
3. Quelle est la complexité de cet algorithme ?
4. On suppose prouvé que la solution est optimale si on vérifie, pour tout couple de tâches
iprécédant j,min(t(i, M1), t(j, M2)) min(t(i, M2), t(j, M1)). Montrer que le résultat de
l’algorithme de Johnson est optimal.
Exercice 3 — Ordonnancement d’atelier à 3 machines
Le sujet est le même que dans l’exercie précédent, mais avec 3 machines.
t(j, M )j1j2j3j4j5j6
M160 40 80 70 100 50
M240 20 10 30 20 30
M340 60 70 100 50 80
1. On considère le problème virtuel constitué de deux machines M1’ et M2’ telles que t(j, M 0
1) =
t(j, M1) + t(j, M2)et t(j, M 0
2) = t(j, M2) + t(j, M3). Appliquer l’algorithme de Johnson pour
trouver un ordre qui minimise la durée totale d’exécution sur ce problème.
2. Quel est le temps d’exécution optimal sur le problème virtuel ?
3. Quel est le temps d’exécution sur le problème réel ?
4. Testez l’algorithme sur l’exemple suivant
t(j, M )j1j2j3
M110 20 40
M270 80 20
M320 00 30
5. Comparez la solution obtenue avec celle qui consiste à effectuer les tâche dans l’ordre j3j1j2.
L’algorithme est-il toujours optimal ?
6. L’algorithme est optimal dans le cas de la question 1 mais pas dans le cas de la question 4.
Qu’est-ce qui peut expliquer cela ?
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !