Vous êtes sur la page 1sur 98

Management des opérations II

Problèmes d’ordonnancement

C. SADFI
1
Plan du cours

►  Ordonnancement de la production

►  Ordonnancement de projets

2
C. Sadfi - Management des opérations II - 3

Ordonnancement
!  Définitions
-  Un problème d’ordonnancement désigne tout problème dans
lequel l’objectif est l’allocation de ressources au cours du temps,
de façon à réaliser un ensemble d’activités

-  Ordonnancer un ensemble de tâches revient à programmer leur


exécution dans le temps en leur allouant les ressources requises et
en fixant leur date de début, dans le respect de l’objectif fixé

Gestion de la production Gestion de projets

Ordonnancement de la production Ordonnancement de projets


C. Sadfi - Management des opérations II - 4

Ordonnancement
-  Les problèmes d’ordonnancement en ateliers spécialisés relèvent
de la problématique de la régulation à court terme de l’entreprise,
et plus particulièrement de celle du contrôle et de l’utilisation de
la main d’œuvre et des équipements productifs

Complètent les techniques de gestion des stocks qui assurent le


contrôle de matières

-  La théorie de l’ordonnancement est une branche de la recherche


opérationnelle. Elle consiste en la recherche de modèles
mathématiques et la mise au point de méthodes de résolution
efficaces des problèmes proposés
C. Sadfi - Management des opérations II - 5

Ordonnancement
-  Planification dans le temps l’exécution d’un ensemble de tâches
sur un ensemble de ressources en respectant un ensemble de
contraintes afin d’optimiser un ou plusieurs critères

-  Tâche : une opération ou un ensemble d’opérations

tâche élémentaire travail (job)

-  Ressources : moyens pour réaliser les tâches


•  Ressources consommables (exemple : énergie)
•  Ressources renouvelables (exemples : machines, main d’œuvre)

-  Exemples
•  Informatique (tâches : opérations ; ressources : processeurs, mémoires)
•  Administration (tâches : cours, TD, TP ; ressources : enseignants,
salles)
C. Sadfi - Management des opérations II - 6

Ordonnancement
-  Contraintes
•  Potentielles : précédence — succession ; localisation temporelle
•  Disjonctives : même ressource (unique) utilisée par deux tâches
(exemple : 2 malades et 1 médecin)
•  Cumulatives : limitation des niveaux de ressources disponibles
(exemple : 5 tâches de maçonnerie et 3 maçons)

-  Critère : fonction objectif


•  Critères liés aux tâches : minimisation de la durée totale de
réalisation du projet, minimisation des retards, minimisation des
encours, minimisation des déchets, etc.
•  Critères liés aux ressources : minimisation d’un coût lié à
l’utilisation de ressources.
C. Sadfi - Management des opérations II - 7

Ordonnancement
!  Vocabulaires

-  Gamme opératoire : un ensemble ordonné ou semi-ordonné d’opérations.


La gamme opératoire spécifie les ressources affectées à l’opération
-  Séquencement : séquencer un ensemble d’opérations c’est déterminer
l’ordre dans lequel elles passeront sur les machines

-  Affectation : affecter une opération à une ressource c’est préciser pour


une tâche la ressource sur laquelle elle sera exécutée

L’ordonnancement peut consister à chercher : un "séquencement" ; ou


une "affectation" ; ou un "séquencement" et une "affectation"
C. Sadfi - Management des opérations II - 8

Ordonnancement de la production
C. Sadfi - Management des opérations II - 9

Ordonnancement de la production
!  Notations : données
-  n : nombre de travaux
-  m : nombre de machines
-  i : indice de travail
-  j : indice de machine
-  pij : durée d’exécution de l’opération i sur la machine Mj du travail
Ji (processing time)
-  ri : date de disponibilité du travail Ji (date de début au plus tôt :
release date)
-  di : date de fin souhaitée du travail Ji (due date)
-  wi : poids attribué au travail Ji ; il exprime le facteur d’importance
(weight)

Ordonnancement de n travaux "J = {Ji / i = 1, 2, ..., n}" sur m machines


"M = {Mj / j = 1, 2, ...,m}"
C. Sadfi - Management des opérations II - 10

Ordonnancement de la production

!  Notations : variables (inconnues)

-  si : date de début d’exécution du travail Ji (notée également par ti)


-  Ci : date de fin d’exécution de du travail Ji (completion time) :
Ci = s i + p i
-  Fi : durée de séjour dans le système du travail Ji (flow time) :
Fi = Ci - ri
-  Li : écart par rapport à la fin souhaitée ou retard algébrique du
travail Ji (lateness) : Li = Ci - di
-  Ti : retard vrai du travail du travail Ji (tardiness) :
Ti = Max(Ci - di ,0)
-  Ui : : indicateur de retard du travail Ji :
Ui = 1 si Ti >0 ; Ui = 0 sinon
C. Sadfi - Management des opérations II - 11

Ordonnancement de la production

!  Diagramme de Gantt
-  Le "Diagramme de Gantt", du nom de Henry L. Gantt (1917),
permet de représenter les besoins en ressources en fonction du
temps, par l’intermédiaire d’une liste de tâches représentées par des
barres horizontales. Ce diagramme est très classique dans la gestion
de projets

-  Dans un diagramme de Gantt, les lignes correspondent aux


