1 introduction aux problèmes d'ordonnancement sans temps-morts. philippe chrétienne...

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

Upload: amaline-ferrier

Post on 04-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

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

1

Introduction aux problèmes d'ordonnancement sans temps-morts.

Philippe Chrétienne

Université Paris 6

Laboratoire LIP6

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

2

MotivationEn ordonnancement classique, les coûts imputés auxtemps 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écessairepour utiliser une ressource, interrompre le fonctionnementd'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.

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

3

Un exemple :Une machine, 3 tâches A,B,C de durées unitaires et de dates de disponibilité 1, 3 et 5un critère régulier C1 + C2 + C3

A B C

0 3 5

temps

ordonnancement "sans temps morts" optimal (coût : 15)

4 6

A B C0 1 3 5

temps

ordonnancement "classique" optimal (coût : 12)2 temps-morts : [2,3] et [4,5]

2 4 6

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

4

Le problème d'ordonnancement à une machine sans temps-morts

1. Notations2. Complexité : résultats et conjecture3. La date NI

4. Problème ENI5. Une condition suffisante pour ENI6. La séquence de Jackson pour 1,NI|ri,qi|Max Ci+qi 7. Dates critiques d'une instance8. Le cas de durées égales

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

5

NotationsLa contrainte "sans temps-morts" est signalée par le symbole NI (Non Idling) ajouté dans le premier champ de la notation || (ex: 1,NI|rj,prec,pj=1|∑fj) ;

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é ri :- sont compatibles avec G : (i,j)A rj ≥ ri + pi

- satisfont : r1 ≤ r2 ≤ … ≤ rn ;

La fonction coût à minimiser est du type maxJ fi(Ci) ou ∑J fi(Ci) où les fonctions fi(.) sont croissantes au sens large.

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

6

Ordonnancement NI-optimal associé à une séquenceréalisable (i.e: compatible avec G).

Soit = (i1,i2,…,in) 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..kp(iq) ≥ r(ik+1).

La date de début minimale d'un ordonnancement NI respectant est donc : NI() = Max(0, Maxk=1..n-1(r(ik+1)- ∑q=1..kp(iq))

ini2i1 temps

0 NI()

Cet ordonnancement est NI-optimal à fixé.

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

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 = (i1,i2,…,in) une séquence réalisable telle que:ik = i, ik+1= j et j<i.

inik=ii1 temps

0 NI()

ik+1=j

j<i rj ≤ ri (i,j) G ;On peut donc échanger les tâches i et j.

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

8

tempsinik+1=ji10 NI()

ik=i

Soit ' la séquence réalisable (i1,..,ik-1, ik+1, ik-1,ik+2,…,in).

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.

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

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 | rj | Lmax est NP-difficile ;1,NI | rj |∑Cj 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.

D1 D2 D3

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

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 classiquepeut ê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.

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

11

tâches a b c

pi 2 3 2

ri 0 5 7

fi(t) 0 si 2≤t≤5

t-5 sinon

t-8 5(t-9)

Exemple

Minimiser fa(Ca) + fb(Cb) + fc(Cc)

Supposons que A soit un algorithme résolvantle problème 1 | ri | ∑fi(Ci)

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.

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

12

les 3 fonctions coût.

Pour toute date t, A calcule S*(t) en ajustant les ri par ri := max(ri,t) .

Cependant, il n'existe aucune date t pour laquelle S*(t)est un ordonnancement NI-optimal !

Remarque : pour cet exemple, NI = 3.

fa

rc

fc

0 5 8 97 10 12

ra rbtemps

coût

3

fb

a b c

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

13

fa

rc

fc

0 5 8 97 10 12

ra rbtemps

coût

3

fb

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

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

14

Pour 3 < t < 5 :S*(t) = S(t,(a,c,b)) ordonnancement non NI de coût t+1

fa

rc

fc

0 5 8 97 10 12

ra rbtemps

coût

3

fb

