pdf 293.7 ko - Revue e-STA

Transcription

pdf 293.7 ko - Revue e-STA
Minimisation de la somme des retards dans un
jobshop flexible
Nozha ZRIBI1 , Imed KACEM2 , Abdelkader EL KAMEL1 , Pierre BORNE1
1
LAGIS
Ecole Centrale de Lille, BP 48, 59651 Villeneuve d’Ascq Cedex, France
2
ISTIT
Université de Technologie de Troyes, BP 2060, 10010 Troyes Cedex, France
{nozha.zribi, abdelkader.elkamel, p.borne}@ec-lille.fr, [email protected]
Résumé— Dans cet article nous considérons le problème d’ordonnancement d’un job-shop flexible avec dates de disponibilité et dates dues. Nous proposons une méthode heuristique en deux phases pour la minimisation de la somme des
retards. La première consiste à affecter les tâches selon une
heuristique de la littérature et à améliorer le résultat avec
une recherche Tabou. La deuxième étape permet d’optimiser
les solutions données par les heuristiques classiques (EDD,
MOD, LRPT...) par le biais d’un algorithme évolutionniste.
Mots-clés— Job-shop flexible, affectation, ordonnancement,
somme des retards, recherche Tabou, algorithme génétique,
règles de priorité.
Fig. 1.
I. Introduction
Le problème des job-shops flexibles est une extension
du problème classique connu sous le nom de job shop.
Il s’agit de planifier et d’organiser des tâches à réaliser
sur un ensemble de machines selon des durées d’exécution
variables [17], [18], [13], [7], [3]. Dans la littérature, la
plupart des approches cherchent à optimiser le critère
du makespan (la date de fin d’exécution de la dernière
tâche). Elles considèrent deux étapes dans la résolution
d’un tel problème [3], [13], [18]. La première consiste à
construire une affectation pour les différentes tâches sur
les machines adéquates. La deuxième est l’ordonnancement des tâches et la détermination des dates de début
d’exécution en tenant compte de différentes contraintes
conjonctives (précédence) et disjonctives (capacités des machines). Néanmoins, Dauzère-Pérès et ses co-auteurs ont
construit une approche intégrée qui traite conjointement
l’affectation et le séquencement [7]. Mastrolilli a également
repris cette approche intégrée pour améliorer ces résultats
[17]. Récemment, Kacem a proposé une étude de plusieurs modèles de résolution et des bornes inférieures pour
quelques critères pour l’évaluation des solutions [14].
Dans nos travaux précédents, nous avons mis en place
une approche hiérarchique pour résoudre le problème du
job-shop flexible afin de minimiser le makespan [22]. Dans
cet article, nous proposons d’adapter cette méthode pour
la minimisation de la somme des retards dans un jobshop flexible. Cet article est organisé comme suit. Après
la formulation du problème traité, nous présentons dans
Exemple d’un PF JSP
la section III l’algorithme proposé pour la résolution du
sous-problème d’affectation. La quatrième section décrit
l’approche évolutionniste proposée pour résoudre le sousproblème de séquencement. Des résultats numériques
sont ensuite présentés, et nous terminons cet article par
quelques conclusions sur ce travail de recherche.
II. Formulation du problème du job-shop
flexible avec dates de disponibilité et dates
dues imposées
Le problème est d’organiser la réalisation de N jobs
sur M machines. Chaque job Jj représente un nombre
nj d’opérations ordonnées (contraintes de précédence).
Chaque opération i d’un job Jj (notée Oi,j ) peut
être réalisée sur n’importe quelle machine disponible.
La durée d’exécution pi,j,k de l’opération Oi,j dépend
de la machine Mk affectée à cette opération. Pour
chaque problème de job-shop flexible, on peut associer
un tableau des durées opératoires tel que : PF JSP =
{pi,j,k ∈ IN ∗ |1 ≤ j ≤ N ; 1 ≤ i ≤ nj ; 1 ≤ k ≤ M },Un exemple
est représenté dans Fig.1.
Dans ce problème, nous faisons les hypothèses suivantes :
◦ Toutes les machines sont disponibles à la date t = 0;
◦ Chaque job Jj peut commencer à la date t = rj ;
◦ Pour chaque job, l’ordre des opérations est fixé dès
le départ et ne peut être modifié (contraintes de
précédences dans la gamme) ;
◦ Chaque job possède une date échue di ;
◦ Une machine ne peut exécuter qu’une seule opération
à la fois ;
◦ La préemption n’est pas autorisée.
Le problème considéré présente deux sous-problèmes.
Le premier est l’affectation de chaque opération Oi,j sur
une machine Mk . Le deuxième est la détermination d’un
ordonnancement qui minimise la somme totale des retards.
Par la suite nous proposons un algorithme en deux
phases pour la résolution du problème d’ordonnancement
d’un job-shop flexible avec minimisation de la somme des
retards.
III. Le problème d’affectation
Il existe différents critères associés à l’affectation des
opérations sur les machines. Par exemple, on doit équilibrer
la charge des différentes machines, minimiser la charge totale de toutes les machines, minimiser la charge de la machine critique (la machine la plus chargée)...
Dans [14], l’auteur a proposé une heuristique appelée approche par localisation permettant d’affecter les opérations
sur les machines tout en équilibrant la charge des différentes
machines. En effet, cette heuristique affecte les opérations
d’une manière itérative tout en tenant compte des durées
opératoires et des charges des machines sur lesquelles nous
avons deja affecté des opérations.
On se propose d’améliorer la solution donnée par l’approche par localisation par une recherche Tabou qui minimise le critère suivant :
Fig. 2.
Exemple d’un PJSP
Elle consiste à se déplacer de solution en solution en s’interdisant de revenir en une configuration déjà rencontrée
[11].
A. Paramètres de la recherche Tabou
A.1 La solution initiale
La solution initiale est calculée en utilisant l’approche
par localisation
A.2 Mouvement
Le mouvement consiste à réaffecter une opération à
différentes machines. Toutes les possibilités sont testées
et le meilleur mouvement minimisant le critère Crit est
sélectionné.
A.3 Restriction Tabou
Crit = α × Cr2 + (1 − α) × Cr3
(1)
tel que :
◦ Cr2 est la charge de la machine critique : Cr2 =
maxk {Wk },
◦ Wk est la charge de la machine k,
◦ CrP
3 est la charge totale de toutes les machines Cr3
= k {Wk },
◦ α est une variable appartenant à l’intervalle [0, 1].
Les deux critères choisis ont beaucoup d’influence sur la
valeur de la somme des retards et aussi sur la difficulté du
problème.
d −r
Considérons le coefficient Aj = jPj j (Pj est la durée totale
du job j). Ce coefficient mesure la sévérité de la contrainte
de la date d’échéance imposée (dj est indépendant de
l’affectation) du job j et par conséquent la difficulté du
problème.
La charge totale des machines peut être interprétée aussi
comme la durée totale de tous les jobs. Il est clair que ce
critère affecte la valeur des Aj (Aj et Pj sont inversement
proportionnelles) et ainsi de la valeur du retard de chaque
job.
Il est évident aussi que la répartition des charges sur les
différentes machines ainsi que la charge de la machine critique affectent la difficulté du problème et la somme des
retards.
La recherche Tabou est une méthode itérative générale
d’optimisation combinatoire, elle est très performante sur
un nombre considérable de problèmes d’ordonnancement.
La liste Tabou est constituée des paires {op, m o}, où op
désigne l’opération initialement affectée à la machine m o
et ayant été réaffectée à une autre.
A.4 Critère d’aspiration
Dans cette application, nous avons utilisé le critère d’aspiration le plus connu et le plus utilisé dans la littérature
qui est le critère d’aspiration globale. Ce critère permet à
un mouvement Tabou d’être candidat pour la sélection, s’il
conduit à une nouvelle meilleure solution.
A.5 Critère d’arrêt
L’algorithme s’arrête si un nombre donné d’itérations est
atteint. Le nombre d’itérations est fixé à 100.
Après avoir résolu le sous problème d’affectation, le
problème du job-shop flexible se réduit à un problème de
job shop classique.
◦ A chaque opération Oi,j , on définit Mk comme la machine sur laquelle Oi,j va être exécutée (Mk est la machine affectée à Oi,j pendant la première phase du programme), et une durée opératoire pi,j égale à pi,jk .
◦ Pour chaque problème de job-shop, on peut associer
un tableau D des durées opératoires tel que : PJSP =
{pi,j ∈ IN∗ , 1 ≤ j ≤ N ; 1 ≤ i ≤ nj ; }. Un exemple est
representé dans Fig.2.
Dans la section suivante nous proposons un algorithme
génétique permettant d’optimiser le séquencement des
opérations. Le critère choisi est la minimisation de la
somme totale des retards exprimé par la formule 2 suivante :
T1
(1, 2, 3)
T2
(2, 2, 3)
...
Fig. 3.
•
•
}
∈{
=
∈{
}
}
(
=
TN T
(3, 2, 4)
Codage proposé
∈{
=
•
Tz
(i, j, k)
)
=
•
=
•
=
Fig. 4.
+
+
+
Procédure d’ordonnancement
T =
N
X
j=1
max(Cj − dj , 0)
j
(2)
avec Cj la date de fin d’exécution du job j.
IV. Algorithme génétique pour la minimisation
de la somme des retards dans un job-shop
De nombreux travaux dans la littérature ont été dédiés
au problème d’ordonnancement avec minimisation de la
somme des retards notamment pour les problèmes à une
machine [1],[6] et les problèmes à machines parallèles [21].
Certains travaux ont concerné la minimisation de ce critère
dans un atelier de type job-shop [19], [20], [12]. Les règles
de priorité ont été fréquemment utilisées pour résoudre
ce problème [15]. D’autres approches heuristiques basées
sur la recherche Tabou ont été récemment développées
[20]. Le problème d’ordonnancement dans un job-shop est
NP-difficile [4], [10]. Les problèmes de minimisation de la
somme des retards sur une machine est aussi NP-difficile
[9]. Nous proposons alors dans ce qui suit une metaheuristique basée sur les algorithmes génétiques [8], [2], [5] pour
la minimisation de la somme des retards dans un job-shop.
A. Codage : Liste des opérations
Nous choisissons d’utiliser un codage linéaire simple.
Il consiste à représenter le P
séquencement par une liste
j=N
de N T opérations (N T =
j=1 nj ). Chaque chromosome représente une liste de N T cellules. Chaque cellule
représente une tâche Tz (1 ≤ z ≤ N T ) codée de la manière
suivante : (i, j, k). Le calcul de la date de début et de la date
de fin (ti,j , tfi,j ) se fait en appliquant la procédure décrite
dans Fig.4 selon l’ordre z de chaque tâche dans la liste
(Fig.3). Cette procédure permet de calculer les dates de
début d’exécution de la tâche (i, j) en prenant en compte
la date de disponibilité DM [k] de la machine Mk et la date
de disponibilité DJ[j] du job Jj .
B. Solutions initiales
Différentes règles de priorité adaptées au problème de
minimisation de la somme des retards ont été utilisées pour
créer la population initiale :
1. EDD (earliest due date), la tâche la plus prioritaire est
celle qui appartient au job dont la date due est la plus
petite.
2. EOD (earliest operation due date), on trie les tâches
selon les dij croissants. La date due de chaque opération
est calculée grâce à la formule (3). Le calcul de la date de
début et de la date de fin (ti,j , tfi,j ) se fait en appliquant la
procédure décrite dans Fig.4 selon l’ordre de chaque tâche.
Pnj
3. On trie les tâches selon les (dj − i=k
pij ) croissants,
avec k l’indice de l’opération considérée. Le calcul de la
date de début et de la date de fin (ti,j , tfi,j ) se fait en
appliquant la procédure décrite dans Fig.4 selon l’ordre de
chaque tâche.
4. MDD (modified due date) : cette règle combine la règle
EDD et LRPT (the least remaining processing time). La
date due modifiée d’un job est définie de la manière suivante :
Pnj
0
dj = max{dj , t + i=k
pij } , avec k l’indice de l’opération
du job j en attente pour exécution.
5. MOD (modified operation due date) : la date due de
chaque opération est modifiée de la manière suivante :
0
dkj = max{dj , t + pkj } , avec k l’indice de l’opération à
ordonnancer.
A cette série de solutions créées à partir des règles
de priorité nous ajoutons d’autres solutions réalisables
construites de manière aléatoire pour compléter la population initiale.
Définition 1: On associe à chaque opération une date
due dij qui dépend de la durée de l’opération et de la marge
totale d’un job :
(
p
dij = di−1,j + (dj − rj ) Pnj ij , d0j = rj
k=1 pkj
(3)
∀ 1 ≤ i ≤ nj , ∀ 1 ≤ j ≤ N.
C. Opérateurs
Dans notre cas, nous avons à respecter les contraintes
de précédence entre les opérations d’un job. Nous avons
donc proposé d’utiliser quelques opérateurs développés par
Lee et Kawa permettant de respecter les contraintes de
précédence : l’opérateur POX (Precedence Preserving order based crossover) pour le croisement et l’opérateur PPS
(Precedence Preserving Shift mutation) pour la mutation
[16].
D. Paramètres
◦ Les probabilités de mutation et de croisement
sont fixées d’une manière classique (Pcrossover =
0.95, Pmutation = 0.05). En effet, ce choix a été motivé par les résultats donnés par quelques simulations préliminaires qui ont montré que ces grandeurs
doivent être judicieusement choisies. Les figures 5, 6 et
7 montrent des tests de réglage de ces probabilités sur
un exemple de taille 15x45x7 et une population de 200
individus. De telles simulations prouvent qu’un taux
élevé de mutation conduit à une difficulté de convergence traduite par l’obtention d’un extrémum local.
Par contre, un choix de taux de mutation faible permet de réaliser un bon compromis entre exploration et
optimisation.
◦ Le mécanisme de sélection donne la priorité aux
meilleurs individus selon leur évaluation définie par
l’équation (2) pour la phase de reproduction.
3
critère
2,5
2
1,5
1
0,5
Fig. 5.
Générations
30
0
20
0
10
0
0
0
Courbe de convergence avec Pc = 0.95 et Pm = 0.05
3
2,5
critère
2
1,5
1
0,5
Fig. 8.
Générations
Fig. 6.
Performances des heuristiques
30
0
20
0
10
0
0
0
◦ Le facteur de retard β est généré selon la formule (5)
permettant de générer des dates dues étroites[12].
Courbe de convergence avec Pc = 0.6 et Pm = 0.4
◦ Critères d’arrêt
• le nombre maximal d’itérations est atteint,
• aucun job n’est en retard.
V. Résultats expérimentaux
Les instances utilisées pour tester la méthode sont créées
d’une manière aléatoire. Les paramètres sont générés de la
manière suivante :
◦ Le nombre de jobs N varie dans {5, 10, 15, 20, 30, 50},
le nombre d’opérations par job varie dans {1, 2, 3, 4},
le nombre de machines varie dans [4, 10].
◦ Les dureés opératoires sont dans [1, 10].
◦ LesPdates de disponibilité des jobs sont choisies entre 1
et i,j pij , pij étant la moyenne des durées opératoires
d’une opération sur les différentes machines.
◦ Le paramètre α de la recherche Tabou est fixé à 0.25
pour donner plus d’importance au critère Cr3 (charge
totale de toutes les machines), en effet les simulations
montrent que ce dernier critère a plus d’influence sur
la somme des retards que Cr2 (charge de la machine
critique).
◦ La date due de chaque job dépend du facteur de retard β et de la moyenne des durées opératoires d’une
opération sur les différentes machines pij , elle se calcule selon la formule (4).
dj = rj + β
nj
X
pij )
(4)
i=1
β=
N ∗M
+ 0.5
100
(5)
Les simulations montrent que la règle de priorité MDD
donne dans la plupart des cas le meilleur résultat. En effet,
le tableau 8 montre une comparaison entre cinq stratégies
S1 , S2 , S3 , S4 et S5 :
◦ S1 : EDD,
◦ S2 : EOD,
◦ S3 : MDD,
◦ S4 : MOD,
Pnj
pij ).
◦ S5 : trie selon (dj − i=k
On se propose alors de comparer le résultat donné par
l’algorithme génétique avec celui donné par la MDD (Tableau 9).
On calcule le taux d’amélioration A − GA − M DD de
−TGA
100,
la manière suivante : A − GA − M DD = TMTDD
M DD
avec TM DD , TGA représentant respectivement la somme
des retards calculée à partir de la règle de priorité MDD et
la somme des retards donnée par l’algorithme génétique.
Le tableau 9 montre que le taux d’amélioration varie de
10% à 100% mais aussi que l’amélioration est d’autant plus
importante que la valeur de la somme des retards est petite.
VI. Conclusion
3
2,5
critère
2
1,5
1
0,5
Fig. 7.
Générations
30
0
20
0
10
0
0
0
Courbe de convergence avec Pc = 0.8 et Pm = 0.2
Dans cet article nous avons traité le problème d’ordonnancement dans un job-shop flexible. Il s’agit d’une
extension du problème classique du job-shop. Dans une
telle extension, nous avons considéré la propriété flexible
des ressources. Nous nous sommes intéressés au critère
de la somme des retards. Notre approche a été basée sur
une approche hériarchique : une étape d’affectation suivie d’une étape de séquencement. Pour assurer l’efficacité
du résultat, nous avons fait coopérer plusieurs techniques
Fig. 9.
Performance de l’algorithme génétique
d’optimisation (heuristiques, recherche Tabou, algorithmes
génétiques, etc...).
Les résultats préliminaires sont encourageants et prometteurs. Les principales directions futures vont être la comparaison de notre méthode avec d’autres approches et aussi le
développement d’une borne inférieure pour la somme des
retards pour mieux évaluer les solutions.
Références
[1] P. Baptiste, J. Carlier and A. Jouglet. Minimiser la somme des
retards sur une machine avec dates de disponibilité. MOSIM’01,
25-27 avril 2001, Troyes (France).
[2] W. Banzhaf, P. Nordin, R.E. Keller and F.D. Francone . Genetic programming An introduction on the Automatic evolution of
computer programs and its application. Morgan Kaufmann publishers, Inc. San Francisco, California, USA.
[3] P. Brandimarte. Routing and scheduling in flexible job-shop by
tabu search. Annals of Operations Research, 41 :157-183, 1993.
[4] J. Carlier and P. Chretienne. Problèmes d’Ordonnancement :
Modélisation / Complexité / Algorithmes. Editions Masson,
FRANCE.
[5] C. Caux, H. Pierreval and MC. Portmann. Les algorithmes
génétiques et leur application aux problèmes d’ordonnancement,
Kevie A.P.I.I (Automatique Productique et Informatique Industrielle), 29(4-5) :409-443, 1995.
[6] C. Chu. A Branch and Bound algorithm to minimize total tardiness with different release dates. Naval Research Logistics,
39 :265-283, 1992.
[7] S. Dauzère-Pérès and J. Paulli. An integrated approach for modelling and solving the general multiprocessor job-shop scheduling problem using tabu search. Annals of Operational Research,
70 :281-306, 1997.
[8] L. Davis. Handbook of Genetic Algorithms, Van Nostrand Reinhold, New-York, 1990, USA.
[9] J. Du and J.Y. -T. Leung. Minimizing Total Tardiness on one
Machine is NP-Hard. Mathematics of Operations Research, 15 :
483-495, 1990.
[10] M.R. Garey and D.S. Johnson. Computers and intractability :
A guide to theory of NP-Completeness. W.H. Freeman and Co.,
New York.
[11] F. Glover, E. Taillard. E and D. De werre, A users guide to
Tabou search. Vol 41, P 3-28, 1993
[12] Z. He. , T. Yang and D.E. Deal. A multiple-pass heuristic rule
for job-shop scheduling with due dates. International journal of
Production Research,31 :187-199, 1993.
[13] I. Hurink, B. Jurisch and M. Thole. Tabu search for the job-shop
scheduling problem with multi-purpose machines. OR-Spektrum,
15 :205-215, 1994.
[14] I. Kacem. Ordonnancement multicritère des job-shops flexibles :
formulation, bornes inférieures et approche évolutionniste
coopérative, Thèse de doctorat, Ecole Centrale de Lille, 6 janvier 2003.
[15] J.J. Kanet and J.C Hayya. Priority dispatching with operation dues datas in job-shop. Journal of operations Management,
2 :167-165,1982.
[16] KM. Lee and T. Yama Kawa. 1996. A Genetic algorithm for
general machine scheduling problems . Journal of knowlege-Based
Electronics Systems, 2 :60-66, 1996 Australia.
[17] M. Mastrolilli and L.M. Gambardella. Effective neighborhood
functions for the flexible job-shop problem. Journal of Scheduling,
3(1) :3-20, 2000.
[18] K. Mesghouni. Application des algorithmes évolutionnistes dans
les problèmes d’optimisation en ordonnancement de production.
hèse de doctorat, Ecole Centrale de Lille, 5 janvier 1999.
[19] M. Pinedo and M. Singer. A Shifting Bottleneck heuristic for
minimizing the total wheighted tardiness in job-shop. Naval Research Logistics, 46(1) :1-17, 1999.
[20] A. Vinicius and R. Cintia. Tabu search for minimizing total tardiness in a job-shop. International journal of Production Economics,63 :131-140, 2000.
[21] F. Yalaoui and C. Chu. Parallel machine scheduling to minimize total tardiness. International journal of Production Economics,76 :265-279, 2002.
[22] N. Zribi, I. Kacem and A. EL Kamel. Hierarchical Optimization
for the Flexible Job-shops Scheduling Problem. INCOM’04, Brazil
5-7 April 2004.