New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014....

51

Transcript of New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014....

Page 1: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Introdu tion à l'ordonnan ement de tâ hesChristian ArtiguesLAAS-CNRS20 avril 2009Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 1 / 51

Page 2: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

1 Introdu tion2 Le problème entral de l'ordonnan ement3 Classi� ation des problèmes d'ordonnan ement4 Fon tions obje tif régulières et ordonnan ements dominants5 Problèmes à une ma hine6 Problèmes à ma hines parallèles7 Problèmes d'atelier8 Problèmes d'ordonnan ement de projet ave ontraintes de ressour esChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 2 / 51

Page 3: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

L'ordonnan ement de tâ hesDé�nition informelleOrdonnan er 'est organiser dans le temps l'exé ution d'un ensemble detâ hes soumises à des ontraintes de temps et de ressour es a�nd'optimiser un obje tif.

Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 3 / 51

Page 4: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Types de problèmes d'ordonnan ementOrdonnan ement statique/dynamiqueLorsque les données d'un problème d'ordonnan ement sont onnues àl'avan e on parle de problème statique. Si les données apparaissent au ours du temps on parle de problème dynamique.Ordonnan ement déterministe/sto hastiqueSi à partir du moment où la donnée est onnue, elle l'est ave ertitude onparle de problème déterministe, sinon on parle de problème sto hastique eton peut modéliser les données par des variables aléatoires ou tout autrereprésentation de l'in ertain (intervalles, ...).Ordonnan ement a y lique/ y liqueLorsque les tâ hes à ordonnan er doivent être répétées indé�niment onparle de problème y lique. Sinon, on parle de problème a y lique.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 4 / 51

Page 5: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Ordonnan ement a y lique, statique et déterministeUn problème d'ordonnan ement a y lique, statique et déterministe est unproblème d'optimisation ombinatoire.Optimisation ombinatoireEtant donnés :Un ensemble dis ret N,une fon tion d'ensemble f : 2N → R,un ensemble R ⊆ N de sous ensembles de N appelés solutionsréalisables,un problème d'optimisation ombinatoire onsiste à déterminer :minS⊆N{f (S) : S ∈ R}Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 5 / 51

Page 6: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Comment résoudre un problème d'ordonnan ementS héma lassique de résolution des problèmes d'optimisation ombinatoireDétermination de la omplexitéTrouver un algorithme polynomial en fon tion de la taille de l'entrée,ou bienMontrer que le problème est NP-di� ileRésolution d'un problème NP-di� ileSi NP-di� ile au sens faible, il existe un algorithme pseudo-polynomial(polynomial pour un odage unaire de l'entrée)Si NP-di� ile au sens fort ou si algorithme pseudopolynomial nonutilisable en pratique :Méthodes exa tes (programmation linéaire en nombres entiers,programmation dynamique, pro édure de séparation et d'évaluation) ouappro hées (heuristiques, metaheuristiques).Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 6 / 51

Page 7: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Appli ations industrielles 1/4Ordonnan ement de la produ tion

Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 7 / 51

Page 8: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Appli ations industrielles 2/4Ordonnan ement des servi es

Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 8 / 51

Page 9: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Appli ations industrielles 3/4Ordonnan ement de projet

Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 9 / 51

Page 10: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Appli ations industrielles 4/4Ordonnan ement de tâ hes informatiques

Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 10 / 51

Page 11: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Dé�nition du problème entral de l'ordonnan ement 1/3Données du problèmeSoit un ensemble de tâ hes T = {1, . . . , n}, haque tâ he i ∈ T étant ara térisée parsa durée pi ∈ R,sa date de lan ement ri ∈ R,sa date d'é héan e d̃i ∈ R,un ensemble de su esseurs σ(i) et pour haque su esseur j ∈ σ(i),un délai lij ∈ R. i pi ri d̃i σ(i) lij , j ∈ σ(i)1 6 0 +∞ 2 12 4 0 +∞ 1 −33 2 0 3 4, 5 2, 24 4 0 +∞ 3 −45 2 8 +∞ 4 −5Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 11 / 51

Page 12: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Dé�nition du problème entral de l'ordonnan ement 2/3Ordonnan ement réalisableAppli ation S : T → R+ (Si date de début de la tâ he i) véri�ant :ri ≤ Si ≤ d̃i − pi ,pour haque su esseur j ∈ σ(i), Sj ≥ Si + lijSoit S l'ensemble des ordonnan ements réalisables.Les deux types de ontraintes de su ession :

