![]() |
L'ordonancement avec |
![]() |
Dernière mise à jour : Décembre 2012
| L'Algorithme de Johnson (ou plutôt les Algorithmes de Johnson, car il en existe plusieurs variantes) est un moyen rapide d'optimiser l'ordonancement de process simples. Le principe expliqué par l'exempleTrois produits P1, P2, P3 sont à passer
succésivement sur M1,M2 et M3.
Quel ordre de passage assure le temps de production total le plus court ? Solution : P1 P2 P3, Représentée selon un diagramme de Gantt : ![]() Au moment initial t0, P1 commence sur M1 qui le traitera en 2
unités de temps, avant de traiter P2 puis P3. M2 traite la pièce P1 dès que M1
la libère, puis P2 et P3. M3 subit une attente de 2 unités de temps, en attendant que P2 soit achevée sur
M2. Comment arrive-t-on au résultat optimal ?Vous pouvez essayer une méthode intuitive en vous aidant de barres de LEGO ® de couleurs et dimensions différentes, par exemple. Quand vous en aurez assez, essayez ceci : Algorithme de JohnsonDéterminer le produit P ayant le temps de process M1 ou M3 le plus court .
Eliminer P de la liste et recommencer la recherche sur les P restants, et ainsi de suite. ![]() Exemple 2Six produits P1...P6 sont à produire. Il faut passer dans l'ordre sur M1,M2 et M3.
Séquencement :M2 étant un process intermédiaire, il n'est pas considéréP6 doit terminer sur M3, puis 4 cas possibles:
Nous obtenons 4 combinaisons possibles, Laquelle est la meilleure ?
(Calcul des dates de fin, par diagramme ou calcul)Les solutions 2) et 4) sont les meilleures. L’algorithme présente l’inconvénient, en cas de temps opératoires égaux,
de devoir explorer toutes les solutions, ou d’en choisir une arbitrairement. Or entre les quatre solutions,
équivalentes 2 à 2, il ya une différence de 4 unités de temps,
ce qui n’est pas négligeable !
L'Algorithme de Johnson généralisé(N Produits passant sur M machines)Calculer pour chaque produit x = somme des n-1 premiers process (dernier process exclu) Calculer pour chaque produit y = somme des n-1 derniers process (premier process exclu) Calculer pour chaque produit k = x / y Le séquencement sera celui des produits triés selon l’ordre croissant de leurs coefficient k. En reprenant l’exemple 1 :
Solution : P2 P1 P3, date de fin = 21En reprenant l’exemple 2 :
Solution : P2 P4 P1 P3 P5 P6, date de fin = 33Dans les exemples 1 et 2 repris par l'algorithme généralisé, les solutions trouvées sont équivalentes (mais non optimales) aux meilleures selon l’autre méthode, avec une économie de temps et une simplification des calculs. ![]() Calculs des dates de début, date de fin et margesPosons comme origine des temps to le début du cycle P1 sur M1. Par convention, nous adopterons la notation :
Occupation de M1 = somme des temps cycle P1 à P6 sur M1, soit 30 unités. Occupation de M2 : le travail de P2 sur M2 ne peut commencer que quand P2 est achevée sur M1, soit à t=2, P4 ne peut commencer qu’après la fin de P2, soit à t=8, P1 à t=10 etc... On peut construire le tableau suivant qui regroupe toutes les informations, en utilisant un algorithme du type : Tant que n n suivant
d = durée, c = contrainte Une contrainte est le temps d’attente nécessaire à l’achèvement d’un produit sur un process avant de passer ce produit sur le process suivant (libre), ou de passer le produit suivant déjà prêt sur ce process. Cette attente forcée peut être considérée comme une marge : on peut retarder un produit de la valeur de la contrainte qu’il subit sans que cela change la date de fin. ![]()
Utilisation possible des margesP3 peut démarrer sur M2 à t=18 au plus tôt et finit à t=20. Gains : l’arrêt de M2 est allongé, cela permet de rationnaliser l’emploi de cette machine, de faire des maintenances préventives, économiser l'énergie ou encore de mieux répartir la main d'oeuvre, qui peut être affectée rationnellement. ![]()
|
![]()
|
Cette page vous est offerte par ©hristian HOHMANN - http://christian.hohmann.free.fr/
|