Title: Introduction aux probl
1Introduction aux problèmes d'ordonnancement sans
temps-morts.
- Philippe Chrétienne
- Université Paris 6
- Laboratoire LIP6
2Motivation
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.
3Un 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 C1 C2 C3
temps
A
B
C
3
5
4
6
0
ordonnancement "sans temps morts" optimal (coût
15)
4Le problème d'ordonnancement à une machine sans
temps-morts
- Notations
- Complexité résultats et conjecture
- La date ?NI
- Problème ENI
- Une condition suffisante pour ENI
- La séquence de Jackson pour 1,NIri,qiMax Ciqi
- Dates critiques d'une instance
- Le cas de durées égales
5Notations
La contrainte "sans temps-morts" est signalée
par le symbole NI (Non Idling) ajouté dans le
premier champ de la notation ??? (ex
1,NIrj,prec,pj1?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.
6Ordonnancement NI-optimal associé à une
séquence ré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 ?k1..n-1 t?q1..kp(iq)
r(ik1). La date de début minimale d'un
ordonnancement NI respectant ? est donc
?NI(?) Max(0, Maxk1..n-1(r(ik1)-
?q1..kp(iq))
Cet ordonnancement est NI-optimal à ? fixé.
7La 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, ik1 j et jlti.
jlti ? rj ri ? (i,j) ? G On peut donc échanger
les tâches i et j.
8Soit ?' la séquence réalisable (i1,..,ik-1,
ik1, ik-1,ik2,,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.
9Complexitérésultats et conjecture
10Conjecture 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.
11Supposons que A soit un algorithme résolvant le
problème 1 ri ?fi(Ci)
Exemple
tâches a b c
pi 2 3 2
ri 0 5 7
fi(t) 0 si 2t5 t-5 sinon t-8 5(t-9)
Minimiser fa(Ca) fb(Cb) fc(Cc)
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.
12les 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.
13S(3) S(3,(a,c,b) ordonnancement non NI de
coût 4
14Pour 3 lt t lt 5 S(t) S(t,(a,c,b))
ordonnancement non NI de coût t1
15Pour 5 t lt 7 S(t) S(t,(a,c,b))
ordonnancement NI de coût 7t-29
16Pour 7 t S(t) S(t,(c,a,b)) ordonnancement
NI de coût 7t-37
17S(t) est un ordonnancement NI uniquement pour
t5. Pour 5tlt7, 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 t5 et son coût est égal à 6. L'ordo NI
associé à la séquence (a,b,c) est de coût 5 !
18Problème ENI
- 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(?) gt ?NI .
- On s'intéresse ici aux problèmes tels que ?NI(?)
?NI .
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.
19Proposition Si les ordonnancements sans attente
sont dominants, alors la propriété ENI est
satisfaite.
20Sché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) maxrj,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.
21ordo NI-optimal associé à (1,2,..,n)
- Considérons l'ordonnancement NI-optimal associé à
la - séquence (1,2,...,n) et supposons que k soit le
plus petit - indice tel que p1p2 pk gt 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.
22Proposition 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).
23Supposons que ?i v(S) - u(S)
ordonnancement S
24Supposons que ?i gt v(S) - u(S)
25En itérant la transformation S?S1ou S?S2 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).
26Dates 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-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 .
27Définition Les dates critiques d'une instance
sont les valeurs distinctes de type rj -
PK où j?J et K?J-j.
Soit C(c1,c2,..,cN) la liste triée des dates
critiques.
Proposition ?(t) est invariant sur chaque
intervalle ck,ck1.
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.
28Problè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(n2) la liste triée C est
calculable en O(n2log n).
- 2 cas particuliers polynomiaux
- tâches indépendantes
- fonction objectif fmax.
29Calcul de SNI(ck) pour le cas 1.
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
Ikqck(q-1)p, ckqp, arc (j,Ikq) de coût
fj(ckkq).
La solution (si elle existe) est une affectation
de coût minimum.
30Calcul 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 Ikn 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.
31Proposition A partir du schéma de résolution
précédent, on obtient par exemple que les
problèmes suivants 1,NI rj,pjp ?wjCj
1,NI rj,pjp ?wjUj 1,NI rj,pjp
?Tj sont polynomiaux.
32La séquence de Jackson pour 1,NIri,qiCmax
Définition (rappel) qi 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 (Ciqi).
Complexité 1,NIri,qiCmax est NP-complet au
sens fort.
Séquence de Jackson pour 1ri,qiCmax(rappel)
Séquence obtenue en exécutant, dès qu'il existe
au moins une tâche prête, celle de plus grand qi.
33Propriété de la séquence de Jackson pour
1ri,qiCmax (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 CNIJ est le coût de
l'ordonnancement NI associé à la séquence de
Jackson de l'instance I(?NI) Soit CNI le coût
d'un ordonnancement NI-optimal. Alors on a CNIJ
- CNI pmax
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 - CNIJ - C(I(?NI)) pmax
- Comme tous les ordonnancements NI sont des
- ordonnancements de I(?NI), on a
- C(I(?NI)) CNI QED.
35Ordonnancement sans temps morts sur machines
identiques
Contrainte (rappel) Les tâches allouées à
chaque machine doivent être exécutées sans
temps-mort.
- Le problème à séquences fixées
- Extension des algorithmes
- - de Hu pour Pm,NIpi1,intreeCmax
- - de Coffmann/Graham pour P2,NIpi1,precCmax
- Complexité de Pm,NIpi1,precCmax
- Problèmes ouverts
36Le problème à séquences fixées
- Définition
- n tâches (tâche i de durée pi)
- graphe de précédence G
- m machines identiques M1, M2, ..., Mm
- 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
37Proprié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 tk
des premières tâches des listes L(k).
Notons Pk(r), r1,2,..,n(k), la somme des
durées des r premières tâches de L(k) p(i),
i1,2,...,n, le rang de la tâche i dans sa liste.
38Proprié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(p(j)-1) -
Pk(p(i)))
39Proprié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)
401
4
2
3
7
6
5
9
8
12
10
11
L'(1)(1,4,7,5,8,10,12) L'(2)(2,3,6,9,11)
pas de solution NI
41Extension d'algorithmes classiques
1. Le problème Pm,NIpi1,intreeCmax 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 t1 est inférieur ou égal au nombre
de tâches exécutées dans le slot t.
42(No Transcript)
432. Le problème P2,NIpi1,precCmax 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.
Remarque Chacun des 3 ensembles de tâches
(bleu, rouge, vert) peut éventuellement être vide.
44Preuve Considérons un ordonnancement NI n'ayant
pas la structure "emboîtée". 2 cas possibles
45Considérons un ordonnancement NI-optimal O1 de
structure "emboîtée". Supposons l'ensemble B des
tâches bleues non vide.
O1
Si Ba, 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
NI O2 suivant est strictement meilleur que O1.
x2
a
b
xq
O2
x1
46Supposons que x1,x2,...,xp (1pltq) soient des
ascendants de a dans G.
O1
Si xp1 ? ASC(a,G) alors l'ordonnancement O3
suivant est strictement meilleur que O1.
O3
xp
x1
a
b
xq
xp1
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
47Algorithme de résolution de P2,NIpi1,precCmax.
- Pour toute paire de tâches a,b telles que
- a n'est pas un descendant de b
- 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).
482. Le problème P2,NIpi1,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ête de deadline minimum".
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,0kn) 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))
- Variante de MD
- TMD(a1,a2,n1,n2) où
- a1 et a2 sont du type rj-k (j?1,..,n,0kn)
- n1 n2 n
49On note a Min(a1,a2), b Max(a1n1,a2n2), k(
t) (?0,1,2) le nombre de cellules bleues du
slot t.
Algorithme TMD(a1,a2,n1,n2) t a R
READY(t) Tantque (t lt 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 tb alors Retourner(vrai) sinon
Retourner(faux)
50- Propriété (dominance)
- Il existe un ordonnancement NI tel que
- M1 est active sur a1,a1n1
- M2 est active sur a2,a2n2
- si et seulement si TMD(a1,a2,n1,n2) répond
"vrai".
Algorithme pour P2,NIpi1,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)
51Conclusions
- 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.
-