machines et les colonnes correspondent aux unités de temps
(minutes, heures, semaines, etc.). L’exécution d’une tâche sur une
machine donnée est représentée par une barre horizontale, tracée
sur la ligne correspondante à la machine en question, de longueur
proportionnelle à sa durée d’exécution sur la même machine
C. Sadfi - Management des opérations II - 12

Ordonnancement de la production
!  Diagramme de Gantt : exemple

A B C D E F
-  6 pièces à usiner :
pi 10 4 1 1 2 6,5

-  L’atelier dispose de 3 machines identiques

-  Exemple de diagramme de Gantt :

M1 B A

M2 E D

M3 C F

0 14 temps
C. Sadfi - Management des opérations II - 13

Ordonnancement de la production

!  Relation entre les tâches : les tâches sont dites "dépendantes" si


elles sont liées entre elles par des relations d’antériorité (ou précédence).
Sinon, elles sont dites "indépendantes".

!  Mode d’exécution des tâches : dans certains cas, une tâche peut
être exécutée par morceaux. On dit alors que la "préemption" est
possible (problème préemptif). Dans le cas contraire, la préemption
n’est pas autorisée (problème non préemptif) : une fois
commencée, une tâche doit être exécutée en entier sans interruption.
Souvent, la préemption rend ces problèmes plus faciles de point de vue
résolution.
C. Sadfi - Management des opérations II - 14

Ordonnancement de la production
!  Les machines

-  Une machine : chaque travail est constitué d’une seule opération

-  Machine parallèles : elles remplissent, a priori, toutes les mêmes


fonctions. Selon leur vitesse d’exécution, on distingue :

•  machines identiques (P) : la vitesse d’exécution est la même


pour toutes les machines Mj et pour tous les travaux Ji ;
•  machines uniformes (Q) : chaque machine Mj a une vitesse
d’exécution propre et constante. La vitesse d’exécution est la
même pour tous les travaux Ji d’une même machine Mj ;
•  machines indépendantes (R) : la vitesse d’exécution est
différente pour chaque machine Mj et pour chaque travail Ji.
C. Sadfi - Management des opérations II - 15

Ordonnancement de la production
!  Les machines
-  Machines dédiées : elles sont spécialisées à l’exécution de certaines
opérations. Dans cette catégorie, chaque travail est constitué de
plusieurs opérations. En fonction du mode de passage des opérations
sur les différentes machines, trois ateliers spécialisés sont différenciés :

•  Flow shop (F) : le cheminement des travaux est unique : les n


travaux utilisent les m machines dans l’ordre 1, 2, ..., m (ligne de
production)
•  Job shop (J) : les séquences opératoires relatives aux différents
travaux peuvent être distinctes et sont propres à chaque travail
•  Open shop (O) : c’est un modèle d’atelier moins contraint que
le flow shop et le job shop, car l’ordre d’exécution des opérations
n’est pas fixé
C. Sadfi - Management des opérations II - 16

Ordonnancement de la production

!  Les critères d’optimisation


-  Les variables intervenant le plus souvent dans l’expression de la
fonction économique sont :
•  la date Ci de fin d’exécution du travail Ji ;
•  les retards Li = Ci − di et Ti = max (Ci − di, 0) du travail Ji ;
•  l’indicateur de retard du travail Ji : Ui = 0 si Ci ≤ di, Ui = 1 sinon.

-  Minimiser la durée totale (ou maximiser la productivité) : la


durée totale de l’ordonnancement notée Cmax (schedule lenght ou
makespan) est égale à la date d’achèvement du travail le plus tardif :
Cmax = max(Ci). Minimiser la durée totale, revient à minimiser Cmax
c’est-à-dire min(max(Ci)).

Critère retenu : Min Cmax


C. Sadfi - Management des opérations II - 17

Ordonnancement de la production

!  Les critères d’optimisation

-  Minimiser les encours : les encours sont déterminés par le temps de


présence des travaux dans l’atelier : Fi = Ci - ri. Le premier critère est
de minimiser la somme de ces temps (total flow time) ΣFi, ou de
manière équivalente le temps moyen de présence dans l’atelier (mean
flow time) 1/n × ΣFi. Lorsqu’on tient compte des coûts d’immobilisa-
tion, on attache un poids wi au temps de présence, le critère de vient
1/n × ΣwiFi.

Critères retenus : Min ΣCi ou Min ΣwiCi


C. Sadfi - Management des opérations II - 18

Ordonnancement de la production

!  Les critères d’optimisation

-  Minimiser les retards : dans beaucoup de problèmes, il faut respecter au


mieux les délais, c’est-à-dire les dates au plus tard di. Les critères
retenus sont le retard vrai (maximum tardiness) : Tmax = max (Ti) et
le retard moyen (mean tardiness) 1/n × ΣTi ou le retard algébrique
(maximum lateness) : Lmax = max (Li).
-  Parfois, les pénalités des retards sont indépendantes des retards, on
retiendra alors le nombre de travaux en retard ΣUi (comme pour le cas
de la minimisation des encours, parfois on associe un poids wi pour
chaque travail).

Critères retenus : Min Lmax ou Min ΣTi ou Min ΣUi ou Min ΣwiUi
C. Sadfi - Management des opérations II - 19

Ordonnancement de la production

!  Codification des problèmes d’ordonnancement

-  Il existe une très grande variété de problèmes d’ordonnancement. Pour


leur identification et leur classification nous adoptons la notation
proposée par Graham et al. 1979 : codification par trois champs : α|β|γ

description des ressources : critère d’optimisation


nombre de ressource, type
de ressource, etc.

