Vous êtes sur la page 1sur 22

CHAPITRE 4 : LES PROBLEMES D’ORDONNANCEMENT

Objectifs

- Définir un problème d’ordonnancement en détaillant ses différents composants.

- Savoir représenter un problème d’ordonnancement.

Plan du chapitre

I. Définitions

1. Tâches

2. Ressources

3. Contraintes

4. Critères

II. Domaines d’application

III. Représentations des problèmes d'ordonnancement

1. Diagramme de Gantt

2. Diagramme de la charge

3. Diagramme potentiel tâches : PDM

4. Diagramme potentiel étapes : PERT

VI. Notations

V. Typologie

IV. Notation de Conway

Volumehoraire

3 séances de cours intégré

CChhaappiittrree 44
CChhaappiittrree 44

Les problèmes d'ordonnancement

Définitions

Définition

programmer leur exécution en leur allouant les ressources requises et en fixant leur date de début.

c’est

1 :

Ordonnancer

un

ensemble

de

tâches

Définition 2 : Soit un ensemble de tâches, le problème d’ordonnancement consiste à les organiser dans le temps et dans l’espace en fonction de contraintes diverses (temporelle, géométrique, technique) également en fonction de certains critères.

Définition 3 : Le problème d’ordonnancement consiste à allouer des tâches à des ressources et ceci de manière optimale dans le temps.

Ressources

Temps Contraintes + Critères
Temps
Contraintes
+
Critères

Tâches

La résolution d’un problème d’ordonnancement doit concilier deux objectifs :

- L’aspect statique consiste à générer un plan de réalisation des tâches, sur les bases de données prévisionnelles. Ces problèmes se caractérisent par la recherche d’un ordonnancement optimal (ou d’un bon ordonnancement) d’un ensemble de tâches sur une période donnée. Les outils théoriques ainsi que de bonnes heuristiques permettent maintenant de résoudre certains problèmes de grande taille.

- L’aspect dynamique consiste à prendre des décisions en temps réel compte tenu de l’état des ressources et de l’avancement dans le temps des différentes tâches.

1- Tâches

- Une tâche, lot, travail, action, opération ou job est une activité ayant un début et une fin. Un projet est constitué d’un ensemble de tâches.

- Une tâche est dite morcelable ou préemptive si elle peut être exécutée en différents morceaux.

- Une tâche non préemptive est une tâche qui est exécutée en bloc ou en un seul morceau.

- Tâche récapitulative : tâche récapitulant un ensemble de tâches subordonnées.

- Jalon : Point de référence marquant un événement important dans l’avancement du projet. Correspondant à une tâche en général de durée nulle, un jalon est utilisé pour contrôler l’avancement du projet.

2- Ressources

- Une ressource est dite renouvelable si après avoir terminé une tâche, elle devient disponible.

- Une ressource est dite consommable si après avoir terminé une tâche, elle n’est plus disponible soit en partie soit en entier.

- Une ressource est dite partageable si elle peut être partagée par plusieurs tâches à la fois.

- Une ressource unitaire : les tâches sont mono opération, et il existe une seule ressource pour leur exécution.

- Ressources parallèles : les tâches sont mono opération, et il existe plusieurs ressources susceptibles de les exécuter. Les ressources, identiques, uniformes (seul le critère vitesse introduit une différence entre les machines) ou différentes sont organisées en parallèle.

3- Contraintes

- Il y a deux familles de contraintes : des contraintes qui portent sur les ressources et d’autres qui portent sur les tâches.

- Contraintes qui portent sur les tâches :

o

Les contraintes absolues : elles sont définies par rapport à une date fixe. La date doit être fixée à une date précise (la tâche T commencera à la date t=t 0 ).

o

Les contraintes relatives : appelées également le chevauchement. On peut distinguer les contraintes de précédence Ti < = Tj

relatives : appelées également le chevauchement. On peut distinguer les contraintes de précédence Ti < =

o

Les contraintes disjonctives : se présentent généralement quand il y a un conflit entre les ressources. Ti < Tj

quand il y a un conflit entre les ressources. Ti < Tj - Contraintes qui portent

- Contraintes qui portent sur les ressources :

La contrainte de capacité exprime le fait que les moyens nécessaires pour exécuter un certain nombre de tâches sont à chaque instant limité. Exemple : le disque dur ( ∑qj < Ci(Ri)). On parle aussi de contrainte cumulative.

4- Critères

- Les critères relatifs aux tâches : commencer une tâche T donnée au plutôt.

- Les critères relatifs aux ressources : choisir la ressource la plus fiable, la ressource la moins chargée …

- Les critères locaux ou critères de préférence.

