Vous êtes sur la page 1sur 21

24/03/1440

Chapitre 5– Les problèmes


d’ordonnancement

Tarik Agouti Département d’Informatique

A – Définition du problème :
En vue de la réalisation d’un objectif ou d’un projet (par exemple la construction
d’une usine). Un certain nombre de tâches ou d’opérations doivent être
effectuées (achat du terrain, permis de construction, fondation, électricité,…).

Le problème d’ordonnancement consiste à déterminer la date de début de chaque


tâche sachant que toute une série de contraintes doivent être satisfaites.

Numérotons les tâches 1,2,…,i,…,n et notons t(i) la date de début de la tâche i.

On rencontre des contraintes de différents types.

Tarik Agouti 1

1
24/03/1440

A.1– Contraintes temporelles


Contraintes de la localisation temporelle : la tâche i doit commencer
après la date a(i)
t(i) ≥ a(i)

Tarik Agouti 2

A.1– Contraintes temporelles


Contraintes de postériorité stricte : la tâche j ne peut commencer
qu’après l’achèvement de la tâche i

t(j) ≥ t(i)+d(i) , où d(i) est la durée de la tâche i

Tarik Agouti 3

2
24/03/1440

A.1– Contraintes temporelles


Contraintes de postériorité avec délai : un délai minimum f(i,j) doit être
respecté entre l’achèvement de la tâche i et le début de la tâche j

t(j) ≥ t(i)+d(i) + f(i,j) , où d(i) est la durée de la tâche i

Tarik Agouti 4

A.1– Contraintes temporelles


Contraintes de postériorité partielle : la tâche j ne peut commencer
avant que la tâche i ait atteint un certain degré d’avancement

t(j) ≥ t(i)+ α(i,j)*d(i) , où d(i) est la durée de la tâche i et


0≤α(i,j) ≤ 1

Tarik Agouti 5

3
24/03/1440

A.1– Contraintes temporelles


Contraintes de continuité : pour que la tâche j puisse débuter il faut que
le temps écoulé depuis le début de la tâche i ne soit pas supérieur à
t(i,j)

t(j) - t(i) ≤ t(i,j)

Tarik Agouti 6

A.2– Contraintes sur les moyens mis en


œuvre
Ces contraintes sont appelées aussi contraintes cumulatives elles
concernent les limitations de matériel, de financement et de main,s
d’œuvre à un instant donné ou pendant une période donnée.

Dans certain problèmes d’ordonnancement les durées des tâches sont


connues avec exactitudes et dans d’autres les durées sont des
variables aléatoires.

Tarik Agouti 7

4
24/03/1440

B– La méthode du chemin critique (PERT


)
Program of Evaluation and Review Technique

Cette méthode ne prend en compte que les contraintes temporelles et


suppose que les durées des tâches connues avec exactitude. Elle
consiste à ramener la détermination du calendrier (timing) des
opérations à la recherche du chemin critique dans un graphe valué.

Tarik Agouti 8

B.1– Représentation du problème par un


graphe valué
On considère un graphe où il y a autant d’arcs qu’il y a de tâches à
effectuer
Le sommet initial de l’arcs représente le début de la tâche
Le sommet terminal représente la fin de la tâche
Chaque arcs est affecté par une valeur traduisant la durée de la tâche
On ajoute deux sommets supplémentaires pour représenter
respectivement le début et la fin des travaux.

Tarik Agouti 9

5
24/03/1440

Exemples :
Voir le tableau

Tarik agouti 10

B.2– Simplification du graphe


Pour limiter le nombre d’arcs et de sommets, on essaye autant que
possible de le simplifier, ainsi deux sommets joints par un arc de valeur
0 peuvent être confondus.

Remarque

Voir le tableau

Tarik Agouti

6
24/03/1440

B.3– Ordonnancement
Il résulte de la mise en graphe que la date de début au plutôt de la
tâche i notée ES(i) (Earliest Start) sera donnée par le chemin de valeur
maximale joignant le début des W au début de la tâche i.