ti≥ lij as lij ≥ 0 Si Sj j i≤ |lij |Sj Si as lij ≤ 0 jtChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 12 / 51

Page 13: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Dé�nition du problème entral de l'ordonnan ement 3/3Problème entral de l'ordonnan ement (PCO)Trouver un ordonnan ement réalisable S ∈ S de durée totaleCmax = maxi∈T (Si + pi ) minimale.i pi ri d̃i σ(i) lij , j ∈ σ(i)1 6 0 +∞ 2 12 4 0 +∞ 1 −33 2 0 3 4, 5 2, 24 4 0 +∞ 3 −45 2 8 +∞ 4 −5 10

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 13 / 51

Page 14: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problème de potentiels sur un graphe orienté et valuéDé�nition du graphe G (V ,E , δ)un ensemble de sommets V ,un ensemble d'ar s E ,une fon tion de valuation des ar s δ : E → R,Potentiel sur le grapheUne fon tion π : T → R est un potentiel sur G si pour tout ar

(i , j) ∈ E , πj ≥ πi + δijSoit Π l'ensemble des potentiels.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 14 / 51

Page 15: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Equivalen e entre potentiels et ordonnan ement 1/2Transformation du PCO en graphe potentiels-tâ hesun ensemble de sommets V = {0, 1, . . . , n, n + 1},un ensemble d'ar sE = {(i , j)|i ∈ T , j ∈ σ(i)} ∪ {(0, i)|i ∈ T} ∪ {(i , n + 1)|i ∈ T},une fon tion de valuation des ar s δ : E → R :δij = lij , ∀i ∈ T , j ∈ σ(i),δ0i = ri , ∀i ∈ Tδi0 = pi − d̃i , ∀i ∈ Tδi ,n+1 = pi , ∀i ∈ Ti pi ri d̃i σ(i) lij , j ∈ σ(i)1 6 6 +∞ 2 12 4 0 +∞ 1 −33 2 0 3 4, 5 2, 24 4 0 +∞ 3 −45 2 8 +∞ 4 −5 0

1

−30

4

8

2 −5

62

0

−1

2

−44

1

4 6

5

2

3Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 15 / 51

Page 16: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Equivalen e entre potentiels et ordonnan ement 2/2ThéorèmeS = ∅ si et seulement si Π = ∅ et il existe une bije tion entre l'ensembledes ordonnan ement réalisables S et l'ensemble des potentiels positifsrestreints à T .On a Si = πi , ∀i ∈ T . On pose S0 = π0 et Sn+1 = πn+1. On aCmax = Sn+1.Dé�nitionsParmi les ordonnan ements optimaux, on distingue :l'ordonnan ement au plus tot ES tel que ESi ≤ Si , ∀i ∈ V , ∀S ∈ S.l'ordonnan ement au plus tard LS tel que LSi ≥ Si , ∀i ∈ V ,

∀S ∈ {S ′ ∈ S|S ′n+1 = ESn+1}Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 16 / 51

Page 17: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Résolution du Problème entral de l'ordonnan ementExisten e d'un ordonnan ement réalisableS = ∅ si et seulement si il existe un ir uit de longueur positive dans GOrdonnan ement au plus t�t (plus petit potentiel positif)Si S 6= ∅, alors ESi est égal à la longueur du plus long hemin de 0 à i dansG , pour tout i ∈ V .Ordonnan ement au plus tard (plus grand potentiel tq Sn+1 = ESn+1)Si S 6= ∅, alors LSi est égal à ESn+1 moins la longueur du plus long heminde i à n + 1 dans G , pour tout i ∈ V .ComplexitéL'existen e, l'ordonnan ement au plus t�t et l'ordonnan ement au plus tardpeuvent être obtenus en O(n3) par l'algorithme de �oyd-warshall qui al ule les plus long hemins entre toute paire de somments dans G .Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 17 / 51

Page 18: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Résolution de l'exempleOrdonnan ement au plus t�t et plus longs hemins orrespondants10

1

−30

4

8

2 −5

62

0

−1

2

−44

1

4 6