S(t,(a,b,c)) : coût 7t-16

S(t,(a,c,b)) : coût t+1

t

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

15

Pour 5 ≤ t < 7 :S*(t) = S(t,(a,c,b)) ordonnancement NI de coût 7t-29

fa

rc

fc

0 5 8 97 10 12

ra rbtemps

coût

3

fb

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

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

16

Pour 7 ≤ t :S*(t) = S(t,(c,a,b)) ordonnancement NI de coût 7t-37

fa

rc

fc

0 5 97 10 12

ra rbtemps

coût

3

fb

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

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

17

S*(t) est un ordonnancement NI uniquement pour t≥5.Pour 5≤t<7, le coût de S*(t) est 7t-29.Pour 7≤t, le coût de S*(t) est 7t-37.

Le meilleur ordonnancement NI que peut trouver Acorrespond à 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

fa

rc

fc

5 8 97 10 12

ra rbtemps

coût

3

fb

ordo NI associé à (a,b,c)) : coût 5

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

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 .

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

19

Définition :Un ordonnancement est dit "sans attente" si à tout instantd'une période d'inactivité de la machine, aucune tâche n'est exécutable.

1 2

r1 r2 r3

3Un ordonnancement sans attente.

r1 r2 r3

12 3Un ordonnancement avec attente.

Proposition :Si les ordonnancements sans attente sont dominants, alors la propriété ENI est satisfaite.

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

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 : rj(NI) = max{rj,lj+ NI}où lj 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.

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

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 p1+p2+ …+pk > 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} quin'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 t u0S

1 2

NI t u0k k+1 n

ordo NI-optimalassocié à(1,2,..,n)

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

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).

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

23

Supposons que : i ≤ v(S) - u(S)

…..

u(S) v(S)ri

ordonnancement S

S1 optimal et u(S1) > u(S)

…..

ri

ordonnancement S1

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

24

Supposons que : i > v(S) - u(S)

ordonnancement S

…..

u(S) v(S)ri

S2 optimal et u(S2) > u(S)

ri

…..

ordonnancement S2

u(S2)

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

25

En itérant la transformation SS1ou SS2 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 | rj,prec,pmtn | fmax ,1,NI | rj,pmtn | ∑Cj ,1,NI | rj,di,pmtn | - sont polynomiaux.

Pour résoudre chacun de ces problèmes, on applique l'algorithme polynomial de la version classique à l'instance I(NI).

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

26

Dates critiques d'une instance

Soit = (i1,i2,…,in) une séquence des n tâches.

Rappels :NI() est la date de début de l'ordonnancement NI-optimalpour 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 }.

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

27

Définition :Les dates critiques d'une instance sont les valeurs distinctesde type :

rj - PK où jJ et KJ-{j}.

Soit C=(c1,c2,…..,cN) la liste triée des dates critiques.

Proposition :∑(t) est invariant sur chaque intervalle [ck,ck+1[.

Pour ck ≥ NI, notons SNI(ck) le meilleur ordonnancement NI commençant à la date ck.

Proposition :Le meilleur ordonnancement SNI(ck), k{1..N} est un ordonnancement NI-optimal.

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

28

Problèmes à durées égalesOn suppose que les n tâches ont la même durée p.

Le nombre N de dates critiques est alors polynomial :N = O(n2) ;la liste triée C est calculable en O(n2log n).

2 cas particuliers polynomiaux :1) tâches indépendantes;2) fonction objectif fmax.

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

29

Proposition :Si les tâches sont indépendantes, déterminer SNI(ck) revient à résoudre un problème d'affectation (∑fj(Cj))ou de bottleneck (fmax).

Schéma de la preuve (pour ∑fj(Cj)):Si la tâche j est exécutable dans l'intervalle Ik

q=[ck+(q-1)p, ck+qp],arc (j,Ik

q) de coût fj(ck+kq).

Calcul de SNI(ck) pour le cas 1.

1 2 j n