caractéristique des tâches :


précédence, dates d’arrivée, etc.
C. Sadfi - Management des opérations II - 20

Ordonnancement de la production
!  Codification des problèmes d’ordonnancement : exemples

minimisation du retard maximal sur


une seule machine avec des
contraintes de précédence

minimisation de la somme des dates


de fin sur m machines parallèles
identiques

minimisation du makespan, dans un


atelier de type flow shop à 3
machines avec dates d’arrivée des
travaux où la préemption est
permise
C. Sadfi - Management des opérations II - 21

Ordonnancement de la production

!  Notion de complexité

-  Soient deux algorithmes à comparer en termes d’efficacité. La mesure


des temps d’exécution demande trop de travail (programmation,
préparation d’un jeu de données). De plus, ces temps dépendent de
l’ordinateur et du langage (C, Java, Pascal, etc.) et on ne sait pas
comment ils varient avec la taille des données.

-  Pour rendre les comparaisons indépendantes du matériel, et pour


déterminer l’efficacité d’un algorithme, nous évaluerons, en fonction de
la taille d’un énoncé, le nombre d’opérations élémentaires nécessité par
cet algorithme dans le cas le plus défavorable

complexité
C. Sadfi - Management des opérations II - 22

Ordonnancement de la production
!  Notion de complexité

-  Algorithme polynomial : un algorithme dont le nombre d’opérations


est un polynôme de n. Exemples : n2, nlogn

-  Algorithme non polynomial : un algorithme dont le nombre d’opérations


n’est pas borné par un polynôme de n. Exemples : 2n, n!

S’il existe un algorithme polynomial pour la résolution d’un problème,


alors le problème est dit "polynomial" (P) sinon le problème est dit
"NP-complet" (NPC)

"NP-complet" pour un problème de décision et "NP-difficile" (ou "NP-dur")


pour un problème d’optimisation
C. Sadfi - Management des opérations II - 23

Ordonnancement de la production
!  Complexité des problèmes d’ordonnancement
-  Les problèmes d’ordonnancement de la production sont des problèmes
combinatoires extrêmement difficiles et il n’existe pas de méthodes
universelles permettant de résoudre efficacement tous les cas

-  Exemples de problèmes NP-difficiles :

-  Exemples de problèmes polynomiaux :

!  Détails sur la complexité des problèmes d’ordonnancement


http://www2.informatik.uni-osnabrueck.de/knust/class/
C. Sadfi - Management des opérations II - 24

Ordonnancement de la production
!  Résolution des problèmes d’ordonnancement
-  Les méthodes exactes : solution optimale
•  la programmation dynamique
•  la méthode branch and bound (procédure par séparation et évaluation)
•  la programmation linéaire en nombres entiers

Analyse de la complexité des algorithmes développés

-  Les méthodes approchées : solution approchée


•  les méthodes heuristiques : bornes supérieures
•  les méthodes de relaxation : bornes inférieures

Analyse de l’efficacité des algorithmes développés (théorique ou expérimentale)


C. Sadfi - Management des opérations II - 25

Ordonnancement de la production
C. Sadfi - Management des opérations II - 26

Ordonnancement de la production
!  Problèmes à une seule machine

-  Une seule ressource : une machine qui doit réaliser un ensemble


de tâches

-  Les tâches sont composées d’une seule opération

Séquencement ?

Décider de l’ordre d’exécution des tâches sur la ressource


C. Sadfi - Management des opérations II - 27

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Makespan Cmax
•  Objectif : minimiser la durée totale de l’ordonnancement
•  Cmax = Max(Ci)
A B C D
•  Exemple : 4 tâches à ordonnancer
pi 5 2 2 3

•  Séquence σ = ABCD : valeur Cmax = 12

A B C D

0 12 temps
C. Sadfi - Management des opérations II - 28

Ordonnancement de la production

!  Problèmes à une seule machine

-  Problème

•  Total flow time ΣCi


•  Objectif : minimiser la date de fin des tâches
•  Attente des clients dans une file
•  Stocks d’encours devant la ressource
C. Sadfi - Management des opérations II - 29

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
A B C D
•  Exemple : 4 tâches à ordonnancer
pi 5 2 2 3

•  Séquence σ = ABCD : valeur ΣCi = 33

A B C D

0 5 7 9 12 temps

•  Séquence σʹ = BCDA : valeur ΣCi = 25 optimal ?

B C D A

0 2 4 7 12 temps
C. Sadfi - Management des opérations II - 30

Ordonnancement de la production

!  Dominance

-  Une dominance est une propriété D vérifiée par au moins une


solution optimale

solutions réalisables
propriété D

solutions optimales
C. Sadfi - Management des opérations II - 31

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Dominance : deux tâches successives sont ordonnancées dans


l’ordre croissant des temps opératoires

Si la tâche i précède la tâche j alors pi ≤ pj

i j

temps
C. Sadfi - Management des opérations II - 32

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Argument d’échange
"  Soit un ordonnancement optimal dans lequel il existe deux
tâches successives qui ne vérifient pas la dominance
"  On montre qu’en les échangeant on améliore l’objectif
D F

j i

Cj Ci

i j

Cʹi Cʹj
C. Sadfi - Management des opérations II - 33

Ordonnancement de la production

!  Problèmes à une seule machine

-  Problème

•  Règle SPT (shortest processing time)

La règle SPT séquençant les tâches par durée opératoire


croissante est optimale pour 1||ΣCi
C. Sadfi - Management des opérations II - 34

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème : une autre preuve d’optimalité

