Vous êtes sur la page 1sur 22

Objectifs Savoir rsoudre un problme dordonnancement.

Faire le survol sur les diffrents algorithmes et heuristiques, se trouvant dans la littrature, qui permettent de rsoudre les problmes dordonnancement.

Cours G.P.

Moncef Ben Hariz

N / 1 / ri / Cmax Pour ce problme, le plus simple est videmment de classer les jobs par ri croissant pour minimiser le Cmax.

Cours G.P.

Moncef Ben Hariz

N / 1 / di / Lmax Tmax

et

N / 1 / di /

Afin de minimiser les retards, il sagit de classer les tches par dates de fin au plus tard croissantes. (EDD : earliest due date)

Cours G.P.

Moncef Ben Hariz

N / 1 / ri / Fi

et

N / 1 / ri / Li

La rgle SPT (shortest processing time), minimise les critres du flow time moyen ainsi que le retard algbrique moyen. Il suffira alors de classer les jobs par ordre croissant des dures dexcutions.

Cours G.P.

Moncef Ben Hariz

N / 1 / di / Nt
Pour minimiser le nombre de jobs en retard, on utilisera lalgorithme de Hodgson : Dbut Placer les jobs par EDD dans une liste E{ } Tant quil reste de jobs en retard dans E { }faire Dbut Prendre le premier (de rang k) Prendre le plus long job de E{ } avant ou gal k Le mettre dans L { } Fin Fin

Cours G.P.

Moncef Ben Hariz

Exemple : tant donn les tches ayant les caractristiques suivantes : tape 1 : Ordre 1-2-3-4-5 3 est en retard, donc 2 est vir Ordre 1-3-4-5 4 est en retard, donc 4 est vir (cest le plus grand) Ordre 1-3-5 Plus de retard, cest fini
Cours G.P. Moncef Ben Hariz 6

N / 1 / ri, delivery / Cmax

Supposons quaprs sa ralisation, chaque tche doit attendre une dure qi (sans pour autant bloquer le processeur) avant dtre considre comme finie. Pour rsoudre un tel problme, on peut appliquer lalgorithme de Scharge : Dbut t=min(ri) Tant que T faire Dbut T= {Ti T / ri t} Choisir Ti de T tel que pi=Max{pk / qk=max(qj)} avec Tk, Tj T Mettre Ti la date t T=T- {Ti} Cours G.P. Moncef Ben Hariz t=max{t+pi, Min(rj)} avec Tj T

Cours G.P.

Moncef Ben Hariz

Il sagit dordonnancer N tches qui consistent en une seule opration, et on dispose de M machines identiques pour les raliser. En gnral, on suppose que toutes les tches sont indpendantes et disponibles au mme instant, et que chaque machine ne peut excuter quune seule tche un instant donn.

Cours G.P.

Moncef Ben Hariz

N / M / I , pmtn / Cmax

On suppose que ce problme est avec premption. On notera Cmax*= Max{Max{pi}, pi / M}la borne du systme. Lalgorithme de Mac Naughton donne un ordonnancement cette borne, dans le cas gnral de M processeurs. Dbut t 0, j 1, k 1 Rpter tant quil reste des tches Si (t + pj < Cmax * ) alors attribuer Tj au processeur k t t + pj Sinon Attribuer Cmax* - t units de temps de Tj sur ce processeur L = pj ( Cmax* - t ) Attribuer L units de temps au processeur suivant kk+1 t=L Fin Si Jj+1 Fin Tant que Fin
Cours G.P. Moncef Ben Hariz 10

Cet algorithme trivial donn est videmment optimal, car chaque pi est plus petit que Cmax * (sans quoi, une tche serait simultanment sur 2 processeurs) Exemple : Etant donn le problme dordonnancement prsent ci dessous sur trois machines parallles, on voudrait minimiser le makespan.

Cours G.P.

Moncef Ben Hariz

11

Lalgorithme le plus souvent utilis est LPT (Longest Processing Time) Dbut Classer les jobs par pi dcroissants Pour tous les processeurs, Si=0 Tant quil reste de jobs faire Soit Tj le premier job restant Sk = Min {Si} Affecter le job Tj au processeur k Sk Sk + pj Fin Tant que Fin

Cours G.P.

Moncef Ben Hariz

12

N/M/I/F Pour minimiser le temps de prsence moyen des tches, on peut utiliser lalgorithme suivant : Dbut : Trier les tches selon la rgle SPT Affecter les tches (prises dans cet ordre) la machine ayant le plus petit temps doccupation. Fin

Cours G.P.

Moncef Ben Hariz

13

N/M/I/T
Lune des mthodes qui a t propose afin dordonnancer N tches sur M machines parallles identiques en minimisant le retard moyen est lheuristique de Dogramaci :

