• Aucun résultat trouvé

Ordonnancement dans un environnement stochastique

CHAPITRE 2 REVUE DE LITTÉRATURE

2.2 Méthodes classiques d’ordonnancement de projet

2.2.2 Ordonnancement dans un environnement stochastique

Durant son exécution, le projet évolue dans un environnement incertain qui vient perturber le bon déroulement du calendrier d’exécution. Les sources de ces incertitudes sont multiples: défis techniques rencontrés, expérience, productivité et disponibilité des ressources humaines, mauvais temps, troubles politiques, retards à la livraison, etc. De plus, l’ordonnancement du projet s’effectue dans les étapes préliminaires du projet alors que la définition du projet et l’ensemble des informations nécessaires pour établir un calendrier d’exécution sont parfois incomplets et approximatifs. Enfin, les demandes de changements durant l’exécution du projet, demandées par le client, la direction, ou les ingénieurs en conception, affectent l’envergure du projet. Certaines activités doivent ainsi être ajoutées et d’autres annulées pour refléter ces changements. En somme, la validité de l’ordonnancement déterministe qui se base sur des données complètes, fiables et un environnement statique et déterministe est remis en cause (Demeulemeester, Herroelen, & Leus, 2008; Goldratt, 1997). Pourtant, la majorité des efforts de recherche a été déployée pour aborder le problème du RCPSP dans un contexte déterministe, et peu de recherche en comparaison a été faite sur l’ordonnancement dans un contexte incertain (Herroelen & Leus, 2005).

Une des méthodes d’ordonnancement en contexte incertain les plus connues est la méthode PERT (« Program Evolution and Review Technique »), qui est l’équivalent du CPM pour le contexte incertain (Kerzner, 2009). Elle permet de déterminer la fonction de distribution de la durée du projet et ainsi de calculer par exemple la probabilité de finir le projet dans un délai donné. Mais elle ne définit pas quelles actions prendre pour protéger le calendrier d’un projet face aux incertitudes avant son exécution et/ou réagir durant l’exécution du projet lors de l’apparition des incertitudes. Dans la littérature, plusieurs familles d’approches ont été développées pour répondre à ces problématiques dans un contexte d’incertitude (Herroelen & Leus, 2005). Elles sont résumées dans le Tableau 2.1 et développées dans les sections suivantes.

Tableau 2.1: Approches d’ordonnancement de projet dans un environnement stochastique

Calendrier de base Ordonnancement durant l’exécution

B1) Pas de calendrier de base E1) Ordonnancement dynamique (politiques d’ordonnancement) B2) Ordonnancement Prédictif

(sans anticipation de la variabilité) E2) Décisions de gestion B3) Ordonnancement proactif (robuste) E3) Ordonnancement réactif

2.2.2.1 Génération d’un calendrier da base

Plusieurs actions sont possibles pour la génération d’un calendrier de base (Demeulemeester et al., 2008). À l’extrême, aucun calendrier de base n’est généré (B1). Une autre approche, l’ordonnancement prédictif, consiste à développer un calendrier de base sans anticipation de la variabilité des paramètres du problème d’ordonnancement (B2), ce qui revient au RCPSP dans un contexte déterministe (section 2.2.1).

Une troisième approche, l’ordonnancement proactif ou robuste (B3) consiste à développer un calendrier de base qui incorpore un certain degré d’anticipation de la variabilité qui aura lieu durant l’exécution du projet (par ex., variabilité de la durée des activités), afin de le protéger autant que possible contre des perturbations. Plusieurs objectifs peuvent être recherchés: la robustesse de la solution (« solution robustness »), qui fait référence à l’insensibilité des dates de début des activités, et la robustesse du critère de performance (« quality robustness »), qui correspond à l’insensibilité du critère de performances (par ex., la durée du projet). Plusieurs méthodes ont été développées afin de générer un calendrier de projet stable. Elles reposent généralement sur deux étapes (Demeulemeester et al., 2008):

1) Générer un calendrier de base qui ne soit pas protégé contre les incertitudes en utilisant une seule valeur pour la durée de chaque activité (RCPSP dans un contexte déterministe). 2) Améliorer la stabilité du calendrier de base, soit en effectuant une allocation robuste des ressources (Deblaere, Demeulemeester, Herroelen, & Van de Vonder, 2006; Leus &

Herroelen, 2004), c’est-à-dire en déterminant le réseau du flux des ressources qui maximise la stabilité du calendrier, soit en insérant des tampons de temps (« time buffer ») dans le calendrier de base (Van de Vonder, Demeulemeester, & Herroelen, 2004, 2005). Malheureusement, les mesures de robustesse sont très difficiles à évoluer et à minimiser, même pour des problèmes sans contraintes de ressources, étant donné les durées stochastiques des activités (Hagstrom, 1988). C’est pourquoi les techniques de simulation sont souvent utilisées comme étapes intermédiaires. De plus, le problème d’allocation robuste de ressources et celui d’insertion des tampons de temps sont principalement résolus avec des méthodes heuristiques.

2.2.2.2 Ordonnancement durant l’exécution du projet