A B C D

0 5 7 9 12 temps

L’objectif ΣCi est une fonction linéaire des pi :


avec [i] la position de la tâche i dans la séquence
C. Sadfi - Management des opérations II - 35

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème : une autre preuve d’optimalité

•  Minimiser la somme des encours consiste à trouver la


permutation π de [1, n] minimisant :

•  Problème d’affectation

durée (tâche) p[1] p[2] p[3] p[i] p[n]


coefficient n n-1 n-2 n-i+1 1
position 1 2 3 .... i .... n

0 temps
C. Sadfi - Management des opérations II - 36

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Dominance : deux tâches successives sont ordonnancées dans


l’ordre croissant des pi/wi
•  Argument d’échange

D F

j i

Cj Ci

i j

Cʹi Cʹj
C. Sadfi - Management des opérations II - 37

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Argument d’échange

•  Règle WSPT (Weighted Shortest Processing Time)

La règle WSPT séquençant les tâches dans l’ordre croissant des


pi/wi est optimale pour 1||ΣwiCi
C. Sadfi - Management des opérations II - 38

Ordonnancement de la production

!  Problèmes à une seule machine

-  Toutes les tâches ne sont pas disponible au début de


l’ordonnancement

-  Date ri (release date) d’arrivée/disponibilité de la tâche i

-  Des temps d’inactivité (idle time) peuvent apparaître sur la


ressource
C. Sadfi - Management des opérations II - 39

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
A B C D
•  Exemple : 4 tâches à ordonnancer pi 5 2 2 3
ri 0 9 2 8
•  Séquence ABCD : valeur Cmax = 16

A B C D

0 5 9 11 13 16 temps

•  Séquence ACDB : valeur Cmax = 13

A C D B

0 5 7 8 11 13 temps

Ordonnancement des tâches dans l’ordre croissant des ri


C. Sadfi - Management des opérations II - 40

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
A B C D
•  Exemple : 4 tâches à ordonnancer pi 5 2 2 3
ri 0 9 2 8

•  Séquence CBDA (SPT : pi croissant) : valeur ΣCi = 48

C B D A

0 2 4 9 11 14 19 temps

•  Séquence ACDB (ri croissant) : valeur ΣCi = 36

A C D B

0 5 7 8 11 13 temps
C. Sadfi - Management des opérations II - 41

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
A B C D E
•  Exemple : 5 tâches à ordonnancer pi 3 1 1 2 2
ri 0 1 2 3 4

•  Séquence ABCDE (ri croissant) : valeur ΣCi = 28

A B C D E

0 3 4 5 7 9 temps

•  Séquence BCDEA (SPT : pi croissant) : valeur ΣCi = 27

B C D E A

0 1 2 3 5 7 10 temps
C. Sadfi - Management des opérations II - 42

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Le problème est NP-difficile au sens fort

•  Méthodes exactes : programmation linéaire en nombres entiers,


méthode branch and bound

•  Heuristiques
•  Bornes inférieures
C. Sadfi - Management des opérations II - 43

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème : borne inférieure

•  Relaxation du problème : la préemption est permise


•  Le problème est polynomial : ordonnancement
des tâches selon la règle SRPT(shortest remaining processing time)

A B C D E
•  Exemple : 5 tâches à ordonnancer
pi 3 1 1 2 2
ri 0 1 2 3 4
•  Algorithme SRPT : valeur ΣCi = 26

A1 B C A2 D E

0 1 2 3 5 7 9 temps
C. Sadfi - Management des opérations II - 44

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème : borne supérieure

•  Heuristique de Phillips, Stein et Wein 1995


•  Ordonnancement des tâches dans le même que celui donné par
l’algorithme SRPT pour la cas préemptif
•  Algorithme SRPT : valeur ΣCi = 26

A1 B C A2 D E

0 1 2 3 5 7 9 temps
•  Heuristique de Phillips, Stein et Wein : valeur ΣCi = 29

B C A D E

0 1 2 3 6 8 10 temps

L’heuristique a une garantie de performance = 2


C. Sadfi - Management des opérations II - 45

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Dominance : deux tâches successives sont ordonnancées dans


l’ordre croissant des di
•  Argument d’échange

D F

j i

Cj Ci

i j

Cʹi Cʹj
C. Sadfi - Management des opérations II - 46

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Argument d’échange

et

La règle EDD (earliest due date) séquençant les tâches dans


l’ordre croissant des di est optimale pour 1|di|Lmax
C. Sadfi - Management des opérations II - 47

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Le problème est NP-difficile au sens fort

-  Problème

•  Le problème est polynomial

•  Algorithme EDD modifié :


1.  ordonnancer les tâches disponibles dans l’ordre croissant des dates di
2.  "morceler" une tâche affectée et répéter 1 si une nouvelle tâche
arrive qui est plus urgente
C. Sadfi - Management des opérations II - 48

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème A B C D E F G H
pi 5 3 2 4 1 3 6 4
•  Exemple : 8 tâches à ordonnancer
ri 2 10 3 0 0 5 15 21
di 15 14 8 16 20 10 28 25

•  Classement selon EDD : C, F, B, A, D, E, H, G


•  Arrivées : D, E, A, C, F, B, G, H

D1 A1 C F A2 B A3 D2 E G1 H G2

0 2 3 5 8 10 13 15 17 18 21 25 28

: un ordonnancement sans retard est impossible pour ce problème


