Gestion de Projet :Ordonnancement
Short Description
gestion de projet...
Description
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
Les problèmes d'ordonnancement
Définitions
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 T2
M2 M1
T3
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
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
View more...
Comments