En réalisant ce calcul pour chaque tâche, on obtient l’ordonnancement


au plutôt et par la même occasion la durée totale minimale T des
travaux.

Tarik Agouti 12

3– Ordonnancement
La date de fin au plutôt de la tâche notée EF(i) :
EF(i)= ES(i)+d(i)

Tarik Agouti 13

7
24/03/1440

3– Ordonnancement
La date de fin au plutôt de la tâche notée EF(i) :
EF(i)= ES(i)+d(i)

Tarik Agouti 14

3– Ordonnancement
La date de la fin au plus tard de la tâche i notée LF(i) est celle dont le
dépassement provoquerait un prolongement de la durée totale des
travaux. Elle s’obtient en retranchant de T la valeur du chemin
maximum entre la fin de i et la fin des W.

Tarik Agouti 15

8
24/03/1440

B.3– Ordonnancement
La date de début au plus tard de la tâche i notée LS(i) (last start)
LS(i)=LF(i)–d(i)

Tarik Agouti 16

B.3– Ordonnancement
On obtient ainsi les dates de début et de fin au plutôt et au plus tard de
chaque tâche de manière à terminer les travaux en la durée T.

Pour la recherche des chemins optimaux on utilise par exemple


l’algorithme de BELLMAN KALABA

Tarik Agouti 17

9
24/03/1440

B.4– Tâches critiques, marges libres et


totales

Une tâche est critique si LS(i) = ES(i). Ce sont donc les tâches qui
constituent le chemin de valeur optimale entre le début et la fin des
travaux.

Tarik Agouti 18

B.4– Tâches critiques, marges libres et


totales

La marge totale de la tâche i est la valeur LS(i)-ES(i)

La marge libre de la tâche i est le retard qu’on peut se permettre sur la


tâche i sans perturber les dates au plutôt des tâches qui suivent.
ML(i)j suit i = min {ES(j)-EF(i)}

Tarik Agouti 19

10
24/03/1440

B.5– Exemple : Organisation d’un événement


La première étape consiste à établir la liste des tâches, dans un
tableau en indiquant les contraintes temporelles :

Tâches A B C D E F G H I J
Durée 3 2 1 3 5 4 3 4 5 1
Tâches - A B C C D D,E G G F,H,I
antérieurs

A: Définition du budget; B:Sélection thème; C: Choix de la date et le lieu; D: Embauche


de traiteur; E: Annonce de presse; F: Sélection menu; G: Location des équipement;
H: Embauche personnel; I: Préparatifs; J:Evénement;

Tarik Agouti 20

B.5– Exemple : Organisation d’un événement


• Mise en graphe :

Voir Tableau
• Simplification du graphe :

Voir Tableau

Tarik Agouti 21

11
24/03/1440

B.5– Exemple : Organisation d’un événement


• Solution du problème d’ordonnancement :

Tâches Durée T. ES EF LS LF MT ML T. critiques


antérieures

Tarik Agouti 22

B.5– Exemple : Organisation d’un événement


• Représentation des résultats :

On peut représenter les résultats au moyen du graphe simplifié à chaque


sommet auquel sont associés.
1. La date de début au plutôt à laquelle peuvent commencer les
tâches dont ce somment représente le début (case gauche).
2. La date de début au plus tard à laquelle doivent finir les
tâches dont le sommet représente la fin (case droite)

Tarik Agouti 23

12
24/03/1440

B.5– Exemple : Organisation d’un événement


Ce graphe comporte les informations qui sont sur le tableau précédent.

On peut aussi associer au problème un diagramme de GANTT où


chaque tâche est représentée par un segment qui commence au plutôt
de longueur proportionnelle à sa durée.

Sa lecture permet la prise en compte des contraintes cumulatives par


contre, il ne comprend pas toute l’information comme le graphe
précédent; on prolonge en pointillées chaque tâche jusqu’à sa fin au
plus tard.