- Fonction coût ou fonction objective : minimiser la durée totale du projet (ou makespan)

II-Domaines d’application

Les problèmes d’ordonnancement figurent dans divers champs d’applications à savoir :

- La fabrication : les ateliers de production, …

- La construction : construction des voitures, construction des bâtiments, construction des navires, …

- La vie courante : recette de cuisine, …

- La robotique

- Les télécommunications : gestion des satellites, gestion des fréquences, …

- L’administration : gestion des emplois des temps, gestion de documentation, …

- Le domaine du transport : trafic aérien, …

- L’informatique : gestion de mémoire, …

- Etc …

Ordonnancement en informatique Exemple 1 :

- Ordonnanceur : gestion des processus {liste de processus, priorité, quantum du temps}

- Système d’exploitation UNIX multitâches/multi utilisateurs.

Exemple 2 :

- La programmation parallèle : machines multi processeurs

- Contrainte : c’est l’architecture (clusters, nœuds, …)

- Critères : essayer de minimiser les communications et équilibrer les charges entre les processeurs. (complexité = traitement + communication)

Les méthodes et outils qui ont été utilisés dans ces différents domaines d’application afin de résoudre les problèmes d’ordonnancement sont très variés. Parmi ces méthodes, on peut trouver :

- Les méthodes à base de graphes

- La recherche opérationnelle : programmation linéaire, programmation entière, programmation dynamique, branch and bound, …

- Les méthodes venant de la théorie des graphes : chemins minimaux, couverture minimale, flots dans un graphe, …

- Des heuristiques nombreuses

- Les systèmes de l’Intelligence Artificielle : les systèmes experts,

- Les SIAD (systèmes d’information d’aide à la décision)

- Etc …

III- Représentations des problèmes d'ordonnancement

On peut distinguer les types de liens ou dépendances entre les tâches comme suit :

• Fin à début (FD) : la fin d'une action précède immédiatement le

début de la suivante. Généralement, c’est le lien par défaut.

• Début à début (DD) : une tâche peut débuter dès que l'autre a débuté

• Fin à fin (FF) : la fin d'une tâche autorise la fin de l'autre

Afin de pouvoir représenter les contraintes entre les différentes tâches formant un projet, plusieurs représentations ont été conçues. Parmi ces représentations, on peut citer :

1- Diagramme de GANTT

C’est le diagramme couramment utilisé. Les tâches sont ordonnancées sur les ressources et sont placées sur un tableau où le temps est en abscisse et les ressources en ordonnée.

M3

M2

M1

Ressources T3 T2 T1 Temps
Ressources
T3
T2
T1
Temps

2- Diagramme de la charge

Ce diagramme a pour but d’exprimer la quantité de ressources consommée à chaque instant.

Charge Charge maximale Temps
Charge
Charge
maximale
Temps

3- Diagramme Potentiel Tâches : PDM

PDM : Precedence Diagramming Method Ce diagramme permet de visualiser des tâches sous forme de graphe. Nœud : tâche Arc : contrainte d’antériorité Sens : ancêtre - descendant Méthode CPM(Critical Path Method)

4- Diagramme Potentiel Etapes : PERT

PERT: Program Evaluation and Review Technique (développée par la marine américaine). Il s’agit d’un graphe orienté permettant de représenter les contraintes d’enchaînement temporel. Il s’agit de visualisation des étapes sous forme de graphe. Nœud : étape du projet Arc : tâche et contrainte d’antériorité Sens : ancêtre descendant

Exemple : Etant donné le problème d’ordonnancement suivant, en utilisant les différents diagrammes, vus ci dessus, représenter ce problème.

Tâche

Temps

Contraintes

A

1

-

B

4

-

C

5

A, B

D

2

C

E

4

C

Formule de calcul des dates au plus tôt :

Date de début au plus tôt : D+tôt (Ti) = sup (D+tôt (Tj) + dij) Avec Tj prédécesseurs de Ti

Date de fin au plus tôt :

F+tôt (Ti) = D+tôt (Ti) + dij

Formule de calcul des dates au plus tard :

On fait l’hypothèse d’une date de fin de projet (fonctionnement par date limite) On parcourt le graphe en sens inverse Si tf est la date limite de fin du projet, F+tard (Tfi) = tf

Date de début au plus tard : D+tard (Ti) = inf( D+tard (Tj) dij) Avec Tj successeurs de Ti

Date de fin au plus tard : F+tard (Ti) = inf (D+tard (Tj))

La marge : c’est la différence entre les dates au plus tôt et au plus tard. Les marges ne peuvent pas être négatives.

Chemin critique :