C. Sadfi - Management des opérations II - 49

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
A B
•  Exemple : 2 tâches à ordonnancer pi 6 10
di 9 4

•  Algorithme EDD : valeur ΣTi = (10 - 4) + (16 - 9) = 13

B A

0 10 16 temps

•  Algorithme SPT : valeur ΣTi = (16 - 4) = 12

A B

0 6 16 temps
C. Sadfi - Management des opérations II - 50

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Le problème est NP-difficile au sens fort

•  Heuristique de Baker et Bertrand : règle MDD (modified due date)

MDDi(t) est le délai modifié de la tâche i, calculé à la date t

Règle MDD : à la date t, dès que la machine devient


disponible affecter la tâche ayant le plus faible MDDi(t)
C. Sadfi - Management des opérations II - 51

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Algorithme de Baker et Bertrand

1.  t=0 ; k=1 ; E={1,....,n} ; S une séquence de dimension n


2.  Trouver i* tel que MDDi*(t) = min{MDDi (t)} / i ∈ E
3.  Placer i* dans la séquence : S(k) = i*
t := t+pi*
E := E\{i*}
k := k+1
4.  Si E=∅ Fin ; sinon aller à l’étape 2
C. Sadfi - Management des opérations II - 52

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
i A B C
•  Exemple : 3 tâches à ordonnancer pi 1 2 4
di 5 4 4

•  Algorithme de Baker et Bertrand : valeur ΣTi = 3

B A C

0 2 3 7 temps
C. Sadfi - Management des opérations II - 53

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
•  Le problème est polynomial : résolu par l’algorithme
d’Hodgson et Moore

1.  Ranger les travaux selon la règle EDD = A ; R=∅ ; déterminer les Ci
2.  Tant qu’il existe des travaux en retard dans A faire :
- soit k le premier travail en retard
- soit l le plus long travail parmi les k premiers
- A=A-{l} et R=R+{l}
- Avancer les tâches en aval de l (sans modifier l’ordre EDD)
- déterminer les Ci
3.  Les séquences optimales sont données par les éléments de A ordonnancés
selon EDD suivis par les éléments de R dans un ordre quelconque
C. Sadfi - Management des opérations II - 54

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème
i A B C D E
•  Exemple : 5 tâches à ordonnancer pi 4 8 2 5 3
di 6 14 19 8 11

•  Algorithme d’Hodgson et Moore : valeur ΣUi = 2

A E C B D

0 4 7 9 17 22
C. Sadfi - Management des opérations II - 55

Ordonnancement de la production
!  Problèmes à une seule machine

-  Contraintes de précédence

•  Précédence i → j : la tâche j ne peut commencer avant la fin de


la tâche i

A B C D E
A
pi 2 3 1 2 4
E

•  Graphe de précédence acyclique des tâches


C. Sadfi - Management des opérations II - 56

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

A B C D E
A
pi 2 3 1 2 4
E

Tout algorithme de liste est optimal (tri topologique)


C. Sadfi - Management des opérations II - 57

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  On définit pour chaque tâche i, un délai modifié, notée dʹi, qui


tient compte des délais de tous ses successeurs : 

: la tâche k est un successeur (pas nécessairement immédiat)


de la tâche i

L’ordonnancement des tâches dans l’ordre croissant des délais


modifiés dʹi (règle EDDʹ) est optimal pour 1/di,prec/Lmax
(à l’égalité, choisir la tâche selon la relation de précédence)
C. Sadfi - Management des opérations II - 58

Ordonnancement de la production
!  Problèmes à une seule machine

-  Problème

•  Exemple : 5 tâches à ordonnancer


C

A i A B C D E
E pi 2 3 1 2 4
B di 8 7 3 6 11

•  Ordonnancement selon la règle EDDʹ : valeur Lmax = 2

A C B D E

0 2 3 6 8 12
C. Sadfi - Management des opérations II - 59

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Problèmes sur machines parallèles

•  Chaque tâche requiert l’utilisation d’une ressource pour son


exécution
•  On dispose de m ressources pour effectuer les n tâches
•  Exemples :
o  livraisons directes depuis un entrepôt : une flotte de camions,
avec quels camions et dans quel ordre effectuer les livraisons ?
o  missions à répartir entre plusieurs équipes
•  Les ressources peuvent être identiques (même temps de traitement
sur toutes les machines) ou hétérogènes (les temps de traitement
diffèrent d’une machine à une autre)
C. Sadfi - Management des opérations II - 60

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Problèmes sur machines parallèles
•  Problème d’affectation des activités aux ressources et
séquencement des activités sur chaque ressource
•  Une activité requiert 1 seule ressource pour s’être effectuée et
toutes les ressources peuvent faire toutes les activités

•  Exemple : 6 pièces à usiner et l’atelier dispose de 3 machines outils


identiques
A B C D E F
•  Un ordonnancement possible : pi 10 4 1 1 2 6

M3 B A

M2 E D

M1 C F

0 14 temps
C. Sadfi - Management des opérations II - 61

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Problèmes sur machines parallèles :

•  Le problème est NP-difficile

•  Problème purement d’affectation des tâches aux ressources

•  Algorithme SPT (shortest processing time) : ordonnancement des


tâches dans l’ordre croissant des pi Heuristique H1

•  Algorithme LPT (largest processing time) : ordonnancement des


tâches dans l’ordre décroissant des pi Heuristique H2
C. Sadfi - Management des opérations II - 62

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Problèmes sur machines parallèles :

