LES TECHNIQUES D’ORDONNANCEMENT

22
Cours G.P. Moncef Ben Hariz 1 Objectifs Savoir résoudre un problème d’ordonnancement. Faire le survol sur les différents algorithmes et heuristiques, se trouvant dans la littérature, qui permettent de résoudre les problèmes d’ordonnancement.

Transcript of LES TECHNIQUES D’ORDONNANCEMENT

Page 1: LES TECHNIQUES D’ORDONNANCEMENT

Cours G.P. Moncef Ben Hariz 1

Objectifs Savoir résoudre un problème

d’ordonnancement. Faire le survol sur les différents algorithmes

et heuristiques, se trouvant dans la littérature, qui permettent de résoudre les problèmes

d’ordonnancement.

Page 2: LES TECHNIQUES D’ORDONNANCEMENT

N / 1 / ri / Cmax

Pour ce problème, le plus simple est évidemment de classer les jobs par ri croissant pour minimiser le Cmax.

Cours G.P. Moncef Ben Hariz 2

Page 3: LES TECHNIQUES D’ORDONNANCEMENT

N / 1 / di / Lmax et N / 1 / di / Tmax

Afin de minimiser les retards, il s’agit de classer les tâches par dates de fin au plus tard croissantes.

(EDD : earliest due date)

Cours G.P. Moncef Ben Hariz 3

Page 4: LES TECHNIQUES D’ORDONNANCEMENT

N / 1 / ri / Σ Fi et N / 1 / ri / Σ Li

La règle SPT (shortest processing time), minimise les critères du flow time moyen ainsi que le retard algébrique moyen.

Il suffira alors de classer les jobs par ordre croissant des durées d’exécutions.

Cours G.P. Moncef Ben Hariz 4

Page 5: LES TECHNIQUES D’ORDONNANCEMENT

N / 1 / di / Nt Pour minimiser le nombre de jobs en retard, on utilisera l’algorithme

de Hodgson : Début Placer les jobs par EDD dans une liste E{ } Tant qu’il reste de jobs en retard dans E { }faire Début 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 5

Page 6: LES TECHNIQUES D’ORDONNANCEMENT

Exemple : Étant donné les tâches ayant les caractéristiques 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é (c’est le plus grand)

Ordre 1-3-5

Plus de retard, c’est fini

Cours G.P. Moncef Ben Hariz 6

Page 7: LES TECHNIQUES D’ORDONNANCEMENT

N / 1 / ri, delivery / Cmax Supposons qu’après sa réalisation, chaque tâche doit

attendre une durée qi (sans pour autant bloquer le processeur) avant d’être considérée comme finie.

Pour résoudre un tel problème, on peut appliquer l’algorithme de Scharge :

Début t=min(ri) Tant que T≠ Ø faire Début 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} t=max{t+pi, Min(rj)} avec Tj є T

Fin

Cours G.P. Moncef Ben Hariz 7

Page 8: LES TECHNIQUES D’ORDONNANCEMENT

Cours G.P. Moncef Ben Hariz 8

Page 9: LES TECHNIQUES D’ORDONNANCEMENT

Il s’agit d’ordonnancer N tâches qui consistent en une seule opération, et on dispose de M machines identiques pour les réaliser.

En général, on suppose que toutes les tâches sont indépendantes et disponibles au même instant, et que chaque machine ne peut exécuter qu’une seule tâche à un instant donné.

Cours G.P. Moncef Ben Hariz 9

Page 10: LES TECHNIQUES D’ORDONNANCEMENT

N / M / I , pmtn / Cmax

On suppose que ce problème est avec préemption. On notera Cmax*= Max{Max{pi}, Σpi / M}la borne du système. L’algorithme de Mac Naughton donne un ordonnancement à cette borne, dans le

cas général de M processeurs. Début t 0, j 1, k 1 Répéter tant qu’il reste des tâches Si (t + pj < Cmax * ) alors attribuer Tj au processeur k t t + pj Sinon Attribuer Cmax* - t unités de temps de Tj sur ce processeur L = pj – ( Cmax* - t ) Attribuer L unités de temps au processeur suivant k k + 1 t = L Fin Si J j + 1 Fin Tant que Fin

Cours G.P. Moncef Ben Hariz 10

Page 11: LES TECHNIQUES D’ORDONNANCEMENT

Cet algorithme trivial donné est évidemment optimal, car chaque pi est plus petit que Cmax * (sans quoi, une tâche serait simultanément sur 2 processeurs)

Exemple :

Etant donné le problème d’ordonnancement présenté ci dessous sur trois machines parallèles, on voudrait minimiser le makespan.

Cours G.P. Moncef Ben Hariz 11

Page 12: LES TECHNIQUES D’ORDONNANCEMENT

L’algorithme le plus souvent utilisé est LPT (Longest

Processing Time) Début Classer les jobs par pi décroissants Pour tous les processeurs, Si=0 Tant qu’il 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

Page 13: LES TECHNIQUES D’ORDONNANCEMENT

N / M / I / Σ F

Pour minimiser le temps de présence moyen des tâches, on peut utiliser l’algorithme suivant :

Début :

Trier les tâches selon la règle SPT

Affecter les tâches (prises dans cet ordre) à la machine ayant le plus petit temps d’occupation.

Fin

Cours G.P. Moncef Ben Hariz 13

