Vous êtes sur la page 1sur 8

Introduction aux problmes

d'ordonnancement
Hatem Hadda
M.A. en Gnie Industriel

hatem.hadda@esti.rnu.tn
Septembre 2013

2
Notations gnrales

n
J
Pik
Ci
Cmax ()

Cmax
(k) ou k

Nombre de jobs ordonnancer ;


L'ensemble des n jobs, J = {J1 , J2 , . . . , Jn } ;
Temps opratoire du job i sur la machine k .
Date de sortie du job i de l'atelier ;
Makespan de la solution ;
Makespan optimal.
k e`me job de la permutation .

Problmes d'ordonnancement d'atelier

Ordonnancer c'est programmer l'excution d'une ralisation en attribuant


des ressources aux tches et en xant leurs dates d'excution [?], tout en
respectant un ensemble de contraintes et dans le but d'optimiser une fonction
objectif donne.
Il existe gnralement une relation d'ordre total ou une relation d'ordre
partiel sur les oprations ncessaires l'excution des tches. Ces tches (ou
jobs) requirent pour leurs excutions certaines ressources qui peuvent tre
soit des ressources renouvelables soit des ressources consommables. Les ressources renouvelables, sont celles qui peuvent tre rutilises. Les machines,
les robots, en constituent l'exemple. Les ressources consommables ne sont
plus disponibles aprs utilisation. C'est le cas des matires premires et de
l'nergie, par exemple. L'exploitation de ces ressources introduit aussi un certain nombre de contraintes au problme qui peuvent tre disjonctives (lorsqu'une ressource ne peut pas tre exploite par plus d'une tche la fois) ou
cumulatives (dans le cas de limitation des ressources partageables).

1.1 Classication
An de mieux apprhender la complexit lie aux problmes d'ordonnancement, une typologie d'ateliers de production, base sur le type d'organisation et les gammes de production, a t introduite.
La gure 1 prsente une typologie couramment utilise [?, ?], dans laquelle l'atelier se prsente sous forme d'tages de production. Chaque tage
se compose de M () machines qui sont capables de raliser le mme type

Figure 1  Problmes d'ordonnancement d'atelier [?, ?].


d'opration (quivalentes en fonction), mais qui peuvent direr en performance.
Le type d'atelier le plus gnral est le job shop avec plusieurs machines par
tage. Dans cette conguration, chaque job possde une gamme de production qui lui est propre (dnissant l'ordre de passage du job sur les dirents
tages). Dans le cas o les machines d'un tage donn dirent en performance, le choix particulier d'une machine peut aecter le temps d'excution
des jobs. Pour ce type d'ateliers, le problme consiste dterminer l'ordre
de passage des jobs dans chaque tage, et les aecter sur les direntes
machines.
Dans le cas o nous avons une seule machine par tage, nous retrouvons
le problme classique du job shop. Si on se donne la libert de choisir pour
chaque job une gamme de production parmi plusieurs gammes possibles, nous
obtenons le problme de l'open shop.
Dans la conguration o tous les jobs possdent la mme gamme de production, on obtient le problme du ow shop. Ainsi, pour tous les jobs l'ordre
suivant lequel les tages sont visits est le mme, cette conguration est ga-

4
lement connue sous le nom de "fabrication en ligne" [?] ou "d'atelier cheminement unique" [?]. Finalement, si l'atelier ne comprend qu'un seul tage,
nous retrouvons le problme machines parallles, ou encore le problme
une machine.

1.2 Critres d'optimisation


Une solution ralisable est un ordonnancement qui spcie une squence
de passage des direntes oprations des jobs sur les machines, tout en respectant les contraintes du problme.
Le but de tout problme d'ordonnancement est de trouver la meilleure solution ralisable parmi toutes les solutions possibles. Ceci revient dnir un
ou plusieurs critres permettant l'valuation et la comparaison de direntes
solutions. Ces critres se basent en gnral, sur des facteurs conomiques et
technologiques visant l'utilisation ecace des ressources, la minimisation des
cots et le respect des dlais de livraison.
Les fonctions objectifs s'expriment gnralement, par les sommes ou les
moyennes pondres ou encore par des valeurs maximales des indicateurs
suivants :
 Ci : la date de n d'excution du job i ;
 Li = Ci di et Ti = max(Ci di , 0) : exprimant les retards du job i ;
 Ui = 0 si Ci di , Ui = 1 sinon : indiquant si le job i est en retard ou
pas.
Selon les objectifs viss, on peut considrer :
 des critres lis au temps : minimisation de la dure totale d'achvement
("makespan"), minimisation des encours ("ow time"), minimisation
des retards (somme des retards, maximum des retards. . .)
 des critres lis aux ressources : lissage de la main d'uvre, quilibrage
des charges. . .
 des critres lis aux cots : cots de lancement, cots de stockage,. . .

1.3 Codication
Direntes codications sont proposes dans la littrature. Elles permettent de dcrire l'environnement de travail (type d'atelier) ainsi que les
caractristiques et restrictions sur les jobs, les oprations et la fonction objectif.
Malgr la grande varit de restrictions et congurations qui peuvent
exister et qui ont t traites dans la littrature, on s'accorde largement sur
une codication trois champs || [?, ?, ?]. Nous rappelons sommairement
ci-aprs cette notation.

5
Le champ correspond la description physique de l'atelier. Il est gnralement constitu de deux lments : = 1 2 . Le paramtre 1 dcrit le
type de l'atelier, alors que 2 indique le nombre de machines utilises. Les
valeurs possibles de 1 sont :
 1 = 1 : une machine ;
 1 = P : machines parallles identiques ;
 1 = Q : machines parallles uniformes (chaque machine une vitesse
d'excution propre et constante) ;
 1 = R : machines parallles indpendantes (les vitesses d'excution
sont direntes pour chaque machine et pour chaque job) ;
 1 = F : Flow shop ;
 1 = J : Job shop ;
 1 = O : Open shop.
Le deuxime champ dcrit les contraintes et les caractristiques des
jobs et des machines. Il peut tre vide (), comme il peut contenir plusieurs
champs = 1 2 3 4 5 6 7 . Nous donnons ici des valeurs possibles pour ces
champs.
 1 = pmtn alors la premption est autorise : les jobs peuvent tre
interrompus et termins plus tard (les jobs sont morcelables). Dans le
cas contraire 1 = et le job une fois commenc, doit tre excut
jusqu' la n ;
 2 = res, indique la prsence de ressources auxiliaires ;
 3 = prec, uan, tree, chain, indique respectivement la prsence de contraintes gnrales de prcdence entre les jobs, de rseaux d'activit uniconnects, de contraintes de prcdence formant un arbre ou un ensemble de chane. Sinon 3 = et les jobs sont indpendants ;
 4 = ri , indique que les dates de disponibilit des jobs ne sont pas
ncessairement nulles.
 5 = (pi = p) indique que tous les jobs ont un temps d'excution gale
p. Pour 5 = (p pi p), les jobs ont des dures opratoires comprises
entre p et p.
 6 = di indique que des dates de sortie au plus tard sont imposes aux
jobs.
 7 = indique que l'attente des oprations devant les machines est
autorise. 7 = no wait indique que les oprations d'un mme job
doivent tre excutes directement les une aprs les autres, aucune attente n'est autorise.
Le troisime champ renseigne sur les critres d'optimisation considrs.

6
2

Problmes une machine

1|ri |Cmax Une solution optimale est obtenue en ordonnanant les jobs dans
l'ordre croissant des ri .
1||

1||

1|ri |

Fi

wi Fi Une solution optimale est obtenue en ordonnanant les jobs dans


l'ordre croissant des ratios wPii .
Rgle WSPT : Weighted Shortest Processing Time.

Fi Problme NP-dicile.

1|ri , prmp|

1|ri |

Une solution optimale est obtenue en ordonnanant les jobs dans


l'ordre croissant des dure opratoires (Pi ).
Cette rgle est dite SPT : Shortest Processing Time.

w i Fi

Fi Une solution optimale est obtenue en ordonnanant tout


instant le job ayant le plus petit temps de travail restant.
Rgle SRPT : Shortest Remaining Processing Time.
Problme NP-dicile avec ou sans premption.

1|di |Lmax Une solution optimale est obtenue en ordonnanant les jobs dans
l'ordre croissant des di . Rgle EDD : Earliest Due Date.
1|di |Tmax La rgle EDD est optimale.
1|di |

Ui Une solution optimale est donne par l'algorithme de Moore/Hodgson.

1|ri , di |

Si la premption est interdite, le problme est NP-dicile pour tous


les critres.

1|ri , di , prmp|Tmax Une solution optimale est obtenue en ordonnanant chaque


instant le job disponible (et non achev) de di minimal.
1|di , prec|Tmax (ou Lmax ) Une solution optimale est obtenue en ordonnanant les
jobs dans l'ordre croissant des di . Avec di = min{di ; minsuc {dk }}
o suc est l'ensemble des successeurs non ncessairement
immdiat de i. La rgle est dite EDD'.

7
3

Problmes machines parallles

Pm ||Cmax NP-dicile pour m 2..


Pm |prmp|Cmax Ordonnancer les jobs dans un ordre quelconque
sur une seule

machine. Calculer l = max{maxJ Pi ; J Pi /m}. Dpartager


l'ensemble de jobs sur des blocs de longueur l et ordonnancer
chaque bloc sur l'une des machines.
Pm ||

Ci Une solution optimale est obtenue en appliquant la rgle SPT en


aectant chaque fois le job la machine la moins charge.

Problmes de Flow shop

Fm ||Cmax NP-dicile pour m 3.


F2 ||Cmax

Une solution optimale peut tre obtenue en appliquant l'algorithme


de Johnson (voir Algorithme 1).

Rgle de Johnson : Le job Ji prcde Jj si min{Pi1 , Pj2 } min{Pj1 , Pi2 }.


Algorithme 1 : Algorithme de Johnson.
tape 1.

debut = et f in = ;

tape 2.

Rechercher dans J le job i0 tel que Pi0 1 = minJi J {Pi1 , Pi2 } ou


Pi0 2 = minJi J {Pi1 , Pi2 }

tape 3.

si Ji0

est tel que Pi0 1 = minJi J {Pi1 , Pi2 } alors


Placer Ji0 la n de debut ;
si Ji0 est tel que Pi0 2 = minJi J {Pi1 , Pi2 } alors
Placer Ji0 au dbut de f in ;

J = J\{Ji0 } ;;
si J = alors
Aller l'tape 2 ;
tape 4.

Construire la solution joh par la concatnation de debut et f in ;

8
5

Problmes de Job shop

J2 |o <= 2|Cmax

O on a au plus deux oprations pour chaque job constitue


l'unique cas pour lequel on connait un algorithme polynomial.
Une solution optimale est obtenue an appliquant l'algorithme
de Jackson.

Vous aimerez peut-être aussi