La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Introduction aux problèmes d'ordonnancement sans temps-morts. Philippe Chrétienne Université Paris 6 Laboratoire LIP6.

Présentations similaires


Présentation au sujet: "1 Introduction aux problèmes d'ordonnancement sans temps-morts. Philippe Chrétienne Université Paris 6 Laboratoire LIP6."— Transcription de la présentation:

1 1 Introduction aux problèmes d'ordonnancement sans temps-morts. Philippe Chrétienne Université Paris 6 Laboratoire LIP6

2 2 Motivation En ordonnancement classique, les coûts imputés aux temps d'oisiveté (encore appelés temps-morts) d'une ressource (ex: une machine) sont négligés. Cependant, lorsqu'un niveau d'énergie est nécessaire pour utiliser une ressource, interrompre le fonctionnement d'une ressource peut être très couteux. (ex : laisser un four se refroidir après une cuisson et le ramener à la température adéquate pour la cuisson suivante) Dans cet exposé, on s'intéresse aux problèmes d'ordonnancement avec ressources de type "machine" pour lesquels : chaque machine doit exécuter sans temps-morts les tâches qui lui sont allouées.

3 3 Un exemple : Une machine, 3 tâches A,B,C de durées unitaires et de dates de disponibilité 1, 3 et 5 un critère régulier C 1 + C 2 + C 3 ABC 0 35 temps ordonnancement "sans temps morts" optimal (coût : 15) 46 ABC 0135 temps ordonnancement "classique" optimal (coût : 12) 2 temps-morts : [2,3] et [4,5] 246

4 4 Le problème d'ordonnancement à une machine sans temps-morts 1.Notations 2.Complexité : résultats et conjecture 3.La date NI 4.Problème ENI 5.Une condition suffisante pour ENI 6.La séquence de Jackson pour 1,NI|r i,q i |Max C i +q i 7.Dates critiques d'une instance 8.Le cas de durées égales

5 5 Notations La contrainte "sans temps-morts" est signalée par le symbole NI (Non Idling) ajouté dans le premier champ de la notation | | (ex: 1,NI|r j,prec,p j =1|f j ) ; J=(1,2,…,n) est l'ensemble des tâches ; G=(J,A) est le graphe des contraintes de précédence ; Les dates de disponibilité r i : - sont compatibles avec G : (i,j) A r j r i + p i - satisfont : r 1 r 2 … r n ; La fonction coût à minimiser est du type max J f i (C i ) ou J f i (C i ) où les fonctions f i (.) sont croissantes au sens large.

6 6 Ordonnancement NI-optimal associé à une séquence réalisable (i.e: compatible avec G). Soit = (i 1,i 2,…,i n ) une séquence réalisable des n tâches de J. La date de début t d'un ordonnancement NI respectant doit satisfaire : t 0 ; k=1..n-1 : t+ q=1..k p(i q ) r(i k+1 ). La date de début minimale d'un ordonnancement NI respectant est donc : NI ( ) = Max(0, Max k=1..n-1 (r(i k+1 )- q=1..k p(i q )) inin i2i2 i1i1 temps 0 NI ( ) Cet ordonnancement est NI-optimal à fixé.

7 7 La date NI Soit 0 la séquence réalisable (1,2,...,n). Soit NI = NI ( 0 ). Propriété : Pour toute séquence réalisable, on a : NI ( ) NI ( 0 ) Preuve: Soit = (i 1,i 2,…,i n ) une séquence réalisable telle que: i k = i, i k+1 = j et j

8 8 temps inin i k+1 =j i1i1 0 NI ( ) i k =i Soit ' la séquence réalisable (i 1,..,i k-1, i k+1, i k-1,i k+2,…,i n ). L'ordonnancement NI ci-dessous est donc un ordonnancement NI pour la séquence '. On a donc NI ( ) NI ( '). On itère cette transformation tant que ' 0. et on obtient : NI ( ) NI ( 0 ). Remarque : Si la préemption est autorisée, NI est la date de début minimale de tout ordonnancement NI préemptif.