Une autre distinction est établie par rapport aux décisions prises durant l’exécution du projet pour réagir aux perturbations et choisir quand commencer les activités restantes. L’ordonnancement stochastique ou dynamique (E1) ne génère aucun calendrier initial et utilise une politique d’ordonnancement préétablie pour déterminer en temps réel quelle(s) activité(s) commencer. Une seconde voix consiste à utiliser non plus une politique préétablie, mais plutôt les décisions prises par le gestionnaire de projet durant l’exécution du projet (Décisions de gestion, E2). Une troisième approche, l’ordonnancement réactif (E3) consiste à développer un calendrier de base qui sera révisé ou ré-optimisé durant l’exécution du projet.

2.2.2.2.1 Ordonnancement stochastique/dynamique

L’ordonnancement stochastique/dynamique est un ordonnancement réactif à l’extrême, qui constitue cependant une classe à part en ce qui concerne les modèles et méthodes utilisées. Le problème le plus courant dans la littérature est celui de l’ordonnancement avec durées d’activités incertaines. L’objectif est de minimiser l’espérance mathématique de la durée du projet. Une politique prédéfinie est utilisée durant l’exécution pour choisir quelle(s) activité(s) démarrer parmi les activités faisables (prédécesseurs terminés et ressources disponibles). Ces décisions sont prises en se basant sur les informations disponibles au moment des décisions : le passé, observable, et une connaissance a priori des lois de distribution des durées des activités. Nous référons le lecteur à Herroelen et Leus (2005) pour une revue des modèles et méthodes de résolution reliés à l’ordonnancement stochastique/dynamique.

2.2.2.2.2 Ordonnancement réactif

Les méthodes réactives ne cherchent pas à faire face aux incertitudes durant la création du calendrier de base, mais proposent de le réviser ou le ré-optimiser durant l’exécution du projet lorsqu’un évènement inattendu apparaît. Les méthodes réactives sont capables de traiter un spectre plus large d’évènements incertains que ne le permet l’ordonnancement proactif : addition, soustraction ou modification des contraintes temporelles, des ressources ou des activités (Guéret & Jussien, 2008). Plusieurs questions sont soulevées par cette méthode :

- Quand faut-il produire un nouveau calendrier ? À chaque fois qu’un évènement imprévu se produit, de manière périodique, ou quand un seuil dans la perturbation est atteint. - Comment le nouveau calendrier est déterminé ? Il s’agit soit de réordonnancer

complètement le projet, soit de réparer l’actuel calendrier.

Le réordonnancement complet de projet correspond à un ordonnancement déterministe de la partie du projet qui reste à accomplir à l’instant où la réaction est initiée. Cette approche est rarement employée, puisque le problème du réordonnancement est un problème NP-complet (Picouleau, 1995), et parce qu’il peut apporter des solutions consécutives très différentes (non stables).

L’approche la plus souvent employée consiste donc à réparer le calendrier actuel en essayant de maximiser la stabilité des calendriers de base successifs (nombre de dates de début modifiées, sommes des modifications dans les dates, modifications maximales, nombre de positions relatives des activités qui ont été modifiées entre les calendriers successifs, etc.). Bien que plusieurs méthodes exactes pour ce problème aient été développées, Van de Vonder et al. (2004) ont montré qu’utiliser une méthode exacte de résolution à chaque perturbation devient rapidement infaisable, même pour des petits projets. Ces derniers ont introduit une méthode de résolution heuristique qui utilise, à chaque instant où on décide de réordonnancer, le meilleur calendrier en termes de robustesse de la solution, parmi plusieurs calendriers générés avec des méthodes parallèles et heuristiques utilisant différentes règles de priorité (heuristiques à passes multiples, section 2.2.1.2).

2.2.2.3 Combinaisons d’actions avant et durant l’exécution du projet

Les approches décrites ci-dessous sont combinables afin de proposer des approches intégrées de planification dans un contexte incertain :

 Ordonnancement prédictif-réactif (B2-E3): un calendrier de base prédictif est développé avant le début du projet et peut être révisé ou ré-optimisé durant l’exécution. Notons par exemple la méthode « Critical chain » de Goldratt (1997), qui est une des méthodes les plus répandues dans la pratique.

 Ordonnancement proactif-réactif (B3-E3) (Demeulemeester et al., 2008): Cette procédure combine la génération d’un calendrier de base robuste (ordonnancement proactif) à une procédure réactive qui est utilisée lorsque les perturbations ne peuvent être absorbées par le calendrier de base.

2.2.2.4 Autres approches d’ordonnancement

En plus des approches précédemment citées, d’autres approches sont envisageables durant l’exécution du projet afin d’en accélérer l’exécution suite à des retards provoqués par des imprévus: le chevauchement (section 2.4) et la compression d’activités (section 2.2.1.5).

Enfin, alors que l’ensemble de méthodes d’ordonnancement dans un contexte incertain présentées pose comme hypothèse que le réseau logique d’activités est déterministe, le cas des réseaux stochastiques mérite également une attention. Ces réseaux peuvent être représentés par une matrice de décomposition (section 2.4.1) ou par la méthode GERT (« Graphical Evaluation & Review Technique »). Cette dernière autorise des branchements probabilistes, conditionnels et des boucles au sein d’un réseau stochastique. Dans l’ordonnancement des réseaux GERT, les activités peuvent être exécutées plusieurs fois, reflétant par exemple les projets de recherche et développement où plusieurs prototypes successifs sont nécessaires pour valider la conception. Une revue de littérature de l’ordonnancement GERT est proposée dans Neumann (1999).

2.3 Stratégies de chevauchement d’activités en pratique : Ingénierie