5

2

30

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9Ordonnan ement au plus tard et plus longs hemins orrespondants10

1

−30

4

8

2 −5

62

0

−1

2

−44

1

4 6

5

2

30

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 18 / 51

Page 19: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Classi� ation des problèmes d'ordonnan ementLa notation α|β|γ

α dé rit le type de ressour es et leur organisationα = 1 : problème à une ma hineα = P : problèmes à ma hines parallèlesα = F : problème d'atelier (�ow-shop)α = J : problème d'atelier (job-shop)α = PS : problème à ressour es umulatives (ou dis rètes)

β pré ise les ara téristiques des tâ hespmtn ∈ β : possibilité de préemption (interruption et reprise des tâ hes)ri ∈ β : problème ave dates de disponibilitésd̃i ∈ β : problème ave deadlinespi = 1 ∈ β : problème à durées unitairespre ∈ β : problème à ontraintes de pré éden e simples (lij = pi )temp ∈ β : problème à ontraintes de pré éden e généraliséesγ dé rit la fon tion obje tifChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 19 / 51

Page 20: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Types usuels de ressour esMa hine unique ou ressour e disjon tive α = 1, ou J ou FChaque tâ he i est exé utée par une ma hine pré ise miUne ma hine ne peut exé uter qu'une tâ he à la foisMa hines parallèles α = PChaque tâ he peut être exé utée par une des ma hinesUne ma hine ne peut exé uter qu'une tâ he à la foisRessour es umulatives ou dis rètes α = PSChaque tâ he utilise bik unités de la ressour e kUne ressour e k est disponble à haque instant en Bk unitésressource cumulative

1

2 34

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

1 2 3

2

1

3 21

3machine unique

machines parallèlesChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 20 / 51

Page 21: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Fon tions obje tif usuellesMaximum ou d'une somme de fon tions élémentairesLa fon tion obje tif est souvent une omposition de fon tions élémentairesfi des dates de �n des tâ hes Ci = Si + pi . On noteγ = fmax pour minimiser maxi∈T fi(Ci )γ =

∑ fi pour minimiser ∑i∈T fi(Ci )γ =

∑wi fi pour minimiser ∑i∈T wi fi(Ci ) (wi poids de la tâ he i)Quelques fon tions élémentaires � (di date de livraison prévue)Date de �n fi = CiRetard algébrique fi = Li = Ci − diAvan e fi = Ei = max(0, di − Ci )Retard vrai fi = Ti = max(0,Ci − di )Indi ateur de retard fi = Ui =