Ik1 Ik

2 Ikq Ik

n

tâches

intervalles

fj(ck+kq)

La solution (si elle existe) est une affectation de coût minimum.

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

30

Calcul de SNI(ck) pour le cas 2.

Si les tâches sont dépendantes et pour le critère fmax, on utilise l'algorithme de Lawler :1. Exécuter dans le dernier slot Ik

n la tâche sans successeursj de coût de terminaison minimum. 2. Exécuter récursivement l'algorithme sur le sous-problème privé de la tâche j.

tempsj

ck Ikn

0

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

31

Proposition :A partir du schéma de résolution précédent, on obtient par exemple que les problèmes suivants :

1,NI | rj,pj=p | ∑wjCj ;1,NI | rj,pj=p | ∑wjUj;1,NI | rj,pj=p | ∑Tj

sont polynomiaux.

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

32

La séquence de Jackson pour 1,NI|ri,qi|Cmax

Définition (rappel) :qi est le "délai de livraison" de la tâche i;Il faut trouver un ordonnancement NI minimisant la plusgrande date de livraison Max (Ci+qi). Complexité :1,NI|ri,qi|Cmax est NP-complet au sens fort.

Séquence de Jackson pour 1|ri,qi|Cmax(rappel) :Séquence obtenue en exécutant, dès qu'il existe au moins une tâche prête, celle de plus grand qi.

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

33

Propriété de la séquence de Jackson pour 1|ri,qi|Cmax

(Carlier 1984) :

Soit CJ est le coût de l'ordonnancement de Jackson;Soit C* le coût d'un ordonnancement optimal.Alors on a : CJ - C* ≤ pmax

PropriétéSoit CNI

J est le coût de l'ordonnancement NI associé à laséquence de Jackson de l'instance I(NI);Soit CNI* le coût d'un ordonnancement NI-optimal.Alors on a : CNI

J - CNI* ≤ pmax

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

34

Schéma de la preuve :Soit J la séquence de Jackson de l'instance I(NI).

• On a NI(J) = NI

(règle de Jackson et NI((1,2,..,n))= NI) ;• 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 :CNI

J - C*(I(NI)) ≤ pmax ;• Comme tous les ordonnancements NI sont des

ordonnancements de I(NI), on a :C*(I(NI)) ≤ CNI* QED.

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

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|pi=1,intree|Cmax ; - de Coffmann/Graham pour P2,NI|pi=1,prec|Cmax ;

• Complexité de Pm,NI|pi=1,prec|Cmax ;• Problèmes ouverts

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

36

Le problème à séquences fixées

Définition :1. n tâches (tâche i de durée pi);2. graphe de précédence G ; 3. m machines identiques : M1, M2, ..., Mm ; 4. La séquence L(k) = (j1k, j2k,...,jn(k)

k) des tâches exécutées par la machine Mk est fixée.

5. Minimiser Cmax.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 :

i j

pi

-pi

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

37