M3 B E C
•  Exemple : 6 pièces à usiner
et l’atelier dispose de 3 M2 F D
machines outils identiques M1 A

A B C D E F 0 H2 (LPT) 10
pi 10 4 1 1 2 6
M3 E A

M2 D F

M1 C B

0 H1 (SPT) 12
C. Sadfi - Management des opérations II - 63

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Problèmes sur machines parallèles :

•  Le problème est polynomial


•  Algorithme de McNaughton

Soit

1.  Placer les tâches dans n’importe quel ordre sans préemption sur la
machine M1.
2.  Découper la séquence au niveau de M* et placer les tâches en aval de
M* sur la machine suivante. Terminer l’ordonnancement des tâches non
affectées sur cette machine.
3.  Répéter l’étape 2 jusqu’à ce que toutes les tâches soient ordonnancées.
C. Sadfi - Management des opérations II - 64

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Problèmes sur machines parallèles :

•  Algorithme de McNaughton : exemple 1 (4 machines)

i A B C D E F G H I
pi 7 7 6 6 5 5 4 4 4

M4 G H I

M3 D2 E F

M2 B2 C D1

M1 A B1

0 12 temps
C. Sadfi - Management des opérations II - 65

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Problèmes sur machines parallèles :

•  Algorithme de McNaughton : exemple 2 (2 machines)

i A B C
pi 1 2 5

M2 C2

M1 A B C1

5 temps

•  Remarque : est une borne inférieure


pour le problème
C. Sadfi - Management des opérations II - 66

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Problèmes sur machines parallèles :
•  Le problème est polynomial
•  Algorithme SPT généralisé

1.  Trier les tâches selon la règle SPT.


2.  Affecter la première tâche de la liste non réalisée à la première
machine disponible.

A B C D E F
•  Exemple : 6 tâches et 3 machines
pi 10 4 1 1 2 6
M3 E A

M2 D F

M1 C B

0 temps
C. Sadfi - Management des opérations II - 67

Ordonnancement de la production
!  Problèmes à plusieurs machines M2

-  Ateliers de production
M1 M3

Oi2

Oi1 Oi3

•  m machines spécifiques
•  Stocks d’encours intermédiaires devant les machines
•  La gamme du job Ji est composée d’opérations Oi1,...,Oim
•  L’opération Oik doit se faire sur la machine Mk
•  La gamme peut présenter des contraintes de précédence

Allocation fixée des opérations aux ressources

•  Exemples : atelier de montage, ligne de production, ....


C. Sadfi - Management des opérations II - 68

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Ateliers de production : flow shop

M1 M3
M2

Oi1 Oi2 Oi3

•  m machines en série : ligne de production


•  La gamme opératoire des jobs est une chaine
•  Chaque job est composé de m opérations exécutées une à la suite
de l’autre sur les m machines

.... ....
Oi1 Oi2 Oik Oim
C. Sadfi - Management des opérations II - 69

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Ateliers de production : flow shop
•  Problème

•  Exemple : dans un atelier, les produits passent successivement sur


une machine outil M1 et un poste de finition M2

A B C D E
pi1 2 2 1 3 5 M1
pi2 1 2 4 3 3 M2

M1 A B C D E

M2 A B C D E

temps
C. Sadfi - Management des opérations II - 70

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Ateliers de production : flow shop
•  Définition : ordonnancement de permutation
o  Un ordonnancement est dit de permutation si la séquence des
jobs est la même sur toutes les machines

o  Réduction de l’espace des solutions : (n!)m → (n!)


o  Pour tout critère régulier, il est dominant d’avoir le même
ordre de passage sur les 2 premières machines

o  Les ordonnancements de permutation sont dominants pour les


problèmes et
C. Sadfi - Management des opérations II - 71

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : flow shop

•  Ordonnancement de permutation

o  Pour la makespan (Cmax), il est dominant d’avoir le même


ordre de passage sur les 2 dernières machines

o  Les ordonnancements de permutation sont dominants pour le


problème

•  Les ordonnancements de permutation ne sont plus dominants sur 4


machines
C. Sadfi - Management des opérations II - 72

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : flow shop : expression de Cij

•  Notation

o  C[i]k : date de fin d’exécution de l’opération en position i sur la


machine k
o  p[i]k : durée d’exécution de l’opération en position i sur la
machine k
C. Sadfi - Management des opérations II - 73

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : problème

•  Le problème est NP-difficile pour m ≥ 3

•  Le problème est polynomial : algorithme de Johnson

1.  Soit A = {Ji | pi1 ≤ pi2} l’ensemble des jobs courts sur M1
2.  Soit B = {Ji | pi1 > pi2} l’ensemble des jobs courts sur M2
3.  Ordonnancer les jobs de A par pi1 croissant
4.  Ordonnancer les jobs de B par pi2 décroissant

•  Preuve de l’optimalité de l’algorithme : preuve par argument


d’échange
C. Sadfi - Management des opérations II - 74

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : problème

•  Algorithme de Johnson : exemple

A B C D E
pi1 2 2 1 3 5 M1
pi2 1 2 4 3 3 M2

M1

M2
C. Sadfi - Management des opérations II - 75

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : problème

•  Cas particulier :

La deuxième machine est dominée soit par la première


machine soit par la troisième machine

Séquence optimale obtenue en appliquant l’algorithme de


Johnson sur un nouveau problème à deux machines fictives
Mʹ1 et Mʹ2 avec les durées d’exécution suivantes :
C. Sadfi - Management des opérations II - 76

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : problème