9 9 Complexité:résultats et conjecture La plupart des versions NI des problèmes d'ordonnancement à une machine NP-difficiles sont aussi NP-difficiles. Exemples : 1,NI | r j | L max est NP-difficile ; 1,NI | r j |C j est NP-difficile. Ce n'est cependant pas toujours vrai : Ex: le problème d'ordonnancement où la machine est utilisable sur une famille finie d'intervalles Dk : NP-difficile en version classique et polynomial en version NI. D1D2D3

10 10 Conjecture : Un problème d'ordonnancement à une machine polynomial en version classique est-il aussi polynomial en version NI? Pas de contre-exemple trouvé jusqu'à présent! Cependant, un algorithme pour la version classique peut être inapte à détecter (à lui seul) un ordonnancement NI-optimal. Cette remarque, illustrée par l'exemple suivant, donne l'intuition que la conjecture est fausse.

11 11 tâchesabc pipi 232 riri 057 f i (t)0 si 2t5 t-5 sinon t-85(t-9) Exemple Minimiser f a (C a ) + f b (C b ) + f c (C c ) Supposons que A soit un algorithme résolvant le problème 1 | r i | f i (C i ) Définitions: S(t, ) l'ordonnancement optimal (s'il existe) respectant la séquence et commençant à la date t. S*(t) ordonnancement optimal commençant à la date t.

12 12 les 3 fonctions coût. Pour toute date t, A calcule S*(t) en ajustant les r i par r i := max(r i,t). Cependant, il n'existe aucune date t pour laquelle S*(t) est un ordonnancement NI-optimal ! Remarque : pour cet exemple, NI = 3. fafa rcrc fcfc rara rbrb temps coût 3 fbfb abc