Tarik Agouti 24

C– La méthode des potentiels


1. Représentation du problème par un graphe :
Les sommets : tâches à effectuer.

Les arcs sont associés au contraintes de type : t(j)-t(i)≥a(i,j)


appelées contraintes de potentiel et à l’arc (i,j) on associe la
valeur a(i,j).
a(i,j)

On ajoute deux sommets : tâches de début et fin des travaux.

Tarik Agouti 25

13
24/03/1440

C.1– Représentation du problème par un


graphe :
Exemples :
a(i) t(i)
t(i)≥a(i)

t(i) d(i) t(j)


t(j)≥t(i)+d(i)

t(i) d(i)+f(i,j) t(j)


t(j)≥t(i)+d(i)+f(i,j)

t(i) α(i,j)*d(i) t(j)


t(j)≥t(i)+α(i,j)*d(i) , 0 ≤ α(i,j) ≤1

t(i) -t(i,j) t(j)


t(j)-t(i)≤t(i,j)

Tarik Agouti 26

C.1– Représentation du problème par un


graphe :
Exercice : Transformer les contraintes suivante en graphe

j commence exactement après le début de i.


La fin de j doit suivre la fin de i d’au moins t(i,j) unités de
temps.
La fin de j doit survenir exactement t(i,j) unités de temps
après la fin de i.
La tâche i doit démarrer exactement à la date a(i).

Tarik Agouti 27

14
24/03/1440

C.2– Exemple : on reprend l’exemple du


§B
Mise en graphe par la méthode des potentiels :

Voir tableau

Tarik Agouti 28

C.3– Résolution du problème


Pour chaque sommet (chaque tâche) on va calculer le chemin de
valeur maximal joignant ce sommet au début et la fin des travaux.

On obtient ainsi respectivement la date de début au plutôt et de la fin


au plus tard de cette tâche.

On déduit alors les autres dates ainsi que les marges totales et libres
de chaque tâche.

La représentation des résultats se fait de la même façon qu’on §B

Tarik Agouti 29

15
24/03/1440

D– Prise en compte des contraintes


Les tâches réalisées font en général appel à des moyens (outils,
machines, matières première, ressources humaines,…) qui ne
sont disponibles qu’en quantités limitées.

Le but de ce paragraphe est de montrer comment on tient compte de


ces contraintes en jouant sur les intervalles de « flottement »
associés aux taches.

Tarik Agouti 30

D– Prise en compte des contraintes


Pour un ordonnancement donnée, à chaque moyen correspond une
courbe des charges représentant au cours du temps les quantités
cumulées des moyens à mettre en œuvre pour réaliser les tâches
en cours.

Si ces quantités respectent les contraintes relatives à ce moyen,


alors il n’y a pas de problème; SI NON,

Tarik Agouti 31

16
24/03/1440

D– Prise en compte des contraintes


SI NON, on détermine les tâches qui sont responsables de surcharge,
que l’on déplace dans les limites de leurs marges libres.

Si ces déplacements ne permettent pas de satisfaire les contraintes,


alors la durée totale des travaux doit être augmentée.

Tarik Agouti 32

-
D.1– Exemple
Considérons un projet P = {T1,T2,T3,T4,T5,T6,T7,T8,T9,T10} constitué
des tâches dont les caractéristiques sont représentées par le
tableau suivant :
Tâches Durée T. antérieures ES LS ML
T1 2 _ 0 12 0
T2 3 _ 0 9 0
T3 5 _ 0 9 9
T4 6 _ 0 0 0
T5 2 Après T1 2 14 3
T6 4 Après T2 3 12 0
T7 1 Après T2 3 13 10
T8 8 Après T4 6 6 0
T9 5 Après T1, T2, 7 16 9
T5, T6
T10 7 Après T2, T3, 14 14 0
T4, T7, T8
Tarik Agouti 33

17
24/03/1440