{ 0 si Ci ≤ di1 sinonChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 21 / 51

Page 22: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Types d'ordonnan ementsOrdonnan ements a tifsUn ordonnan ement S est a tif si pour toute tâ he i et tout réel d > 0 iln'xiste pas d'ordonnan ement réalisable S ′ tel que S ′i = Si − d et S ′j = Sj ,j 6= i . Soit Sa l'ensemble des ordonnan ements a tifs.Ordonnan ements semi-a tif (au plus t�t)Un ordonnan ement S est a tif si pour toute tâ he i et tout réel d > 0 iln'existe pas d'ordonnan ement réalisable S ′ et de réel ǫ ≤ d tel queS ′i = Si − ǫ et S ′j = Sj , j 6= i . Soit Ssa l'ensemble des ordonnan ementssemi-a tifs.Remarque. Soit Sa (resp. Ssa) l'ensemble des ordonnan ements a tifs(resp. semi-a tifs). On a Sa ⊆ Ssa ⊆ S.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 22 / 51

Page 23: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Exemple d'ordonnan ements a tifs et semi a tifs0 1 2 3 4 5 6 7

1 2 3

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

1 2 3

8

1 3 2

3

1 3 2

2 1

machine unique

0 1 2 3 4 5 6 7

2

1

3

0 1 2 3 4 5 6 7

4

2 3 1

0 1 2 3 4 5 6 7

4

2 3

1

0 1 2 3 4 5 6 7

4

machines parallèles

2 3

14

1

2 34

1

2 34

43

Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 23 / 51

Page 24: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Exemple d'ordonnan ements a tifs et semi a tifs

non actif

0 1 2 3 4 5 6 7

1 2 3

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

1 2 3

8

1 3 2

3

1 3 2

2 1

machine unique

0 1 2 3 4 5 6 7

2

1

3

0 1 2 3 4 5 6 7

4

2 3 1

0 1 2 3 4 5 6 7

4

2 3

1

0 1 2 3 4 5 6 7

4

machines parallèles

2 3

14

1

2 34

1

2 34

43

actif

réalisablenon semi−actif

actif

semi−actifnon actif

non réalisable!

actif

réalisablenon semi−actif

non semi−actifréalisable

selon la définition

semi−actifChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 24 / 51

Page 25: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

fon tion obje tif régulière et ordonnan ements dominantsfon tion régulièreUne fon tion fi régulière est non dé roissante en fon tion des dates de �nCi = Si + pi . Ci , Li , Ti Ui sont régulières mais pas Ei .fon tion obje tif régulièreγ = fmax, ∑ fi ou ∑wi fi ave fi régulière.ThéorèmeLes ordonnan ements a tifs (resp. semi-a tifs) sont dominants pour toutefon tion obje tif régulière : il existe un ordonnan ement (resp. semi-a tifs)optimal.Intérêt : diminution de l'espa e de re her he.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 25 / 51

Page 26: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problèmes à une ma hineExemples de problèmes de minimisation polynomiauxPlus grand retardPlus grand retard ave préemption, dates de lan ement et pré éden esFon tion régulière de type maximum ave préemption et pré éden esSomme pondérée des dates de �nSomme des dates de �n ave préemption et dates de lan ementNombre de tâ hes en retardFon tion régulière de type somme ave durées unitaires et dates delan ementExemples de problèmes de minimisation NP-di� ilesNombre pondéré de tâ hes en retardPlus grand retard ave dates de lan ementChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 26 / 51

Page 27: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Plus grand retard 1| − |LmaxDé�nitionOrdonnan er un ensemble de tâ hes dé�nies par leurs durées pi et leursdates de livraison di sur une ma hine en minimisant le plus grand retardLmax = maxi∈T (Ci − di ).Résolution (Règle de Ja kson, 1955)Ordonnan er les tâ hes dans l'ordre des dates de livraison roissante(O(n log n))preuve d'optimalité par argument d'é hangei pi di1 5 172 3 73 6 224 4 65 5 10 d30 2 4 6 8 10 12 14 18 20 22164 2 5 1 3d4 d2 d5 d1Lmax = 2Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 27 / 51

Page 28: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Plus grand retard ave préemption, dates de lan ement etpré éden es 1|pre , pmtn, ri|Lmax (1/2)Dé�nitionOrdonnan er un ensemble de tâ hes dé�nies par des durées pi , des dates delan ement ri , des dates de livraison di , des ontraintes de pré éden esimples (graphe G (V ,E )), sur une ma hine en minimisant le plus grandretard Lmax = maxi∈T (Ci − di ) ave préemption autorisée.Modi� ation des dates de lan ement et de livraison O(n + |E |)Les dates de lan ement et de livraison peuvent être mises à jour en utilisantles ontraintes de pré éden e omme suit :r ′i = max(ri , maxi∈σ−(i)(r ′i + pi )) d ′i = min(di , mini∈σ(i)(d ′j − pj ))où σ−(i) (σ(i)) désignent les prédé esseurs (su esseurs) de i .Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 28 / 51

Page 29: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Plus grand retard ave préemption dates de lan ement etpré éden es 1|pre , pmtn, ri|Lmax 1|pre , pmtn, ri|Lmax (2/2)Résolution Algorithme de Ja kson préemptif O(n2)A haque instant t dé�ni par une date de lan ement modi�ée ou la �nd'une tâ he, ordonnan er la tâ he de plus petite date de lan ementmodi�ée en interrompant si né essaire la tâ he en ours à t.preuve d'optimalité par argument d'é hange.i pi ri di σ(i)1 5 3 22 −2 3 0 7 −3 6 14 20 −4 4 1 6 −5 5 8 21 1Lmax = 20 2 4 6 8 10 12 14 18 20 22162d4 d2 d12 4 15 3 1d5d3d′5r3r2 r4 r5r1 r ′1Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 29 / 51

Page 30: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Fon tion régulière de type maximum ave préemption etpré éden es 1|pre , pmtn, ri|fmax (1/3)Blo s de tâ hesSoit une solution non prémptive obtenue, en ordonnançant les tâ hes dans l'ordre roissant des dates de lan ement modi�ées. La solution obtenue est unesu ession de blo s de tâ hes onsé utives B1, ...,Bb séparés par des périodesd'ina tivité de la ma hine.B2 0 2 4 6 8 10 12 14 18 20 22165 r3r2 r4 r5r1 r ′142 1 3 24B1Théorème (dé omposition du problème)Il existe un ordonnan ement préemptif optimal respe tant l'ordre des blo s, lestâ hes étant exé utées sans temps d'ina tivité à l'intérieur de haque blo . Sif ∗max(B) est la valeur optimale du problème réduit aux tâ hes de B alors la valeuroptimale du problème est f ∗max = maxj=1,...,b f ∗max (Bj ).Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 30 / 51

Page 31: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Fon tion régulière de type maximum ave préemption etpré éden es 1|pre , pmtn, ri|fmax (2/3)Dé�nition ré urrente de la solution optimale d'un blo Soient :S(B) date de début du blo B .p(B) durée totale du blo BC (B) = S(B) + p(B) date de �n du blo BIl existe un ordonnan ement optimal dans lequel la tâ he k sans su esseurdans B telle que fk(C (B)) = mini∈B,σ(i)∩B=∅fi(C (B))se termine à C (B). On a don f ∗max(B) = max (f ∗max(B \ {k}), fk (C (B))Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 31 / 51

Page 32: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Fon tion régulière de type maximum ave préemption etpré éden es 1|pre , pmtn, ri|fmax (3/3)Algorithme ré ursifDé ompose(T )1 Déterminer B1, . . . ,Bb2 f ← −∞3 Pour haque blo B faire4 Déterminer k telle que fk(C (B)) = mini∈B,σ(i)∩B=∅ fi(C (B))5 f ← max {f , fk (C (B),Dé ompose (B \ {k})}6 Retourner fRésolution par appel de Dé ompose(T ). Complexité O(n2).Remarque : as ri = 0 pour toute tâ he i , la solution obtenue est nonpréemptive : optimal pour le 1|pre |fmax.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 32 / 51

Page 33: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Somme pondérée des dates de �n 1||∑wiCiDé�nitionOrdonnan er un ensemble de tâ hes dé�nies par des durées pi , des poidswi , en minimisant la somme pondérée des dates de �n∑wiCi =

∑i∈T wiCi .Résolution (règle du ratio de Smith, 1956)Ordonnan er les tâ hes dans l'ordre roissant du rapport pi/wi (O(n log n))i pi wi pi/wi1 5 4 1, 252 3 3 13 6 5 1, 24 4 5 0, 85 5 1 5 PwiCi = 4× 5 + 7× 3 + 13 × 5 + 18 × 4 + 23 × 1 = 2010 2 4 6 8 10 12 14 18 20 22164 2 3 1 5Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 33 / 51

Page 34: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Somme des dates de �n ave préemption et dates delan ement 1|ri , pmtn|∑CiDé�nitionOrdonnan er sur une ma hine un ensemble de tâ hes dé�nies par desdurées pi , des dates de lan ement ri , en minimisant la somme des dates de�n ∑i∈T Ci ave préemption autorisée.Résolution (règle de Smith modi�ée)At haque date de début ou �n de tâ he, ordonnan er la tâ he de pluspetite durée restante (O(n2))i pi ri1 5 32 3 113 6 04 4 15 5 8 PCi = 5 + 10 + 14 + 18 + 3 = 700 2 4 6 8 10 12 14 18 20 2216r4 r5r1r3 3 4 1 r25 2 5 3Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 34 / 51

Page 35: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Nombre de tâ hes en retard 1||∑UiDé�nitionOrdonnan er sur une ma hine un ensemble de tâ hes dé�nies par desdurées pi , des dates de livraison di , en minimisant le nombre de tâ hes enretard ∑i∈T Ci .Remarque : ave ette fon tion obje tif, les tâ hes en retard peuvent êtreexé utées arbitrairement après toutes les tâ hes en avan e ou à l'heure.Dé�nitionOrdonnan er les tâ hes dans l'ordre roissant des dates de livraison. Dèsqu'une tâ he est en retard, supprimer des tâ hes déjà ordonnan ées latâ he de plus grande durée.i pi di1 6 152 3 73 3 164 4 65 5 9 ordre : 4, 2, 5, 1, 3

50 2 4 6 8 10 12 14 18 2016d4 d2 d5 d1 d3PUi = 124 1 3Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 35 / 51

Page 36: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Fon tion régulière de type somme ave durées unitaires etdates de lan ement 1|ri , pi = 1|∑ fiDé�nitionOrdonnan er sur une ma hine un ensemble de tâ hes dé�nies par desdurées pi = 1, des dates de lan ement ri , en minimisant une fon tionrégulière de type somme ∑i∈T fi .Pré al ul des dates d'ordonnan ementIl existe un ordonnan ement optimal tel que haque tâ he démarre à unedes n dates dé�nies ré ursivement par t1 = r1 et ti = max(ri , ti−1 + 1) (ensupposant r1 ≤ . . . ≤ rn).i ri1 02 33 34 35 6 t5t1 t2 t3 t4 t5 12345Résolution d'un problème d'a�e tation (O(n3))i fi (tk)tkt4t3t2t1Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 36 / 51

Page 37: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Somme pondérée du nombre de tâ hes en retard 1||∑wiUi1/3Le problème est NP-di� ile (Karp, 1972). Le problème préemptif est don également NP-di� ile.Cara térisation d'une solution optimaleSupposons d1 ≤ . . . ≤ dn. Il existe un ordonnan ement optimal donné parune séquen e i1, i2, . . . , is , is+1, . . . , in ave i1 < i2 < . . . < is où toutes lestâ hes i1, . . . , is sont à l'heure et toutes les tâ hes is + 1, . . . , in sont enretard. é hange réalisableij B di ≤ djB i jChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 37 / 51

Page 38: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Somme pondérée du nombre de tâ hes en retard 1||∑wiUi2/3Résolution par programmation dynamique.Plongement dans une famille de sous-problèmes :On dé�nit Fj(t) pour j = 1, . . . , n et t = 0, . . . ,P =∑ni=1 pi , la valeur minimaledu ritère pour le problème d'ordonnan ement des tâ hes 1, . . . , j sa hant quel'ordonnan ement des tâ hes à l'heure se termine avant la date t. La valeur de lasolution optimale est Fn(min(dn,P)).Dé�nition ré urrente de Fj(t)Si 0 ≤ t ≤ di et j ≥ 1 alors soit j est à l'heure à t et don elle peut êtrepla ée à la �n de la séquen e, soit j est en retard don Fj (t) = min(Fj−1(t − pj),Fj−1(t) + wj ).Si t > dj et j ≥ 1 alors Fj (t) = Fj(dj ) ar toutes les tâ hes de 1, . . . , j seterminant après dj sont en retard.Si t < 0 ou j = 0 alors Fj (t) = 0Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 38 / 51

Page 39: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Somme pondérée du nombre de tâ hes en retard 1||∑wiUi2/3Cal ul as endant des Fj(t) : O(n∑ni=1 pi ) (algorithme pseudo polynomial).Visualisation graphique de l'algorithme de programmation dynamique omme un plus ourt hemini pi di1 6 152 3 73 3 164 4 65 5 90

0 2 4 6 8 10 12 14 18 2016d4 d2 d5 d1 d342513

wi

Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 39 / 51

Page 40: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Plus grand retard ave dates de lan ement 1|ri |Lmax 1/3Le problème est NP-di� ile (Lenstra et al. 1977).Résolu e� a ement par la pro édure de séparation et d'évaluation de Carlier,1982, basée sur l'analyse d'une solution appro hée.Algorithme de Ja kson Non Préemptif (JNP)1 t ← mini∈T ri2 Séle tionner la tâ he i telle que ri ≤ t de plus petite date de livraison etl'ordonnan er à t.3 dé aler t à la première date où une tâ he non-ordonnan ée est disponible etaller à l'étape 2.i pi di1 5 232 3 73 6 204 4 65 5 21 solution par l'algorithme de Ja kson non préemptf Lmax = 4d4 d5d3d20 2 4 6 8 10 12 14 18 20 22165 r3r2 r4 r542 1 3 24r1 d1Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 40 / 51

Page 41: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Plus grand retard ave dates de lan ement 1|ri |Lmax 2/3Analyse de la solution de Ja kson non préemptiveSoit i1, . . . , ip le � hemin ritique� tel que Lmax = r1 +∑k=1,...,p pik − dip .Si pour tout k = 1, . . . , p − 1, dik ≤ dip , la solution est optimale. Sinon,soit le plus grand indi e tel que di > dip . Soit de plusJ = {i + 1, . . . , ip} Dans toute solution optimale i est exé uté, soit avant,soit après toutes les tâ hes de J.

J = {3}d4 d5d3d20 2 4 6 8 10 12 14 18 20 22165 r3r2 r4 r542 1 3 24r1 d1Blo ritique {5, 1, 3}tâ he ritique 1Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 41 / 51

Page 42: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Plus grand retard ave dates de lan ement 1|ri |Lmax 3/3Algorithme de Carlier, 19821 BS ← +∞2 Q ←Empiler(r , p, d)3 Tant que Q 6= ∅ Faire4 (r , p, d) =Dépiler(Q)5 Cal uler i et J par JNP et Mettre à jour BS si né essaire.6 Si la ondition d'optimalité est véri�ée retourner JNP.7 Cal uler BI par l'algorithme de Ja kson préemptif.8 Si BI ≤ BS alors9 r ′ ← r ; r ′i ← max(ri ,mini∈J ri +∑i∈J pi )10 d ′ ← d ; d ′i ← min(di ,maxi∈J di −∑j∈J pi ).11 Q ←Empiler(r , p, d ′)12 Q ←Empiler(r ′, p, d)Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 42 / 51

Page 43: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problèmes à ma hines parallèlesExemples de problèmes de minimisation polynomiauxProblème de minimisation de la durée totale ave préemptionProblème de solution réalisable ave dates de lan ement, datesd'é héan e et préemptionChristian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 43 / 51

Page 44: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problème de minimisation de la durée totale ave préemption P |pmtn|CmaxDé�nitionOrdonnan er sur m ma hines parallèles, n tâ hes de durées pi en minimisant ladurée totale Cmax = maxi∈T Ci , ave préemption autorisée.La valeur exa te de la solution optimale peut être al ulée dire tement :C∗max = max{maxi∈T pi , ( n∑i=1 pi )/m}La solution se onstruit en O(n) en remplissant les ma hines en prenant lestâ hes dans n'importe quel ordre à partir de la ma hine 1. Dès que C∗max estatteint, la tâ he est interrompue et reprise sur la ma hine suivante.m = 3 i pi1 42 53 34 55 4 7

1 2

2 3 4

4 5

0Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 44 / 51

Page 45: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problème de solution réalisable ave dates de lan ement,dates d'é héan e et préemption P |pmtn, ri , d̃i |−Dé�nitionOrdonnan er sur m ma hines parallèles, n tâ hes de durées pi , de dates delan ement ri et dates d'é héan es d̃i , ave préemption autorisée.Le problème peut être transformé en problème de �ot maximal. Soit t1 < t2 < . . . < tr laséquen e des valeurs di�érentes des ri et des di . On onsidère les intervalles Ik = [tk , tk+1] delongueur Tk = tk+1 − tk . On rée un sommet par tâ he et par intervalle ainsi qu'un sommetsour e s et un sommet puit t. On dé�nit un ar de apa ité Tk entre une tâ he i et unintervalle tel que ri ≤ tk et tk+1 ≤ di . On dé�nit un ar de apa ité pi entre s et i et un ar de apa ité mTk entre Ik et t. Il existe une solution au problème P|pmtn, ri , d̃i |− si et seulements'il existe un �ot maximal de valeur Pni=1 pi . mTr−1s p1pi 1i I1IkTk tmT1mTknpn Ir−1Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 45 / 51

Page 46: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problèmes d'atelierDé�nitionDans les problèmes d'atelier les tâ hes sont regroupées en travaux Ji ,i = 1, . . . , n. Un travail est une su ession d'opérations (les tâ hes) liéespar des ontraintes de pré éden e sous la forme d'une haine. Chaqueopération Oij pour l'opération j du travail i est dé�nie par sa durée pij et lama hine sur laquelle elle est exé utée mi . On distingue di�érents problèmesd'atelier selon l'ordre de visite des ma hines par les opérations. L'obje tifest souvent de minimiser la durée totale de la réalisation des travaux.m1O21 O22 O23O31 O32 O33 O21 O22 O23O31 O32 O33Flow-Shop Job-Shopm1 m2 m3O11 O12 O13m1m1 m2 m3m2 m3 m1m3 m2O11 O12 O13m2 m3m2m3 m1.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 46 / 51

Page 47: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problèmes d'atelierReprésentation par un graphe disjon tifLe graphe représente les ontraintes de pré éden e et les possiblités deséquen ement sur les ma hines. On a un sommet par opération et unsommet de début et de �n de l'ordonnan ement. En plus des ontraintes depré éden es dé�nies par les travaux, on a des arêtes représentant le partagedes ma hines. L'orientation d'une arête donne un ar (Oij ,Okl ) quireprésente la dé ision d'ordonnan er Oij avant Okl sur la ma hine. Sa hantque les ar s sont valués par la durée de l'opération origine, le problèmed'atelier peut s'énon er omme la re her he d'une orientation totale desarêtes de manière à minimiser la longueur du plus long hemin entre lesommet de début et le sommet de �n. 10O21 O22 O23O31 O32 O33O11 O12 O13 O21 O22 O23O31 O32 O33Job-ShopO11 O12 O13

Flow-Shop0 10 0.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 47 / 51

Page 48: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problèmes d'atelierLes problèmes d'atelier (ou disjon tifs) sont en général NP-di� ile.Exemple de problèmeFlow-shop à deux ma hines (polynomial)Job-shop (NP-di� ile)Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 48 / 51

Page 49: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problèmes de Flow-shop à deux ma hines F2||CmaxOrdonnan ements de permutationDans le �ow-shop à deux ma hines, les ordonnan ements de permutation,pour lesquels la séquen e des opérations est la même sur les deuxma hines, sont dominants. Une solution peut don être représentée par uneliste de travaux.Résolution par l'algorithme de Johnson, 1954On onstruit la liste des travaux en onstruisant progressivement une listede gau he G puis une liste de droite D. A haque étape, on her hel'opération Oij de plus petite durée. Si j = 1 on ajoute i à la �n de G .Sinon on l'insère au début de D. On on atène ensuite G et D.i pi1 pi21 4 82 3 33 3 44 1 45 8 7 2

0 2 4 6 8 10 12 14 16 18 20 22 24 26

4

4

3

3

1

1

5 2

5Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 49 / 51

Page 50: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problème de Job-shop J||CmaxLe problème est NP-di� ile. On trouve pour le résoudre de nombreusesméthodes appro hées (heuristiques et métaheuristiques) et des méthodesexa tes de type pro édure de séparation et évaluation.Prin ipe des méthodes de séparation et d'évaluation pour le Job-ShopSéparation. Les s hémas de bran hement les plus e� a es sont baséessur l'analyse du hemin ritique dans le graphe disjon tif orienté. Le hemin ritique est dé omposé en blo s de ta hes onsé utives sur lamême ma hine. Pour améliorer une solution, il est né essaire qu'aumoins une tâ he d'un blo soit ordonnan ée avant la première tâ hedu blo ou après la dernière, e qui sépare l'espa e des solutions.Evaluation. Les méthodes d'évaluation les plus e� a es sont baséessur les méthodes de propagation de ontraintes. Ces méthodes, onnues sous le nom de séle tions immédiates, edge-�nding, et .permettent de réduire les fenêtres de temps des tâ hes en déduisantdes ontraintes de pré éden e entre tâ hes utilisant la même ma hine.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 50 / 51

Page 51: New Introduction à l'ordonnancement de tâcheshomepages.laas.fr/artigues/Ordo-cours.pdf · 2014. 5. 6. · Ordonnancement statique /dynamique Lo rsque les données d'un p roblème

Problème d'ordonnan ement de projet ave ontraintes deressour es PS |pre |CmaxLe problème est NP-di� ile. On trouve pour le résoudre de nombreusesméthodes appro hées (heuristiques et métaheuristiques) et des méthodesexa tes de type pro édure de séparation et évaluation.Christian Artigues (LAAS-CNRS) Ordonnan ement 20 avril 2009 51 / 51