Propriété (existence d'une solution):Le problème possède une solution si et seulement si legraphe 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 tk des premières tâches des listes L(k).

Notons :Pk(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.

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

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 : tl + Pl(r-1) ≥ tk + Pk(q)

Définition (graphe potentiels machines) :Soit GM le graphe valué défini par :- les sommets sont les machines ;- il existe un arc (Mk,Ml) 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 (Mk,Ml) est alors : Max(i,j)G, j L(l),i L(k)(Pl(π(j)-1) - Pk(π(i)))

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

39

Propriété (existence d'une solution) :Le problème possède une solution si et seulement si legraphe valué GM ne possède pas de circuit strictement positif.

Exemple: une instance à 2 machines et durées unitaires.

1 42

3

65 7

9 8

12 11 10

L(1)=(1,3,5,7,8,10,12) etL(2)=(2,4,6,9,11) sont les listes d'un ordonnancementoptimal de l'instance relaxée de la contrainte NI. (algo. de Coffman/Graham)

1 3 5 7 8 10122 4 6 9 11

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

40

1 42

3

65 7

9 8

12 11 10

L(1)=(1,3,5,7,8,10,12)L(2)=(2,4,6,9,11)

M1 M2max(0,0,1,1)=1

max(0,-1,-1,-2)=0

pas de solution NI

1 42

3

65 7

9 8

12 11 10

L'(1)=(1,4,7,5,8,10,12)L'(2)=(2,3,6,9,11)

M1 M2max(0,1,0,1,1)=1

max(-1,-1,-2)=-1

1 4 7 5 8 10 122 3 6 9 11

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

41

Extension d'algorithmes classiques

1. Le problème Pm,NI|pi=1,intree|Cmax

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 (M1,M2,...,Mm), 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érieurou égal au nombre de tâches exécutées dans le slot t.

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

42

1 42

5

7 6

8

3

1 4 6 823

5 7

ordonnancement NI-optimal

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

43

2. Le problème P2,NI|pi=1,prec|Cmax

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.

a b

Remarque :Chacun des 3 ensembles de tâches (bleu, rouge, vert)peut éventuellement être vide.

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

44

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

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

45

Considérons un ordonnancement NI-optimal O1 de structure "emboîtée".Supposons l'ensemble B des tâches bleues non vide.

x1 a bxq

Si B={a}, ASC(a,G) = {a} et la propriété est vérifiée.Sinon, soit x1,x2,..,xq les tâches bleue qui précèdent a sur M1;x1 est un prédécesseur de a car sinon l'ordonnancement NIO2 suivant est strictement meilleur que O1.

x2 a bx1

xq

O1

O2

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

46

Supposons que x1,x2,...,xp (1≤p<q) soient des ascendants de a dans G.

xp+1 xp x1 a bxq

Si xp+1 ASC(a,G) alors l'ordonnancement O3 suivant est strictement meilleur que O1.

xp+1

xp x1 a bxq

O1

O3

L'ensemble des tâches bleues est donc égal à ASC(a,G)Un raisonnement identique montre que l'ensemble des tâches vertes est égal à DESC(b,G). QED

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

47

Algorithme de résolution de P2,NI|pi=1,prec|Cmax.

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(n4).

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

48

2. Le problème P2,NI|pi=1,ri,di|-Résolu en version relaxée par l'algorithme glouton MD :"Dès qu'une machine est libre, ordonnancer une tâche prêtede deadline minimum".

Variante de MD : TMD(a1,a2,n1,n2) où :• a1 et a2 sont du type rj-k (j{1,..,n},0≤k≤n) ;• n1 + n2 = n

Propriété (dominance) :Les ordonnancements NI tels que les dates de début a1 sur M1 et a2 sur M2 sont du type rj-k (j{1,..,n},0≤k≤n) sont dominants.Preuve :Si la séquence 1 (resp. 2) est exécutée par M1 (resp. M2)alors l'ordonnancement des tâches de M1 (resp. M2) peut commencer à NI(1) (resp. NI(1))

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

49

Algorithme TMD(a1,a2,n1,n2) :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)

0 a1+n1

temps

a1 a2 a2+n2

M1

M2

On note :a = Min(a1,a2), b = Max(a1+n1,a2+n2),k(t) ({0,1,2}) le nombre de cellules bleues du slot t.

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

50

Propriété (dominance) :Il existe un ordonnancement NI tel que :- M1 est active sur [a1,a1+n1] ;- M2 est active sur [a2,a2+n2] ;si et seulement si TMD(a1,a2,n1,n2) répond "vrai".

Algorithme pour P2,NI|pi=1,ri,di|- :

(Réponse = oui) si et seulement si il existe (a1,a2,n1,n2) tel que TMD(a1,a2,n1,n2) répond "vrai".

Complexité : O(n6) car O(n5) valeurs possibles de (a1,a2,n1,n2) ;

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

51

ConclusionsLa 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.