•  Cas particulier :

•  Exemple :

i 1 2 3 4
i 1 2 3 4
pi1 4 6 8 3
pʹi1 6 7 11 5
pi2 2 1 3 2
pʹi2 7 2 9 6
pi3 5 1 6 4

Séquence optimale : 4 — 1 — 3 — 2
C. Sadfi - Management des opérations II - 77

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : problème

•  Heuristique CDS (Campbell, Dudek et Smith)

1.  Générer m-1 solutions en appliquant l’algorithme de Johnson


sur (m-1) sous problèmes à deux machines fictives. La
première regroupe les k premières machines, la deuxième
regroupe les k dernières machines, k varie de 1 à m-1. Les
temps opératoires de chaque tâche i (i = 1...n), sur ces deux
machines fictives sont données par :

2.  Retenir la meilleure des m-1 solutions (plus faible Cmax)


C. Sadfi - Management des opérations II - 78

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Ateliers de production : problème
•  Heuristique CDS (Campbell, Dudek et Smith) : exemple
i 1 2 3 4 5
pi1 4 6 5 3 2 i 1 2 3 4 5
k=1
pi2 2 1 3 2 4 p1i1 4 6 5 3 2

pi3 5 1 6 4 1 P1i2 3 2 4 1 3
séquence 1 : 5 — 3 — 1 — 2 — 4
pi4 3 2 4 1 3
Cmax =
k=3 k=2

i 1 2 3 4 5 i 1 2 3 4 5
p3i1 11 8 14 9 7 p2i1 6 7 8 5 6
P3i2 10 4 13 7 8 P2i2 8 3 10 5 4

séquence 3 : 5 — 3 — 1 — 4 — 2 séquence 2 : 4 — 1 — 3 — 5 — 2
Cmax = Cmax =
C. Sadfi - Management des opérations II - 79

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : job shop


M2

M1 M3

Oi2

Ti2

Oi1 Oi3
Ti1 Ti3

•  La gamme opératoire des jobs est une chaine


•  L’opération Oij du job Ji est exécutée sur la machine Mj
•  Chaque job suit sa propre séquence sur les machines
C. Sadfi - Management des opérations II - 80

Ordonnancement de la production
!  Problèmes à plusieurs machines

-  Ateliers de production : problème

•  Le problème est NP-difficile pour m ≥ 3

•  Le problème est polynomial : algorithme de Jackson

1.  Soit A l’ensemble des tâches utilisant les machines 1 puis 2,


rangées selon la règle de Johnson
2.  Soit B l’ensemble des tâches utilisant les machines 2 puis 1,
rangées selon la règle de Johnson
3.  Soit C l’ensemble des tâches utilisant uniquement la machine
1, rangées dans n’importe quel ordre
4.  Soit D l’ensemble des tâches utilisant uniquement la machine
2, rangées dans n’importe quel ordre
5.  Faire passer sur la machine 1 : A, puis C, puis B
6.  Faire passer sur la machine 2 : B, puis D, puis A
C. Sadfi - Management des opérations II - 81

Ordonnancement de la production
!  Problèmes à plusieurs machines
-  Ateliers de production : problème
•  Algorithme de Jackson : exemple A B C D E
pi1 3 4 1 3 1 M1
M1 M2 pi2 1 5 1 2 M2
A

M1 B A C D E

M2 D E B A
C. Sadfi - Management des opérations II - 82

Ordonnancement de projets
C. Sadfi - Management des opérations II - 83

Les graphes

!  Les graphes font l’objet d’une branche des mathématiques discrètes


appelée "théorie des graphes" développée dans les années 50 par le
français Claude Berge

!  Graphes : ensemble de points et de flèches (représentation graphique)

!  Graphes : des objets, appelés nœuds, reliés par des connexions orientées
(arcs) ou bien non orientés (arêtes)

modélisation
C. Sadfi - Management des opérations II - 84

Graphes orientés
Un graphe orienté G = (X,U) est défini par un ensemble X = {x1,
x2, ...., xn} de n nœuds (ou sommets) et un ensemble U = {u1, u2, ....,
um} de m connexions orientées entre nœuds appelées arcs.

La représentation graphique suivante est celle d’un graphe orienté


G = (X,U) qui peut être décrit indépendamment du dessin en précisant X et
U. Le plus simple est de désigner les nœuds par des entiers de 1 à n et les
arcs par des couples de nœuds.

• X = {1,2,3,4,5,6}, on a n = 6 nœuds (on dit aussi que G est d’ordre 6)
• U = {(1,4),(1,5),(2,2),(2,4),(3,4),(3,5),(4,2),(4,6),(5,2),(6,1),(6,3)}, on a
m = 11 arcs
C. Sadfi - Management des opérations II - 85

Graphes non orientés


Parfois, l’orientation ne nous intéresse pas  : on veut juste savoir quelles
paires de nœuds sont connectées ou pas. On a alors un graphe non orienté
G  =  (X,E) dont les m connexions sont des arêtes (edges). Elles sont
notées entre crochets pour les distinguer des arcs : [1,2] ou [2,1] représente la
même arête

Graphe orienté G=(X,U) Graphe non orienté H=(X,E)


associé à G
C. Sadfi - Management des opérations II - 86