Page 14: LES TECHNIQUES D’ORDONNANCEMENT

N / M / I / Σ T L’une des méthodes qui a été proposée afin d’ordonnancer N tâches sur

M machines parallèles identiques en minimisant le retard moyen est l’heuristique de Dogramaci :

Début Trier les tâches selon une des règles de priorité suivantes : SPT : ordre croissant des temps opératoires EDD : ordre croissant des dates de fin au plus tard. MST: (minimum stack time) ordre croissant des dates de début au +

tard. Affecter les tâches (prises dans cet ordre) à la première machine libre. Pour chaque machine, réordonnancer les tâches indépendamment des

autres machines à l’aide d’une des règles SPT, EDD, MST. Fin

Cours G.P. Moncef Ben Hariz 14

Page 15: LES TECHNIQUES D’ORDONNANCEMENT

N / 2 / F / Cmax L’algorithme d’ordonnancement le plus connu est celui

de Johnson Notons ici, pour simplifier Ai et Bi les opérations de la

tâche i sur la première et la seconde machine. A[i] temps d’usinage sur la machine 1 pour le job i B[i] temps d’usinage sur la machine 2 pour le job i Algorithme Début : Classer en S1 les tâches 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

Page 16: LES TECHNIQUES D’ORDONNANCEMENT

N / 3 / F / Cmax

L’heuristique de Jackson consiste à partir d’un problème de 3 machines (Ai, Bi, Ci), pour créer un problème de 2 machines artificielles (Ai+Bi, Bi+Ci). Il ne reste plus qu’à appliquer l’algorithme de Johnson sur les deux machines virtuelles pour obtenir un ordonnancement.

Théorème : Si l’algorithme de Johnson donne le même résultat sur les deux sous problèmes, ce résultat est optimal.

Cours G.P. Moncef Ben Hariz 16

Page 17: LES TECHNIQUES D’ORDONNANCEMENT

N / M / F / Cmax On se propose dans ce problème d’étudier quelques

heuristiques qui ont pour objectif de résoudre le problème d’ordonnancement de Flow-shop dans son cas général (à M machines) N/M/F/Cmax .

a)- Heuristique de Palmer Palmer propose une méthode qui donne la priorité aux

tâches ayant des temps opératoires courts sur les premières machines et des temps opératoires longs sur les dernières machines. Cette heuristique s’énonce comme suit :

Pour chaque tâche i, calcul d’un index de pente S(i) : S( i ) = ∑ (2j-M-1)*p(i, j) / 2 ; Pour j=1 … M Ordonnancer les tâches dans l’ordre décroissant de cet

index.

Cours G.P. Moncef Ben Hariz 17

Page 18: LES TECHNIQUES D’ORDONNANCEMENT

b)- Heuristique de Dannenbring

Dannenbring propose de ramener le problème de M machines à un problème de 2 machines fictives et d’utiliser l’algorithme de Johnson. Les temps opératoires des tâches sur les deux machines fictives sont définis 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

Page 19: LES TECHNIQUES D’ORDONNANCEMENT

C) -Heuristique de Nawaz, Enscore, Ham (NEH) Début Classer les jobs par ordre de somme des temps

opératoires décroissant S=Ø Tant qu’il reste des jobs faire Début prendre le premier job k Tester toutes les positions possibles dans la

séquence S Insérer k dans S à la place qui minimise le Cmax Fin Fin

Cours G.P. Moncef Ben Hariz 19

Page 20: LES TECHNIQUES D’ORDONNANCEMENT

D)- Heuristique de Cambell, Dudek, Smith (CDS) Créer N-1 sous-problèmes tel que le kième sous problème

utilise : A’i= somme des k premières machines B’i= somme des N-k dernières machines Résoudre les N-1 sous problèmes Choisir la meilleure solution.

Cours G.P. Moncef Ben Hariz 20

Page 21: LES TECHNIQUES D’ORDONNANCEMENT

Pour ordonnancer N tâches dans une organisation job shop de deux machines A et B, et lorsque chaque tâche a au plus deux opérations sur des machines différentes, Jackson fournit un algorithme optimal.

Soient : E1 : Ensemble des tâches comportant une seule opération sur A (gamme A) E2 : Ensemble des tâches comportant une seule opération sur B (gamme B) E3 : Ensemble des tâches comportant une première opération sur A et une deuxième sur B. (gamme A-B) E4 : Ensemble des tâches comportant une première opération sur B et une deuxième sur A. (gamme B-A) Démarche : Ordonnancer les tâches de E3 avec Johnson Ordonnancer les tâches de E4 avec Johnson Exécuter les tâches sur A dans l’ordre suivant : E3 E1 E4 Exécuter les tâches sur B dans l’ordre suivant : E4 E2 E3

Cours G.P. Moncef Ben Hariz 21

Page 22: LES TECHNIQUES D’ORDONNANCEMENT

On suppose pour ce cas qu’une tâche est constituée de M opérations, et l’opération j de la tâche i doit être exécutée sur la machine j pour une durée p(i, j). L’interruption d’une opération (lorsqu’elle est possible) peut être utilisée soit pour la préemption d’une tâche, soit pour la préemption d’une machine, soit pour les deux à la fois.

Soit : ai=pi,1 Bi=pi,2 A={i / ai >= bi} B={i / ai < bi} A est l’ensemble des jobs ayant une durée d’exécution 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