13 13 fafa rcrc fcfc rara rbrb temps coût 3 fbfb S(3,(a,b,c)) : coût 5 S(3,(a,c,b)) : coût 4 S*(3) = S(3,(a,c,b) ordonnancement non NI de coût 4

14 14 Pour 3 < t < 5 : S*(t) = S(t,(a,c,b)) ordonnancement non NI de coût t+1 fafa rcrc fcfc rara rbrb temps coût 3 fbfb S(t,(a,b,c)) : coût 7t-16 S(t,(a,c,b)) : coût t+1 t

15 15 Pour 5 t < 7 : S*(t) = S(t,(a,c,b)) ordonnancement NI de coût 7t-29 fafa rcrc fcfc rara rbrb temps coût 3 fbfb S(t,(a,b,c)) : coût 7t-16 S(t,(a,c,b)) : coût 7t-29 S(t,(b,a,c)) : coût 7t-15 S(t,(b,c,a)) : coût 7t-23 t

16 16 Pour 7 t : S*(t) = S(t,(c,a,b)) ordonnancement NI de coût 7t-37 fafa rcrc fcfc rara rbrb temps coût 3 fbfb S(t,(a,b,c)) : coût 7t-16 S(t,(a,c,b)) : coût 7t-29 S(t,(b,a,c)) : coût 7t-15 S(t,(b,c,a)) : coût 7t-23 S(t,(c,b,a)) : coût 7t-36 S(t,(c,a,b)) : coût 7t-37 t

17 17 S*(t) est un ordonnancement NI uniquement pour t5. Pour 5t<7, le coût de S*(t) est 7t-29. Pour 7t, le coût de S*(t) est 7t-37. Le meilleur ordonnancement NI que peut trouver A correspond à la date t=5 et son coût est égal à 6. L'ordo NI associé à la séquence (a,b,c) est de coût 5 ! 0 fafa rcrc fcfc rara rbrb temps coût 3 fbfb ordo NI associé à (a,b,c)) : coût 5

18 18 Problème ENI Définition: Un problème possède la propriété «ENI» si toute instance possède un ordonnancement NI-optimal qui commence à la date NI. Motivation: NI est la date minimale à laquelle peut commencer un ordonnancement NI. Dans le cas général : - seules certaines séquences induisent un ordonnancement NI commençant à la date NI ; - la séquence * induisant un ordonnancement NI optimal satisfait NI ( *) > NI. On s'intéresse ici aux problèmes tels que NI ( *) = NI.

19 19 Définition : Un ordonnancement est dit "sans attente" si à tout instant d'une période d'inactivité de la machine, aucune tâche n'est exécutable. 12 r1r1 r2r2 r3r3 3 Un ordonnancement sans attente. r1r1 r2r2 r3r3 123 Un ordonnancement avec attente. Proposition : Si les ordonnancements sans attente sont dominants, alors la propriété ENI est satisfaite.

20 20 Schéma de la preuve : Soit I( NI ) la variante de l'instance I où les dates de disponibilité de I sont modifiées comme suit : r j ( NI ) = max{r j,l j + NI } où l j est la durée d'un plus long chemin de G d'extrémité j. Lemme : Les ordonnancements de I( NI ) sont les ordonnancements de I dont la date de début est supérieure ou égale à NI. Soit S un ordonnancement optimal sans attente de I( NI ) et supposons que S possède un temps-mort [t,u]. S est sans attente et au moins le job 1 est disponible à la date NI. Donc S commence à la date NI.

21 21 Considérons l'ordonnancement NI-optimal associé à la séquence (1,2,...,n) et supposons que k soit le plus petit indice tel que p 1 +p 2 + …+p k > t. Soit Î l'ensemble des tâches exécutées par S dans [ NI,t]. Il existe au moins une tâche i de {1,2,...,k} qui n'appartient pas à Î. Contradiction car la tâche i est disponible à t et l'ordonnancement S est sans attente. S est donc un ordonnancement sans temps-morts.QED. Î NI tu0 S 12 tu0 kk+1n ordo NI-optimal associé à (1,2,..,n)

22 22 Proposition : Si la préemption est autorisée, alors la propriété ENI est satisfaite. Schéma de la preuve : On montre que les ordonnancements sans attente sont dominants. Soit S un ordonnancement optimal et supposons que S possède une période d'attente. Soit [u(S),v(S)] la première période d'attente de S. Il existe une tache i disponible et non terminée à la date u(S). soit i la durée résiduelle de la tâche i à la date u(S).

23 23 Supposons que : i v(S) - u(S) ….. u(S)v(S) riri ordonnancement S S 1 optimal et u(S 1 ) > u(S) ….. riri ordonnancement S 1

24 24 Supposons que : i > v(S) - u(S) ordonnancement S ….. u(S)v(S) riri S 2 optimal et u(S 2 ) > u(S) riri ….. ordonnancement S 2 u(S 2 )

25 25 En itérant la transformation S S 1 ou S S 2 un nombre fini de fois, on obtient un ordonnancement optimal qui est sans attente. Les ordonnancements sans attente sont donc dominants et la propriété ENI est satisfaite.QED. Conséquence: les problèmes suivants : 1,NI | r j,prec,pmtn | f max, 1,NI | r j,pmtn | C j, 1,NI | r j,d i,pmtn | - sont polynomiaux. Pour résoudre chacun de ces problèmes, on applique l'algorithme polynomial de la version classique à l'instance I( NI ).

26 26 Dates critiques d'une instance Soit = (i 1,i 2,…,i n ) une séquence des n tâches. Rappels : NI ( ) est la date de début de l'ordonnancement NI-optimal pour la séquence. NI = NI ((1,2,...,n)) est la date de début minimale d'un ordonnancement NI. Définition : Pour t NI, on note (t) l'ensemble des séquences telles qu'il existe un ordonnancement NI de séquence commençant à t. On a donc : (t) = { | NI ( ) t }.

27 27 Définition : Les dates critiques d'une instance sont les valeurs distinctes de type : r j - P K où j J et K J-{j}. Soit C=(c 1,c 2,…..,c N ) la liste triée des dates critiques. Proposition : (t) est invariant sur chaque intervalle [c k,c k+1 [. Pour c k NI, notons S NI (c k ) le meilleur ordonnancement NI commençant à la date c k. Proposition : Le meilleur ordonnancement S NI (c k ), k {1..N} est un ordonnancement NI-optimal.

28 28 Problèmes à durées égales On suppose que les n tâches ont la même durée p. Le nombre N de dates critiques est alors polynomial : N = O(n 2 ) ; la liste triée C est calculable en O(n 2 log n). 2 cas particuliers polynomiaux : 1)tâches indépendantes; 2)fonction objectif f max.

