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