D.1– Exemple :
On suppose qu’au sens d’un ensemble d’ouvriers, chaque tâche
nécessite un nombre d’équipes fixés comme suit :

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10
1 1 0 0 3 2 1 0 3 1

Le diagramme de GANTT nous permet de visualiser le nombre total


d’équipes nécessaires à chaque instant.

Tarik Agouti 34

D.1– Exemple :
Charges et taches

T5
T5 T5 T9 T9 T9 T9 T9

T2 T2 T5 T5 T6 T6 T6 T9 T9 T9 T9 T9
T1 T1 T2 T5 T6 T6 T6 T9 T9 T9 T9 T9 T10 T10 T10 T10 T10 T10 T10
2 3 4 7 12 14 21
T
Supposons que l’on dispose à chaque instant de 3 équipes.

Tarik Agouti 35

18
24/03/1440

-
D.1– Exemple : Intuitivement
• En reculant T9 de 2 semaines (c’est possible voir marge
libre)
• En reculant T6 de 2 semaines (moyennant le recul de
T9)
• En reculant T5 de 2 semaines
Charges et taches

On obtient un nouveau ordonnancement qui n’allonge pas la


durée totale en tenant compte des contraintes cumulatives.

T5 T5 T7 T9 T9 T9 T9 T9

T2 T2 T5 T5 T6 T6 T6 T9 T9 T9 T9 T9
T1 T1 T2 T5 T5 T6 T6 T6 T9 T9 T9 T9 T9 T10 T10 T10 T10 T10 T10 T10
2 3 4 7 12 14 21
T
Tarik Agouti 36

-
D.2– Algorithme de MILORD

1. Ranger les tâches par ordre croissant de leur date


de début au plus tard. En cas d’égalité on prend la
tâche qui a la plus petite marge libre (les premières
de la liste sont celles qu’on peut reculer le moins).

2. Considérons les tâches dans l’ordre obtenu et les


places au plutôt, compte tenu de de leur dates de
début au plutôt et des contraintes cumulatives.

Tarik Agouti 37

19
24/03/1440

-
D. 3– Application à l’exemple
• Etape 1 : Classement Tâches Début au plus ML Début au plus
tard tôt
1 T4 0 0 0
2 T8 6 0 6
3 T2 9 0 0
4 T3 9 9 0
5 T6 12 0 3
6 T1 12 0 0
7 T7 13 10 3
8 T10 14 0 14
9 T5 14 3 2
10 T9 16 9 7

Tarik Agouti 38

-
D. 3– Application à l’exemple
• Etape 2 : Classement Tâches Début durée charge

1 T4 0 6 0
2 T8 0 8 0
3 T2 0 3 1
4 T3 0 5 0
5 T6 3 4 2
6 T1 0 2 1
7 T7 3 1 1
8 T10 14 7 1
9 T5 2 2 3
10 T9 7 5 3

Tarik Agouti 39

20
24/03/1440

A vérifier !

D.3– Application à l’exemple :


T5 ne peut commencer avant, donc T5 recule de 5 semaines
Charges et taches et puisque la M.L. = «3 donc les tâches qui suivent reculent
de 2 semaines (5-3).

T9 2 semaines

T7 T5 T5 T9 T9 T9 T9

T1 T1 T6 T6 T6 T6 T5 T5 T9 T9 T9 T9
T2 T2 T2 T6 T6 T6 T6 T5 T5 T9 T9 T9 T9 T10 T10 T10 T10 T10 T10 T10

2 3 4 7 12 14 21
T5 T9 T
Tarik Agouti 40

-
D.3– Application à l’exemple :
Remarque : S’il avait été impossible de caser T9 entre 9 et
14 on aurait dû, en appliquant l’algorithme, la placer
après T10.

Allongement de la durée totale de 5 semaines alors


qu’avec le recul de T10 d’une semaine on peut placer T9
entre 10 et 15!! (méthode heuristique)

Tarik Agouti 41

21

Vous aimerez peut-être aussi