29 29 Proposition : Si les tâches sont indépendantes, déterminer S NI (c k ) revient à résoudre un problème d'affectation (f j (C j )) ou de bottleneck (f max ). Schéma de la preuve (pour f j (C j )): Si la tâche j est exécutable dans l'intervalle I k q =[c k +(q-1)p, c k +qp], arc (j,I k q ) de coût f j (c k +kq). Calcul de S NI (c k ) pour le cas 1. 12j n Ik1Ik1 Ik2Ik2 IkqIkq IknIkn tâches intervalles f j (c k +kq) La solution (si elle existe) est une affectation de coût minimum.

30 30 Calcul de S NI (c k ) pour le cas 2. Si les tâches sont dépendantes et pour le critère f max, on utilise l'algorithme de Lawler : 1. Exécuter dans le dernier slot I k n la tâche sans successeurs j de coût de terminaison minimum. 2. Exécuter récursivement l'algorithme sur le sous-problème privé de la tâche j. temps j ckck IknIkn 0

31 31 Proposition : A partir du schéma de résolution précédent, on obtient par exemple que les problèmes suivants : 1,NI | r j,p j =p | w j C j ; 1,NI | r j,p j =p | w j U j ; 1,NI | r j,p j =p | T j sont polynomiaux.

32 32 La séquence de Jackson pour 1,NI|r i,q i |C max Définition (rappel) : q i est le "délai de livraison" de la tâche i; Il faut trouver un ordonnancement NI minimisant la plus grande date de livraison Max (C i +q i ). Complexité : 1,NI|r i,q i |C max est NP-complet au sens fort. Séquence de Jackson pour 1|r i,q i |C max (rappel) : Séquence obtenue en exécutant, dès qu'il existe au moins une tâche prête, celle de plus grand q i.

33 33 Propriété de la séquence de Jackson pour 1|r i,q i |C max (Carlier 1984) : Soit C J est le coût de l'ordonnancement de Jackson; Soit C* le coût d'un ordonnancement optimal. Alors on a : C J - C* p max Propriété Soit C NI J est le coût de l'ordonnancement NI associé à la séquence de Jackson de l'instance I( NI ); Soit C NI * le coût d'un ordonnancement NI-optimal. Alors on a : C NI J - C NI * p max

34 34 Schéma de la preuve : Soit J la séquence de Jackson de l'instance I( NI ). 1.On a NI ( J ) = NI (règle de Jackson et NI ((1,2,..,n))= NI ) ; 1.Soit C*(I( NI )) le coût de l'ordonnancement optimal de l'instance I( NI ) ; En appliquant (Carlier 84) à l'instance I( NI ), on a : C NI J - C*(I( NI )) p max ; 3.Comme tous les ordonnancements NI sont des ordonnancements de I( NI ), on a : C*(I( NI )) C NI * QED.

35 35 Ordonnancement sans temps morts sur machines identiques Contrainte (rappel) : Les tâches allouées à chaque machine doivent être exécutées sans temps-mort. 1.Le problème à séquences fixées ; 2.Extension des algorithmes - de Hu pour Pm,NI|p i =1,intree|C max ; - de Coffmann/Graham pour P2,NI|p i =1,prec|C max ; 3.Complexité de Pm,NI|p i =1,prec|Cmax ; 4.Problèmes ouverts

