Bases de l’ordonnancement
Introduction - Classification
Safia Kedad-Sidhoum
CNAM
safia.kedad sidhoum@cnam.fr
BOR - M2 MPRO, 2020-2021
Safia Kedad-Sidhoum - 1 (CNAM) Ordonnancement 2020-2021 1 / 17
Objectifs et Organisation
• Domaine important de la Recherche Op´erationnelle
• Objet: allocation deressources `a destˆaches souscontraintes dans le but d’optimiser une m´etriquede performance
• Contexte: syst`emes informatiques, plate-formes de calcul distribu´ees, syst`emes de production
• Objectifs: ´etude des probl`emes de base en th´eorie de l’ordonnancement (complexit´e et techniques de r´esolution)
Safia Kedad-Sidhoum - 2 (CNAM) Ordonnancement 2020-2021 2 / 17
Objectifs et Organisation
• Domaine important de la Recherche Op´erationnelle
• Objet: allocation deressources`a des tˆachessouscontraintes dans le but d’optimiser unem´etrique de performance
• Contexte: syst`emes informatiques, plate-formes de calcul distribu´ees, syst`emes de production
• Objectifs: ´etude des probl`emes de base en th´eorie de l’ordonnancement (complexit´e et techniques de r´esolution)
Safia Kedad-Sidhoum - 2 (CNAM) Ordonnancement 2020-2021 2 / 17
Objectifs et Organisation
• Domaine important de la Recherche Op´erationnelle
• Objet: allocation deressources `a destˆaches souscontraintes dans le but d’optimiser une m´etriquede performance
• Contexte: syst`emes informatiques, plate-formes de calcul distribu´ees, syst`emes de production
• Objectifs: ´etude des probl`emes de base en th´eorie de l’ordonnancement (complexit´e et techniques de r´esolution)
Safia Kedad-Sidhoum - 2 (CNAM) Ordonnancement 2020-2021 2 / 17
Objectifs et Organisation
• Domaine important de la Recherche Op´erationnelle
• Objet: allocation deressources`a des tˆachessouscontraintes dans le but d’optimiser unem´etrique de performance
• Contexte: syst`emes informatiques, plate-formes de calcul distribu´ees, syst`emes de production
• Objectifs: ´etude des probl`emes de base en th´eorie de l’ordonnancement (complexit´e et techniques de r´esolution)
Safia Kedad-Sidhoum - 2 (CNAM) Ordonnancement 2020-2021 2 / 17
Contenu et Organisation
• Introduction - Classification des probl`emes d’ordonnancement
• Probl`emes fondamentaux
• Probl`emes `a une machine
• Probl`emes `a machines parall`eles
• Probl`emes d’ateliers
• Applications et nouveaux mod`eles
• Multi-agents
• Ordonnancement avec d´elais de communication
Safia Kedad-Sidhoum - 3 (CNAM) Ordonnancement 2020-2021 3 / 17
Contenu et Organisation
• Introduction - Classification des probl`emes d’ordonnancement
• Probl`emesfondamentaux
• Probl`emes `a une machine
• Probl`emes `a machines parall`eles
• Probl`emes d’ateliers
• Applicationset nouveaux mod`eles
• Multi-agents
• Ordonnancement avec d´elais de communication
Safia Kedad-Sidhoum - 3 (CNAM) Ordonnancement 2020-2021 3 / 17
Contenu et Organisation
• Introduction - Classification des probl`emes d’ordonnancement
• Probl`emes fondamentaux
• Probl`emes `a une machine
• Probl`emes `a machines parall`eles
• Probl`emes d’ateliers
• Applications et nouveaux mod`eles
• Multi-agents
• Ordonnancement avec d´elais de communication
Safia Kedad-Sidhoum - 3 (CNAM) Ordonnancement 2020-2021 3 / 17
Bibliographie
Safia Kedad-Sidhoum - 4 (CNAM) Ordonnancement 2020-2021 4 / 17
Introduction
1 Un ensemble de tˆaches J1,J2, . . . ,Jn `a ex´ecuter
2 Un mode d’ex´ecution des tˆaches (mode pr´eemptif, mode non pr´eemptif,...)
3 Des ressourcesde type R1, . . . ,Rq en quantit´e limit´ee r1, . . . ,rq.
4 Des contraintes temporelles entre les tˆaches.
5 Des besoins en ressources R1, . . . ,Rq n´ecessaires `a l’ex´ecution des tˆaches: bik quantit´e de ressource de type k requise pendant l’ex´ecution de Ji.
Safia Kedad-Sidhoum - 5 (CNAM) Ordonnancement 2020-2021 5 / 17
Introduction
1 Un ensemble de tˆachesJ1,J2, . . . ,Jn `a ex´ecuter
2 Unmode d’ex´ecution des tˆaches (mode pr´eemptif, mode non pr´eemptif,...)
3 Desressourcesde type R1, . . . ,Rq en quantit´e limit´ee r1, . . . ,rq.
4 Descontraintes temporelles entre les tˆaches.
5 Des besoins en ressources R1, . . . ,Rq n´ecessaires `a l’ex´ecution des tˆaches: bik quantit´e de ressource de type k requise pendant l’ex´ecution deJi.
Safia Kedad-Sidhoum - 5 (CNAM) Ordonnancement 2020-2021 5 / 17
Introduction
1 Un ensemble de tˆaches J1,J2, . . . ,Jn `a ex´ecuter
2 Un mode d’ex´ecution des tˆaches (mode pr´eemptif, mode non pr´eemptif,...)
3 Des ressourcesde type R1, . . . ,Rq en quantit´e limit´ee r1, . . . ,rq.
4 Des contraintes temporelles entre les tˆaches.
5 Des besoins en ressources R1, . . . ,Rq n´ecessaires `a l’ex´ecution des tˆaches: bik quantit´e de ressource de type k requise pendant l’ex´ecution de Ji.
Safia Kedad-Sidhoum - 5 (CNAM) Ordonnancement 2020-2021 5 / 17
Introduction
1 Un ensemble de tˆachesJ1,J2, . . . ,Jn `a ex´ecuter
2 Unmode d’ex´ecution des tˆaches (mode pr´eemptif, mode non pr´eemptif,...)
3 Desressourcesde type R1, . . . ,Rq en quantit´e limit´ee r1, . . . ,rq.
4 Descontraintes temporelles entre les tˆaches.
5 Des besoins en ressources R1, . . . ,Rq n´ecessaires `a l’ex´ecution des tˆaches: bik quantit´e de ressource de type k requise pendant l’ex´ecution deJi.
Safia Kedad-Sidhoum - 5 (CNAM) Ordonnancement 2020-2021 5 / 17
Introduction
1 Un ensemble de tˆaches J1,J2, . . . ,Jn `a ex´ecuter
2 Un mode d’ex´ecution des tˆaches (mode pr´eemptif, mode non pr´eemptif,...)
3 Des ressourcesde type R1, . . . ,Rq en quantit´e limit´ee r1, . . . ,rq.
4 Des contraintes temporelles entre les tˆaches.
5 Des besoins en ressources R1, . . . ,Rq n´ecessaires `a l’ex´ecution des tˆaches: bik quantit´e de ressource de type k requise pendant l’ex´ecution de Ji.
Safia Kedad-Sidhoum - 5 (CNAM) Ordonnancement 2020-2021 5 / 17
D´efinition
Ordonnancement r´ealisable
Allouer `a chaque tˆache:
• unintervalle d’ex´ecution(mode non-pr´eemptif) ou plusieurs (mode pr´eemptif)
• des ressources de telle sorte que :
• lescontraintes temporelles soient satisfaites
• lescontraintes de ressources soient satisfaites
Safia Kedad-Sidhoum - 6 (CNAM) Ordonnancement 2020-2021 6 / 17
D´efinition
Ordonnancement r´ealisable
• Evaluation (mono-crit`ere) d’un ordonnancement: un crit`ere associe `a´ chaque ordonnancement un coˆut: d´elai total, plus grand retard...
• Probl`eme d’ordonnancement (mono-crit`ere) D´eterminer un ordonnancement de coˆut minimal
Safia Kedad-Sidhoum - 6 (CNAM) Ordonnancement 2020-2021 6 / 17
Repr´esentation
Diagramme de Gantt
Safia Kedad-Sidhoum - 7 (CNAM) Ordonnancement 2020-2021 7 / 17
Ressources
• Ressource renouvelable: A nouveau disponible apr`es son utilisation par une tˆache: machine, personne...
• Ressource consommable: Consomm´ee par la tˆache qui l’utilise:
budget, ´energie...
• Ressource sp´ecialis´ee : Ne peut ˆetre allou´ee qu’`a certaines tˆaches
Safia Kedad-Sidhoum - 8 (CNAM) Ordonnancement 2020-2021 8 / 17
Ressources
• Ressource renouvelable: A nouveau disponible apr`es son utilisation par une tˆache: machine, personne...
• Ressource consommable: Consomm´ee par la tˆache qui l’utilise:
budget, ´energie...
• Ressource sp´ecialis´ee: Ne peut ˆetre allou´ee qu’`a certaines tˆaches
Safia Kedad-Sidhoum - 8 (CNAM) Ordonnancement 2020-2021 8 / 17
Ressources
• Ressource renouvelable: A nouveau disponible apr`es son utilisation par une tˆache: machine, personne...
• Ressource consommable: Consomm´ee par la tˆache qui l’utilise:
budget, ´energie...
• Ressource sp´ecialis´ee : Ne peut ˆetre allou´ee qu’`a certaines tˆaches
Safia Kedad-Sidhoum - 8 (CNAM) Ordonnancement 2020-2021 8 / 17
Contraintes temporelles
dur´ee op´eratoire
• Une tˆache Ji a une dur´ee, elle est not´eepi si elle ne d´epend pas des ressources utilis´ees par la tˆache
• Intervalle(s) d’ex´ecution de la tˆacheJi:
• Enmode non pr´eemptif, un seul intervalle par tˆache
temps Ji
Si Ci=Si+pi
• Enmode pr´eemptif, plusieurs intervalles par tˆache (de dur´ee totalepi)
temps
Ji Ji Ji
Si Ci
Safia Kedad-Sidhoum - 9 (CNAM) Ordonnancement 2020-2021 9 / 17
Contraintes temporelles
dur´ee op´eratoire
• Une tˆache Ji a une dur´ee, elle est not´ee pi si elle ne d´epend pas des ressources utilis´ees par la tˆache
• Intervalle(s) d’ex´ecution de la tˆache Ji:
• Enmode non pr´eemptif, un seul intervalle par tˆache
temps Ji
Si Ci=Si+pi
• Enmode pr´eemptif, plusieurs intervalles par tˆache (de dur´ee totalepi)
temps
Ji Ji Ji
Si Ci
Safia Kedad-Sidhoum - 9 (CNAM) Ordonnancement 2020-2021 9 / 17
Contraintes temporelles
dur´ee op´eratoire
• Une tˆache Ji a une dur´ee, elle est not´eepi si elle ne d´epend pas des ressources utilis´ees par la tˆache
• Intervalle(s) d’ex´ecution de la tˆacheJi:
• Enmode non pr´eemptif, un seul intervalle par tˆache
temps Ji
Si Ci=Si+pi
• Enmode pr´eemptif, plusieurs intervalles par tˆache (de dur´ee totalepi)
temps
Ji Ji Ji
Si Ci
Safia Kedad-Sidhoum - 9 (CNAM) Ordonnancement 2020-2021 9 / 17
Contraintes temporelles
fenˆetres de temps
• Date de disponibilit´e ri de la tˆacheJi
Contrainte : Si ≥ri
• Deadline “ferme” ˜di de la tˆacheJi
Contrainte : Ci ≤d˜i
Si la tˆache Ji est soumise `a une date de disponibilit´e et un deadline, alors [ri,d˜i] est lafenˆetre d’ex´ecutionde la tˆache Ji
temps
ri d˜i
Ji
Si Ci=Si+pi
• Due-date di de la tˆacheJi: date defin souhait´ee, prise en compte du retard dans la fonction objectif
Safia Kedad-Sidhoum - 10 (CNAM) Ordonnancement 2020-2021 10 / 17
Contraintes temporelles
fenˆetres de temps
• Date dedisponibilit´e ri de la tˆacheJi
Contrainte : Si ≥ri
• Deadline“ferme” ˜di de la tˆacheJi
Contrainte : Ci ≤d˜i
Si la tˆacheJi est soumise `a une date de disponibilit´e et un deadline, alors [ri,d˜i] est lafenˆetre d’ex´ecution de la tˆache Ji
temps
ri d˜i
Ji
Si Ci=Si+pi
• Due-datedi de la tˆacheJi: date defin souhait´ee, prise en compte du retard dans la fonction objectif
Safia Kedad-Sidhoum - 10 (CNAM) Ordonnancement 2020-2021 10 / 17
Contraintes temporelles
fenˆetres de temps
• Date de disponibilit´e ri de la tˆacheJi
Contrainte : Si ≥ri
• Deadline “ferme” ˜di de la tˆacheJi
Contrainte : Ci ≤d˜i
Si la tˆache Ji est soumise `a une date de disponibilit´e et un deadline, alors [ri,d˜i] est lafenˆetre d’ex´ecutionde la tˆache Ji
temps
ri d˜i
Ji
Si Ci=Si+pi
• Due-date di de la tˆacheJi: date defin souhait´ee, prise en compte du retard dans la fonction objectif
Safia Kedad-Sidhoum - 10 (CNAM) Ordonnancement 2020-2021 10 / 17
Contraintes de pr´ec´edence
• Pr´ec´edencesimple: (Ji,Jj) ⇔Sj ≥Ci
Jj ne peut commencer avant la terminaison deJi
Graphe de pr´ec´edence: sommets = tˆaches, arcs = couples de pr´ec´edence (simple)
J1 J2
J3
J4
• Pr´ec´edenceg´en´eralis´ee: (Ji,Jj,aij)⇔Sj ≥Si+aij
Safia Kedad-Sidhoum - 11 (CNAM) Ordonnancement 2020-2021 11 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weighted flowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi=max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi=Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi >di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weightedflowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi =max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi =Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi>di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weighted flowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi=max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi=Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi >di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weightedflowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi =max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi =Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi>di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weighted flowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi=max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi=Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi >di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weightedflowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi =max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi =Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi>di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weighted flowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi=max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi=Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi >di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weightedflowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi =max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi =Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi>di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
usuels
• D´elai total (makespan): Cmax= maxiCi
• D´elai moyen (flowtime) :
�
iCi
n
• D´elai moyen pond´er´e (weighted flowtime) : �
iwiCi
• Plus grand retard (maximum tardiness) : maxiTi o`uTi=max{0,Ci−di}
• Somme pond´er´ee des retards : �
iwiTi
• Plus grand retard alg´ebrique : maxLi o`uLi=Ci−di
• Nombre de tˆaches en retard : �
iUi o`uUi = 1 siCi >di, 0 sinon
• Nombre pond´er´e de tˆaches en retard : �
iwiUi
• Coˆut d’avance et de retard : �
iαiEi+βiTi o`uEi = max{0,di−Ci}
Safia Kedad-Sidhoum - 12 (CNAM) Ordonnancement 2020-2021 12 / 17
Crit`eres
r´eguliers
• Un crit`ere f(C1,· · · ,Cn) est ditr´egulier si c’est une fonction croissante au sens large:
(C1�,· · · ,Cn�)≥(C1, ..,Cn)⇒f(C1�,· · · ,Cn�)≥f(C1,· · · ,Cn) Les crit`eres r´eguliers sont les crit`eres majoritairement ´etudi´es. On cherche `aex´ecuter les tˆaches le plus tˆot possible
• Il peut ˆetre int´eressant d’introduire des temps morts pour attendre que des tˆaches plus prioritaires soient ex´ecutables.
Exemple.
Safia Kedad-Sidhoum - 13 (CNAM) Ordonnancement 2020-2021 13 / 17
Crit`eres
r´eguliers
• Un crit`ere f(C1,· · · ,Cn) est dit r´egulier si c’est une fonction croissante au sens large:
(C1�,· · · ,Cn�)≥(C1, ..,Cn)⇒f(C1�,· · · ,Cn�)≥f(C1,· · · ,Cn) Les crit`eres r´eguliers sont les crit`eres majoritairement ´etudi´es. On cherche `a ex´ecuter les tˆaches le plus tˆot possible
• Il peut ˆetre int´eressant d’introduire des temps mortspour attendre que des tˆaches plus prioritaires soient ex´ecutables.
Exemple.
Safia Kedad-Sidhoum - 13 (CNAM) Ordonnancement 2020-2021 13 / 17
Typologie
α|β|γ
[R.L. Graham, E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan (1979): Optimization and approximation in deterministic sequencing and scheduling: a survey, Ann. Discrete Math. 4, 287-326.]
• Champα: Configuration desressources Exemples
• P3: 3 machines identiques
• P/Pm: m machines identiques
• R/Rm: m machines distinctes
• F2: flow shop `a 2 machines
• Champβ: contraintesimpos´ees sur l’ex´ecution destˆaches Exemples
• pmtn: pr´eemption autoris´ee
• ri: dates de disponibilit´e
• pi = 1: dur´ees unitaires
• prec: graphe des pr´ec´edences quelconque
Safia Kedad-Sidhoum - 14 (CNAM) Ordonnancement 2020-2021 14 / 17
Typologie
α|β|γ
• Champγ : crit`eres(`a minimiser en g´en´eral) Exemples
• Cmax: Minimisation du makespan
• �
iTi: Minimisation de la somme des retards
• �
iEi+Ti: Minimisation de la somme des coˆuts d’avance-retard
Safia Kedad-Sidhoum - 15 (CNAM) Ordonnancement 2020-2021 15 / 17
Exemples
• P3|pi = 1,prec|Cmax
3 machines identiques dur´ees unitaires
graphe de pr´ec´edence quelconque minimisation de makespan
• 1|pmtn,ri|�
iwiUi
1 machine mode pr´eemptif date de disponibilit´e
minimisation du nombre pond´er´e de tˆaches en retard
Safia Kedad-Sidhoum - 16 (CNAM) Ordonnancement 2020-2021 16 / 17
R´esultats de complexit´e des probl`emes d’ordonnancement
Web archive : Scheduling zoo
Bibliographie en ligne dans le domaine de l’ordonnancement:
http://schedulingzoo.lip6.fr/
Site de Peter Brucker and Sigrid Knust:
http://www.mathematik.uni-osnabrueck.de/research/OR/class/
Safia Kedad-Sidhoum - 17 (CNAM) Ordonnancement 2020-2021 17 / 17