Dbut Trier les tches selon une des rgles de priorit suivantes : SPT : ordre croissant des temps opratoires EDD : ordre croissant des dates de fin au plus tard. MST: (minimum stack time) ordre croissant des dates de dbut au + tard. Affecter les tches (prises dans cet ordre) la premire machine libre. Pour chaque machine, rordonnancer les tches indpendamment des autres machines laide dune des rgles SPT, EDD, MST. Fin

Cours G.P.

Moncef Ben Hariz

14

N / 2 / F / Cmax
Lalgorithme dordonnancement le plus connu est celui de Johnson Notons ici, pour simplifier Ai et Bi les oprations de la tche i sur la premire et la seconde machine. A[i] temps dusinage sur la machine 1 pour le job i B[i] temps dusinage sur la machine 2 pour le job i Algorithme Dbut : Classer en S1 les tches tels que A[i] < B[i] Classer le reste en S2 Classer S1 par SPT sur les A[i] Classer S2 par LPT sur les B[i] Ordonnancer par S1- S2

Exemple :

Cours G.P.

Moncef Ben Hariz

15

N / 3 / F / Cmax Lheuristique de Jackson consiste partir dun problme de 3 machines (Ai, Bi, Ci), pour crer un problme de 2 machines artificielles (Ai+Bi, Bi+Ci). Il ne reste plus qu appliquer lalgorithme de Johnson sur les deux machines virtuelles pour obtenir un ordonnancement. Thorme : Si lalgorithme de Johnson donne le mme rsultat sur les deux sous problmes, ce rsultat est optimal.
Cours G.P. Moncef Ben Hariz 16

N / M / F / Cmax
On se propose dans ce problme dtudier quelques heuristiques qui ont pour objectif de rsoudre le problme dordonnancement de Flow-shop dans son cas gnral ( M machines) N/M/F/Cmax . a)- Heuristique de Palmer Palmer propose une mthode qui donne la priorit aux tches ayant des temps opratoires courts sur les premires machines et des temps opratoires longs sur les dernires machines. Cette heuristique snonce comme suit : Pour chaque tche i, calcul dun index de pente S(i) : S( i ) = (2j-M-1)*p(i, j) / 2 ; Pour j=1 M Ordonnancer les tches dans lordre dcroissant de cet index.
Cours G.P. Moncef Ben Hariz 17

b)- Heuristique de Dannenbring Dannenbring propose de ramener le problme de M machines un problme de 2 machines fictives et dutiliser lalgorithme de Johnson. Les temps opratoires des tches sur les deux machines fictives sont dfinis par : a( i ) = (M-j+1)*p( i , j ) ; Pour j=1 M b( i ) = j* p( i , j ) ; Pour j=1 M
Cours G.P. Moncef Ben Hariz 18

C) -Heuristique de Nawaz, Enscore, Ham (NEH) Dbut Classer les jobs par ordre de somme des temps opratoires dcroissant S= Tant quil reste des jobs faire Dbut prendre le premier job k Tester toutes les positions possibles dans la squence S Insrer k dans S la place qui minimise le Cmax Fin Fin
Cours G.P. Moncef Ben Hariz 19

D)- Heuristique de Cambell, Dudek, Smith (CDS) Crer N-1 sous-problmes tel que le kime sous problme utilise : Ai= somme des k premires machines Bi= somme des N-k dernires machines Rsoudre les N-1 sous problmes Choisir la meilleure solution.

Cours G.P.

Moncef Ben Hariz

20

Pour ordonnancer N tches dans une organisation job shop de deux machines A et B, et lorsque chaque tche a au plus deux oprations sur des machines diffrentes, Jackson fournit un algorithme optimal. Soient : E1 : Ensemble des tches comportant une seule opration sur A (gamme A) E2 : Ensemble des tches comportant une seule opration sur B (gamme B) E3 : Ensemble des tches comportant une premire opration sur A et une deuxime sur B. (gamme A-B) E4 : Ensemble des tches comportant une premire opration sur B et une deuxime sur A. (gamme B-A) Dmarche : Ordonnancer les tches de E3 avec Johnson Ordonnancer les tches de E4 avec Johnson Excuter les tches sur A dans lordre suivant : E3 E1 E4 Excuter les tches sur B dans lordre suivant : E4 E2 E3

Cours G.P.

Moncef Ben Hariz

21

On suppose pour ce cas quune tche est constitue de M oprations, et lopration j de la tche i doit tre excute sur la machine j pour une dure p(i, j). Linterruption dune opration (lorsquelle est possible) peut tre utilise soit pour la premption dune tche, soit pour la premption dune machine, soit pour les deux la fois. Soit : ai=pi,1 Bi=pi,2 A={i / ai >= bi} B={i / ai < bi} A est lensemble des jobs ayant une dure dexcution plus courte sur M2, B sur M1. Soit : k un job de A tel que ak >= Max{bi}, i dans A L un job de B tel que bi >= Max{ai}, i dans B Classer sur M1 : {L}, B-{L}, A-{k}, {k} Classer sur M2 : {k}, A-{k}, B-{L}, {L}

Cours G.P.

Moncef Ben Hariz

22