- Met en évidence les tâches qui risquent de retarder la fin du projet si elles sont en retard.

- Le chemin critique est celui sur lequel les marges sont nulles ou

les plus faibles possibles.

- S’il n’y a que des liens fin-début, c’est le chemin le plus long.

IV- Notations

A chaque tâche, sont associées plusieurs grandeurs qu’on présentera dans ce qui suit :

- ready date ou date de début au plus tôt

r i :

- due date ou date de fin au plus tard

d i :

- p i,j

: processing time ou durée d’exécution de la j ème opération

de la tâche i.

Les grandeurs permettant d’évaluer un ordonnancement sont :

- Ci : completion time ou date de fin

- ti :

- Fi : flow time de la tâche i ou temps d’écoulement ;

date de début réelle de la tâche i

Fi = Ci

ri

- : (lateness)

Li

ou retard algébrique ;

Li=Ci - di

- : (tardiness) ou retard vrai ;

Ti

Ti=Max (0, Li)

- : (earliness) ou avance ;

Ei

Ei=Max (0, -

Li)

- Ui : retard Ui=1 si Ci>di et Ui=0 sinon

- Wi : (weight) poids associé au lot i

A partir de là, on pourra créer des critères, soit en minimisant le maximum d’une des valeurs précédentes, soit la moyenne, soit le maximum pondéré, soit la moyenne pondérée.

Remarques :

- Si le travail i n’est pas interrompu, alors : Ci = ti +

- Une condition de réalisabilité d’un ordonnancement est : ri <= ti <= Ci <= di

- Les mesures de moyenne ou de somme sont évidemment identiques, à une constante près. De même, il y a équivalence entre la somme des C, des F et des L, puisque les ri et les di sont des constantes.

Σ j p i ,j

Un ordonnancement est dit semi-actif si toutes les opérations sont calées au plus tôt contre les opérations précédentes, ou les dates de disponibilité.

Un ordonnancement est dit actif s’il est semi actif et qu’il est impossible d’exécuter plus tôt une opération sans en déplacer une autre.

Un ordonnancement est dit sans délai si une machine n’est jamais laissée inoccupée s’il y a des pièces en attente.

V- Typologie

Les problèmes d’ordonnancement peuvent être classés selon la complexité du processus de fabrication, et l’utilisation des ressources :

- Ressources unitaires : les tâches sont mono opération, et il existe une seule ressource pour leur exécution

- Ressources parallèles : les tâches sont mono opération, et il existe plusieurs ressources susceptibles de les exécuter. Les ressources, identiques, uniformes (seul le critère vitesse introduit une différence les machines) ou différentes sont organisées en parallèle.

- Flow-shop : les tâches sont multi opérations et exécution d’une tâche nécessite l’utilisation de plusieurs ressources dans le même ordre. Chaque ressource n’existant qu’en un seul exemplaire.

- Job-shop : les tâches sont multi-opérations et exécution d’une tâche nécessite l’utilisation de plusieurs ressources dans un ordre qui lui est propre. Chaque ressource n’existant qu’en un seul exemplaire.

- Open-shop : les tâches sont multi opérations et leur exécution nécessite l’utilisation de plusieurs ressources dans n’importe quel ordre (les opérations des tâches sont indépendantes). Chaque ressource existe en un seul exemplaire.

VI- Notation de Conway

Un problème d’ordonnancement se présente suivant la

classification de Conway comme suit :

Avec :

B indique le nombre de ressources

A/B/C, D/E

A :

:

indique le nombre de tâches à réaliser (N)

C précise l’organisation ou l’ordre d’utilisation des

:

ressources :

 

1 : une seule ressource

I : ressources parallèles identiques

R : ressources parallèles différentes

G: job shop

F : flowshop

O: open shop

D:

signale d’éventuelles restrictions sur l’exécution des

opérations :

ri : date de début au plus tôt

di : date de fin au plus tard

prec : contrainte de précédence quelconque

pmtn : préemption

no-wait : sans temps d’attente entre les opérations

E :

identifie l’objectif à minimiser

Cmax : makespan ou durée totale d’ordonnancement

ΣCi : date d’achèvement moyenne (identique au flowtime)

Σwi Ci : idem mais pondéré

Lmax : retard algébrique

ΣTi : retard vrai

Cette typologie permet de classer l’essentiel des problèmes d’ordonnancement, et facilite ainsi grandement les comparaisons entre auteurs.

Exemple :

Le problème d’ordonnancement suivant : 5 / 2 / F / Cmax signifie qu’il s’agit d’un problème Flow-shop où on voudrait trouver un ordonnancement de 5 tâches sur deux ressources minimisant le makespan.