You are on page 1of 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

Volume horaire
3 séances de cours intégré

Chapitre 4 Définitions

 Les problèmes d'ordonnancement

Définition 1 : Ordonnancer un ensemble de tâches c’est programmer leur exécution en leur allouant les ressources requises et en fixant leur date de début. 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.
Temps
Contraintes + Critères

Ressources

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=t0). o Les contraintes relatives : appelées également le chevauchement. On peut distinguer les contraintes de précédence Ti < = Tj o Les contraintes disjonctives : se présentent généralement quand il y a un conflit entre les ressources. Ti < Tj - 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.
Ressources M3 M2 M1 T1 Temps T2 T3

2- Diagramme de la charge Ce diagramme a pour but d’exprimer la quantité de ressources consommée à chaque instant.
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 A 1 B 4 C 5 D 2 E 4 Contraintes A, B C 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 : - ri : ready date ou date de début au plus tôt - di : due date ou date de fin au plus tard - pi,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 : date de début réelle de la tâche i - Fi : flow time de la tâche i ou temps d’écoulement ; Fi = Ci – ri - Li : (lateness) ou retard algébrique ; Li=Ci - di - Ti : (tardiness) ou retard vrai ; Ti=Max (0, Li) - Ei : (earliness) ou avance ; 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 + Σj p i ,j - 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. 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 : A/B/C, D/E Avec : A : indique le nombre de tâches à réaliser (N) B : indique le nombre de ressources 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 : flow shop  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 flow time)  Σ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.