36 36 Le problème à séquences fixées Définition : 1.n tâches (tâche i de durée p i ); 2.graphe de précédence G ; 3.m machines identiques : M 1, M 2,..., M m ; 4.La séquence L(k) = (j 1 k, j 2 k,...,j n(k) k ) des tâches exécutées par la machine M k est fixée. 5. Minimiser C max. Définition (graphe potentiels tâches): Soit GT le graphe obtenu à partir de G comme suit : si les tâches i et j sont consécutives dans une liste L(k) ajouter les arcs suivants : ij pipi -p i

37 37 Propriété (existence d'une solution): Le problème possède une solution si et seulement si le graphe valué GT ne possède pas de circuit strictement positif. Remarque : Une solution (s'il en existe) est entièrement déterminée par les dates de début t k des premières tâches des listes L(k). Notons : P k (r), r=1,2,..,n(k), la somme des durées des r premières tâches de L(k) ; π(i), i=1,2,...,n, le rang de la tâche i dans sa liste.

38 38 Propriété : Soit (i,j) une contrainte de précédence de G. La tâche i occupe la position q dans L(k) ; La tâche j occupe la position r dans L(l) ; Toute solution doit alors vérifier : t l + P l (r-1) t k + P k (q) Définition (graphe potentiels machines) : Soit GM le graphe valué défini par : - les sommets sont les machines ; - il existe un arc (M k,M l ) si G possède au moins un arc (i,j) tel que: - i est une tâche de L(k) - j est une tâche de L(l). La valuation de l'arc (M k,M l ) est alors : Max (i,j) G, j L(l),i L(k) (P l (π(j)-1) - P k (π(i)))