Graphes valués
Les arcs d’un graphe peuvent être munis de coûts ou poids au sens large :
coûts de transport, distances, durées, intensités de courant. Le graphe est
alors valué, on le note G  =  (X,U,C), C étant une application qui à tout
arc (i,j) associe un coût C((i,j)) ou pour abréger Cij
C. Sadfi - Management des opérations II - 87

Ordonnancement de projets
"  Contraintes de précédence
Prec(i,j) : "i précède j" : la tâche i doit être terminée avant de
pouvoir commencer l’exécution de la tâche j

pi
i j

ti + pi ≤ tj ⇔ tj – ti ≥ pi avec :
•  ti : date de début d’exécution de la tâche i
•  pi : durée d’exécution de la tâche i
•  tj : date de début d’exécution de la tâche j
C. Sadfi - Management des opérations II - 88

Ordonnancement de projets

"  Problème à contraintes de précédence

-  Modélisation par un graphe :


•  Méthode potentiel-tâche
•  Méthode potentiel-étape : méthode PERT

"  Méthode potentiel-tâche :

-  Sommets ≡ tâches
-  Arcs ≡ précédence
-  Valuations ≡ durées d’exécution
C. Sadfi - Management des opérations II - 89

Ordonnancement de projets

Exemple

Code tâche Libellé Durée Prédécesseurs


A Travaux de maçonnerie 7 Aucun
B Charpente de la toiture 3 A
C Toiture 1 B
D Plomberie et électricité 8 A
E Façade 2 D,C
F Fenêtres 1 D,C
G Aménagement du jardin 1 D,C
H Plafonds 3 F
I Peintures 2 H
J Emménagement 1 E,G,I
C. Sadfi - Management des opérations II - 90

Ordonnancement de projets

Exemple

3 1 E
B C 2
7
8 1
8 1 3 2 1
A D F H I J
7
8 1

G 1
C. Sadfi - Management des opérations II - 91

Ordonnancement de projets

Exemple

3 1
B C E 2

7 8 1
0 8 1 3 2 1
α A D F H I J ω
7
8 1

G 1
C. Sadfi - Management des opérations II - 92

Ordonnancement de projets

"  G est sans circuit

"  Donc G est décomposable en niveaux

"  Recherche de plus long chemin

"  Date de début au plus tôt ti :


-  C’est la date minimale à laquelle la tache i peut commencer :
•  tα = 0
•  ti = max j∈Γ-1(i){ tj + pj }
C. Sadfi - Management des opérations II - 93

Ordonnancement de projets

Exemple

7 10 15
3 1
B C E 2

7 8 1
0 0 7 15 16 19 21 22
0 8 1 3 2 1
α A D F H I J ω
7
8 1
15
G 1

chemin critique
C. Sadfi - Management des opérations II - 94

Ordonnancement de projets

"  Date de début au plus tard ti :


-  C’est la date maximale à laquelle la tache i peut commencer sans
retarder le projet :

•  tω = tω
•  ti = min j∈Γ(i){ tj - pi }
C. Sadfi - Management des opérations II - 95

Ordonnancement de projets

Exemple
7 10 15
3 1
B C E 2

7 11 14 19
1 22
0 0 0 7 8 15 16 19 21
8 1 3 2 1
α A D F H I J ω

0 0 7 7 1 15 16 19 21 22
8
15
G 1
20

chemin critique
C. Sadfi - Management des opérations II - 96

Ordonnancement de projets
"  Marge totale d’une tâche i : MTi
-  C’est le retard maximal qu’on peut appliquer à la tâche i sans
affecter la date de fin au plus tôt du projet
-  C’est la différence ente date au plus tard et date au plus tôt

•  MTi = ti — ti

"  Marge libre d’une tâche i : MLi


-  C’est le délai dont on peut retarder cette tâche sans affecter les
dates de début au plus tôt des tâches postérieures
•  MLi = min j∈Γ(i){ tj - ti - pi }

"  Remarque : une tâche critique est telle que MT = ML = 0


C. Sadfi - Management des opérations II - 97

Ordonnancement de projets
Exemple 2 : construction d’un nouveau bâtiment

Tâche Description Durée Prédécesseur


A Terrassement 5 -
B Fondations 4 A
C Colonnes porteuses 2 B
D Charpente toiture 2 C
E Couverture 3 D
F Maçonnerie 5 C
G Plomberie, électricité 3 B
H Coulage dalle béton 3 G
I Chauffage 4 H et F
J Plâtre 10 I et E
K Finitions 5 J
C. Sadfi - Management des opérations II - 98

Ordonnancement
!  Références bibliographiques
-  Ouvrages
•  Błeżwicz, J., Ecker, K. H., Pesch, E., Schmidt, G. and Weglarz, J. 1996.
Scheduling in computer and manufacturing processes, Springer-Verlag
•  Carlier, J. et P. Chretienne, P. 1988. Problèmes d’ordonnancement, Masson
•  Esquirol, P. et Lopez, P. 1999. L’ordonnancement, Economica.
•  Garey, M. R. and Johnson, D. S. 1979. Computers and intractability: A
guide of the theory of NP-completeness, W. H. Freeman and Company, San
Francisco
•  Giard, V. 1999. Gestion de projets, Economica
•  Johnson, L. and Montgomery, D. 1974. Operations research in production
planning, scheduling and inventory control, Wiley, New York
•  Pinedo, M. 1995. Scheduling  theory, algorithms and systems, Prentice-Hall

-  Site internet : complexité des problèmes d’ordonnancement


•  http://www2.informatik.uni-osnabrueck.de/knust/class/

Vous aimerez peut-être aussi