Académique Documents
Professionnel Documents
Culture Documents
d’ordonnancement
1
Définitions
L’ordonnancement consiste à prendre
des décisions concernant le processus
de production de biens ou de services
Il s’agit d’un problème d’allocation des
ressources aux activités sur une période
donnée afin d’optimiser un ou plusieurs
objectifs
Définitions
Exemples de ressources : machine dans un atelier,
vols dans un aéroport, équipes dans un projet de
construction, …
exemples de tâches : opérations de transformation
dans un atelier, atterrissage dans un aéroport, étapes
dans un projet de construction,…. Chaque tâche peut
être caractérisée par : un degré de priorité, une date
de début au plutôt et une date de fin souhaitée
Exemple d’objectifs : minimisation de l’exécution de
la dernière tâche, minimisation du nombre des tâches
en retard (leurs dates de fin d’exécution dépassent
leurs dates de fin souhaitée)
3
Définitions
Le problème d’ordonnancement
consiste à préciser pour chaque tâche :
Sur quelle ressource doit-elle passer ?
Quand va-t-on commencer cette tâche ?
4
Exemple
Entreprise produit des sacs à papier pour : ciment,
charbon, la nourriture des chiens, ..
La Matière Première Basique : papier
Le processus de production comprend trois étapes :
impression du Logo, collage d’un côté du sac, la
couture du sac
Chaque étape est constituée de plusieurs machines
non identiques : vitesse, nombre de couleurs qu’elles
peuvent imprimer, la taille des sacs pouvant produire
Chaque ordre de fabrication est caractérisé par :
La quantité d’un sac bien déterminé à produire et à délivrer
La durée d’exécution des différentes opérations est proportionnelle à la
taille de l’ordre de fabrication (autrement le nombre de sacs à produire)
5
Exemple
Ordre 1: 1/10/12 Impression Collage Couture
Quantité
100 sacs de ciment
Date fin souhaitée
6/10/12
Ordre 2: 1/10/12
M1 M2 M3
Quantité
200 sacs charbon
Date fin souhaitée
4/10/12
M1 M2 M3
M1 M3
Ordre 3: 1/10/12
Quantité
300 sacs nourriture
Date fin souhaitée
5/10/12
M3
6
Exemple
Une livraison en retard engendre une pénalité qui dépend de
l’importance de l’ordre (client) et de la durée du retard
7
Définitions
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
La théorie de l’ordonnancement est une branche de
la recherche opérationnelle. Elle consiste en la
recherche des modèles mathématiques et la mise au
point de méthodes de résolution efficaces des
problèmes proposés
8
La place de l’ordonnancement dans le
processus de planification
Plan Industriel
Commercial
(PIC)
Plan Directeur
de Production (PDP)
Ordonnancement
9
Séquence menant d’un plan à l’autre
(adapté de Nollet, Kélada et Diorio, édition 1986)
(36) (1)
III. Le plan des besoins -matières
Semaine du …
15 avril 22 avril 29 avril 6 mai 13 mai 20 mai 27 mai 3 juin 10 juin …
composants
Panneau no. 2441 (90X90) - - - 120 - - - - -
Ressort no. 1322 - - 4 320 - - - - - -
opération matin après - midi matin après - midi matin après - midi
Coupe 400 120 200 350
no. 1 120 no. 2441 no. 1493 no.1122 Entretien
M1
M2
M3
M4
11
Domaines d’application
Gestion de la production : ordonnancement
d’atelier (ordre d’exécution des tâches dans
l’atelier)
Gestion de projet : ordonnancement des
activités, des tâches
Gestion des emplois du temps : enseignement,
aéronautique
12
Vocabulaire
13
Vocabulaire
Exemple : le travail « découper 10
bobineaux » pourra donner les opérations :
Sortir une bobine mère de 20 cm de large
Effectuer la découpe
14
Vocabulaire
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 parmi celles
susceptibles de l’effectuer
15
Vocabulaire
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
machine sur laquelle elle sera exécutée
(environnement multi-machines avec machines
assurant les mêmes fonctions)
Ordonnancement : séquencement ou
affectation ou affectation et séquencement
16
Données
n : nombre de tâches indicées par i
m : nombre de machines indicées par j
pi : durée d’exécution de la tâche i
pij : durée d’exécution de la tâche i sur la machine j
ri : date de disponibilité de la tâche i (date de début au plus tôt,
release date)
di : date de fin souhaitée de la tâche i (au délai de cette date
promise au client, on encourt des pénalités – due date-). Si on
parle de date d’achèvement c’est que cette date doit être
strictement respectée (– deadline-)
wi : poids attribué à la tâche i ; il exprime le facteur
d’importance et de priorité (importance des clients, coût de
stockage)
17
Variables
ti : date de début de la tâche i
tij : date de début de la tâche i sur la machine j
Ci = ti + pi : date de fin d’exécution de la tâche i (sur une seule
machine)
Cij = tij + pij : date de fin d’exécution de la tâche i sur la machine
j ; dans ce cas Ci = Max (tij + pij) : date de fin d’exécution de la
tâche i sur les machines j « Completion time »
pi
ti Ci
18
Variables
19
Variables
ri di Ti=Li
pi Ui=1
ti Ci
Li
Fi
20
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
21
Diagramme de Gantt : exemple
A B C D E F
6 pièces à usiner :
pi 10 4 1 1 2 6,5
M1 B A
M2 E D
M3 C F
0 14 temps
22
Codification des problèmes
d’ordonnancement
description des ressources : critère d’optimisation
nombre de ressource, type
de ressource, etc.
24
Les types d’atelier :
Une machine (1)
chaque travail est constitué d’une seule opération
25
Les types d’atelier :
Machine parallèles
• machines identiques (Pm) : la vitesse d’exécution est la même pour les m
machines et pour tous les travaux ;
• machines uniformes (Qm) : chaque machine a une vitesse d’exécution propre
et constante. La vitesse d’exécution est la même pour tous les travaux d’une
même machine ;
• machines indépendantes (Rm) : la vitesse d’exécution est différente pour
chaque machine et pour chaque travail.
26
Les types d’atelier :
Flow shop (Fm) : le cheminement des travaux est unique : les n
travaux utilisent les m machines dans l’ordre 1, 2, ..., m (ligne de
production)
27
Les types d’atelier :
Job shop (Jm) : les séquences opératoires relatives aux différents
travaux peuvent être distinctes et sont propres à chaque travail
28
Les types d’atelier :
Open shop (Om) :
Il existe m machines.
Chaque travail doit être traité de nouveau sur
chaque machine. Cependant, certains de ces
temps de traitement peuvent être zéro.
Il n'y a aucune restriction en ce qui concerne
le cheminement de chaque travail par
l'environnement de machine (pas de gamme
précise pour chaque travail)
29
Les types d’atelier :
Flexible Flow Shop (FFc) :
Généralisation du problème flow shop et
machines parallèles
Au lieu de m machines en série, on dispose
de c étages en série. A chaque étage, on a
des machines identiques en parallèle
Chaque travail doit passer à l’étage 1, puis
étage 2 et ainsi de suite
30
Les types d’atelier : FF3
Étage 1 Étage 2 Étage 3
M1 M2 M3
M1 M2 M3
M1 M3
M3
31
Principales contraintes :
Date d’arrivée : rj
Si rj apprait dans le champ , la tâche j ne
peut pas commencer avant rj, sinon elle
peut commencer à tout instant
La date de fin souhaitée dj, n’apparaît pas
dans le champ , la fonction objectif
indique si existe ou non des dates de fin
souhaitée
32
Principales contraintes :
Préemption : prmp
On peut interrompre l’exécution d’une
tâche et commencer une autre tâche,
quand on reprend la tâche interrompue, on
termine son exécution (le travail restant)
Précédence : prec
Les contraintes de précédence appraîssent
surtout dans les problèmes à une machine
ou machines parallèles
33
Principales contraintes :
Temps de setup dépendant de la séquence : sjk
Représente le temps de setup entre le travail j et le travail k
s0k : représente le temps de setup du travail k, si k est le
premier travail dans la séquence
sj0 : représente le temps de nettoyage après l’exécution du
travail j, si j est le dernier travail dans la séquence
Si le temps de setup entre j et k dépend de la machine,
ainsi, on ajoute l’indice i : sijk
Si sjk n’apparaît pas dans le champ , alors le temps de setup
=0 ou bien ne dépend pas de la séquence dans tel cas, on
l’ajoute à la durée opératoire
34
Principales contraintes :
Indisponibilité (Breakdown): brkdwn
La machine peut être indisponible pendant
certaines périodes (maintenance
préventive)
La période d’indisponibilité est supposée
fixe
35
Principales contraintes :
Restriction d’éligibilité des machines : Mj
Mj peut apparaître dans le champ dans le cas où
on a m machines parallèles par exemple
Dans ce cas, toutes les machines ne sont pas
capable d’exécuter un travail j,
Mj désigne dans ce cas l’ensemble des machines
capables d’exécuter le travail j
36
Principales contraintes :
Blocage : block
le phénomène de blocage apparaît dans le cas
d’un problème de flow shop où la capacité de
stockage des tampons entre les machines est
limitée
supposons que le tampon est à sa capacité
maximale, dans ce cas, la machine en amont est
bloquée, le dernier travail qu’elle a exécuté doit
être bloqué dans cette machine et cette dernière
est incapable d’exécuter un autre travail
37
Principales contraintes :
Sans attente (no-wait) : nwt
le phénomène de sans attente peut apparaître
dans un problème de flow shop ou flow shop
flexible
Le travail ne peut pas attendre entre deux
machines successives
Exemple : bloc opératoire, un patient doit passer
directement de la salle d’opération à la salle de
réveil sans attente.
38
Principales contraintes :
Recirculation : rcrc
le phénomène recirculation peut apparaître dans
le problème de job shop
Un travail peut visiter une machine plus qu’une
fois.
39
Critères d’optimisation :
40
Critères d’optimisation :
41
Exemple 1
Problèmes à une seule machine
Makespan Cmax
Objectif : minimiser la durée totale de l’ordonnancement
Cmax = Max(Ci)
Exemple : 4 tâches à ordonnancer
Séquence = ABCD :
A B C D
valeur Cmax = 12 pi 5 2 2 3
A B C D
12 temps
42
Exemple 2
Problème 1 ri Cmax
A B C D
• Exemple : 4 tâches à ordonnancer
pi 5 2 2 3
ri 0 9 2 8
43
Exemple 2
Problème 1 ri Cmax 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
A C D B
0 5 7 8 11 13 temps
44
Critères d’optimisation :
45
Critères d’optimisation :
46
Codification des problèmes
d’ordonnancement
minimisation du retard maximal sur
1 prec Lmax une seule machine avec des
contraintes de précédence
47
Codification exemple
FFc| ri| wiTi : Flexible Flow Shop, les
tâches sont caractérisées par des dates
d’arrivée et des dates de fin souhaitées,
l’objectif est de minimiser la somme des
retards pondérés.
48
Notion de complexité
complexité
49
Notion de complexité
Algorithme polynomial : un algorithme dont le nombre d’opérations est
un polynôme de n. Exemples : n2, nlogn
51
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
F2 C i 1 ri C i P2 Cmax 1 di T
i
F2 Cmax J2 Cmax
52
Hiérarchie de complexité
Souvent un algorithme résolvant un problème
d’ordonnancement, peut résoudre un autre
problème d’ordonnancement
Exemple : 1| |Cj est un cas spécifique de 1| |wjCj ,
ainsi la procédure de résolution de 1| |wjCj peut être
utilisée pour la résolution de 1| |Cj
On dit que 1| |Cj réduit 1| |wjCj noté :
1| |Cj 1| |wjCj
En se basant sur ce concept :
53
Hiérarchie de complexité
54
Hiérarchie de complexité selon
[Pinedo, 2008]
55
Hiérarchie de complexité selon
[Pinedo, 2008]
56
Hiérarchie de complexité selon
[Pinedo, 2008]
57
Hiérarchie de complexité
la hiérarchie de complexité des
problèmes :
58
Hiérarchie de complexité
[Pinedo, 2008]
59