Problème de gestion de projet à contraintes de ressources
Le problème de gestion de projet à contraintes de ressources est un problème d'optimisation combinatoire, étudié en ordonnancement. Il est connu sous l'acronyme anglophone RCPSP (Resource-Constrained Project Scheduling Problem).
Le problème est NP-difficile au sens fort, il ne peut donc être résolu optimalement que par des algorithmes de complexité exponentielle. L'état de l'art permet de le résoudre optimalement dans un temps raisonnable, sur des instances de 60 tâches au plus.
Description
Concepts
Les ressources sont des moyens de production renouvelables, mais limités en capacité. Une équipe de quatre ouvriers ayant les mêmes compétences peut être considérée comme une ressource de capacité 4.
Les tâches sont des travaux définis par une durée et une quantité de chaque ressource qui est nécessaire à son exécution. Les tâches sont supposées non-préemptives: une fois que l'exécution a commencé, elles se poursuit sans interruption jusqu'à la fin. Un bien manufacturé peut prendre deux heures de fabrication, et nécessiter le travail de deux ouvriers et d'une machine.
Il existe entre les tâches des relations de précédence, qui signifient classiquement qu'une tâche ne peut débuter que si certaines autres tâches sont finies. Ces relations permettent de représenter l'organisation du projet par un graphe de précédence (ou réseau PERT) : une tâche est figurée par un nœud, chaque relation de précédence est un arc orienté du prédécesseur vers le successeur, qui est valué par la durée du prédécesseur. Un graphe de précédence ne doit pas présenter de circuit, une tâche ne pourrait, directement ou indirectement, être son propre prédécesseur.
Classiquement, le problème consiste à minimiser la date de fin du projet, étant données les contraintes de précédence et de ressources.
Formalisation
Soient n tâches et q ressources.
Les ressources sont notées et leurs capacités sont notées .
Les tâches sont désignées par et leur durées sont , une tâche i demande une quantité de la ressource k. Deux tâches fictives sont ajoutées en général, elles ont une durée nulle et ne consomment pas de ressources: est le prédécesseur des autres tâches (sommet source du graphe), est le successeur de toutes les tâches (sommet puits du graphe de précédence). Les précédences sont déclarées par un ensemble .
Une solution S au problème est un vecteur de contenant les dates de début de chacune des tâches.
Il existe deux types de contraintes:
- les contraintes de précédence: soient des tâches et telles que ( précède ), ne peut pas commencer avant la fin de ,
- les contraintes de ressources: à tout instant et pour chaque ressource , la somme des demandes des tâches en cours d'exécution n'excède pas
Méthodes de résolution
Un certain nombre d'outils ont été employés pour résoudre le problème:
- Heuristiques
- Optimisation linéaire
- Programmation par contraintes
- Procédure par séparation-évaluation
Algorithmes de liste
Les premières méthodes, créées dans les années 1960, sont des heuristiques à base de listes. Les listes de priorité définissent une priorisation dans l'exécution des tâches, selon des critères souvent heuristiques comme le temps de traitement de tâches ou la marge. Une liste de priorité doit respecter les contraintes de précédence.
L'algorithme d'ordre strict consiste à placer les tâches une par une, au plus tôt possible, dans l'ordre exact de la liste de priorités.
Tant que la liste de priorité est non vide soit la tâche que l'on retire au début de la liste de priorité la date à laquelle on peut ordonnancer au plus tôt ( est la durée de la tâche j) soit , la première date à laquelle les ressources sont disponibles pour l'exécution placer la tâche à la date Fin Tant Que
Détermination d'une borne inférieure
Etant donnée la complexité du problème, il est souvent illusoire de vouloir déterminer des solutions exactes au problème. En recherche opérationnelle, pour évaluer concrètement une méthode de résolution, on évalue la qualité d'une solution en comparant la date de fin obtenue avec une borne inférieure . La borne inférieure est une valeur qu'on sait inférieure à la date de fin de la solution optimale, mais on doit obtenir une valeur assez haute pour bien approcher la valeur optimale. La qualité d'une solution se mesure en pourcentage d'écart avec la borne inférieure: .
Extensions
Le modèle basique du RCPSP a été adapté à de nombreuses applications industrielles, d'où l'apparition de variantes du problème.
Gestion de projet multi-compétence
Cette variante est adaptée à la planification de projet dans des sociétés de service, notamment des SSII. On définit un ensemble de compétences, les ressources représentent les personnes participant au projet, la capacité de chaque ressource est 1. Une tâche ne se définit plus par des quantités exigées de chaque ressource, mais par des nombres de personnes ayant telles compétences. Par exemple, une tâche "Tests unitaires" peut nécessiter deux personnes ayant la compétence "Développeur" et une personne ayant la compétence "Analyste".
Tâches multi-mode
Une même tâche peut être exécutée de différentes manières, ou modes. Chaque mode définit une durée propre et des demandes en ressources. Le choix d'un mode pour exécuter une tâche fait partie du problème.
Ordonnancement robuste
Des approches d'ordonnancement robuste ont été développées pour le RCPSP. Les modèles robustes en gestion de projet considèrent quatre types de perturbations[1]:
- perturbations du graphe de projet: des tâches (ou des liens de précédence) sont ajoutées ou supprimées
- perturbations sur les tâches: modifications des durées, des demandes
- perturbations sur les ressources: des ressources deviennent indisponibles (pannes, absences) ou leur capacité est temportairement limitée
- changements de délais
Voir aussi
Articles connexes
Sources et références
- Problème de gestion de projet à contraintes de ressources - approches et méthodes de résolution GOThA - groupe "Gestion de projet à contraintes de ressource et ses extensions"
- Gang Yu,Xiangtong Qi Disruption management : framework, models and applications, 2004