39 39 Propriété (existence d'une solution) : Le problème possède une solution si et seulement si le graphe valué GM ne possède pas de circuit strictement positif. Exemple: une instance à 2 machines et durées unitaires L(1)=(1,3,5,7,8,10,12) et L(2)=(2,4,6,9,11) sont les listes d'un ordonnancement optimal de l'instance relaxée de la contrainte NI. (algo. de Coffman/Graham)

40 L(1)=(1,3,5,7,8,10,12) L(2)=(2,4,6,9,11) M1M2 max(0,0,1,1)=1 max(0,-1,-1,-2)=0 pas de solution NI L'(1)=(1,4,7,5,8,10,12) L'(2)=(2,3,6,9,11) M1M2 max(0,1,0,1,1)=1 max(-1,-1,-2)=

41 41 Extension d'algorithmes classiques 1. Le problème Pm,NI|p i =1,intree|C max Résolu par l'algorithme de Hu en version relaxée de la contrainte NI. Propriété : Si, dans l'algorithme de Hu, on alloue les tâches exécutables de chaque slot aux machines dans l'ordre (M 1,M 2,...,M m ), on obtient un ordonnancement NI-optimal. Preuve : ordo de liste + intree le nombre de tâches exécutées dans le slot t+1 est inférieur ou égal au nombre de tâches exécutées dans le slot t.

42 ordonnancement NI-optimal

43 43 2. Le problème P2,NI|p i =1,prec|C max Résolu par l'algorithme de Coffman/Graham en version relaxée. Propriété (dominance) Il existe un ordonnancement NI-optimal dont la structure est la suivante où : - les tâches bleues sont les ascendants de a dans G ; - les tâches vertes sont les descendants de b dans G ; - l'ordonnancement de C/G du sous-problème classique associé aux tâches rouges n'a pas de temps mort. ab Remarque : Chacun des 3 ensembles de tâches (bleu, rouge, vert) peut éventuellement être vide.

44 44 Preuve : Considérons un ordonnancement NI n'ayant pas la structure "emboîtée". 2 cas possibles :

45 45 Considérons un ordonnancement NI-optimal O1 de structure "emboîtée". Supposons l'ensemble B des tâches bleues non vide. x1x1 abxqxq Si B={a}, ASC(a,G) = {a} et la propriété est vérifiée. Sinon, soit x 1,x 2,..,x q les tâches bleue qui précèdent a sur M 1 ; x 1 est un prédécesseur de a car sinon l'ordonnancement NI O2 suivant est strictement meilleur que O1. x2x2 ab x1x1 xqxq O1 O2

46 46 Supposons que x 1,x 2,...,x p (1p

47 47 Algorithme de résolution de P2,NI|p i =1,prec|C max. Pour toute paire de tâches {a,b} telles que : 1)a n'est pas un descendant de b ; 2)n(a,b) = n-Card(ASC(a,G))-Card(DESC(b,G)) est pair Faire : O(a,b) = ordonnancement de C/G associé au sous-problème {1,2,...,n}\(ASC(a,G) DESC(b,G)) ; Si makespan(O(a,b)) = n(a,b)/2 alors v(a,b)=n(a,b)/2+ Card(ASC(a,G))-Card(DESC(b,G)) sinon v(a,b) = + FinPour ; Retourner l'ordonnancement O(a,b) de v(a,b) minimum Complexité : O(n 4 ).

48 48 2. Le problème P2,NI|p i =1,r i,d i |- Résolu en version relaxée par l'algorithme glouton MD : "Dès qu'une machine est libre, ordonnancer une tâche prête de deadline minimum". Variante de MD : TMD(a 1,a 2,n 1,n 2 ) où : 1.a 1 et a 2 sont du type r j -k (j {1,..,n},0kn) ; 2.n 1 + n 2 = n Propriété (dominance) : Les ordonnancements NI tels que les dates de début a 1 sur M 1 et a 2 sur M 2 sont du type r j -k (j {1,..,n},0kn) sont dominants. Preuve : Si la séquence 1 (resp. 2 ) est exécutée par M 1 (resp. M 2 ) alors l'ordonnancement des tâches de M 1 (resp. M 2 ) peut commencer à NI ( 1 ) (resp. NI ( 1 ))

49 49 Algorithme TMD(a 1,a 2,n 1,n 2 ) : t := a ; R := READY(t) ; Tantque (t < b) et (k(t) Card R) faire début Ordonnancer à t les k(t) tâches de R de deadline min ; t := t + 1; Mettre à jour (R,t) fin ; FinTantque ; Si t=b alors Retourner(vrai) sinon Retourner(faux) 0a 1 +n 1 temps a1a1 a2a2 a 2 +n 2 M1M1 M2M2 On note : a = Min(a 1,a 2 ), b = Max(a 1 +n 1,a 2 +n 2 ), k(t) ( {0,1,2}) le nombre de cellules bleues du slot t.

50 50 Propriété (dominance) : Il existe un ordonnancement NI tel que : - M 1 est active sur [a 1,a 1 +n 1 ] ; - M 2 est active sur [a 2,a 2 +n 2 ] ; si et seulement si TMD(a 1,a 2,n 1,n 2 ) répond "vrai". Algorithme pour P2,NI|p i =1,r i,d i |- : (Réponse = oui) si et seulement si il existe (a 1,a 2,n 1,n 2 ) tel que TMD(a 1,a 2,n 1,n 2 ) répond "vrai". Complexité : O(n 6 ) car O(n 5 ) valeurs possibles de (a 1,a 2,n 1,n 2 ) ;

51 51 Conclusions La contrainte NI ouvre de nombreuses directions de recherche : - au niveau complexité ; - au niveau structure des solutions ; - au niveau résolution algorithmique exacte ou approchée (bornes sup, bornes inf,....). L'existence même de solutions NI pose des problèmes difficiles dans de nombreux cas (problèmes d'ateliers,...). La contrainte NI peut également être assouplie (par exemple coûts associés aux temps-morts). On peut également étudier des problèmes mixtes à machines NI et non-NI.


Télécharger ppt "1 Introduction aux problèmes d'ordonnancement sans temps-morts. Philippe Chrétienne Université Paris 6 Laboratoire LIP6."

Présentations similaires


Annonces Google