Ordonner des tâches enchaînées, et savoir laquelle commande la date de fin.
Un projet, c'est une liste de tâches, chacune avec une durée, et des contraintes d'antériorité : celle-ci ne peut commencer avant que celle-là soit finie. La question paraît simple — quand le projet sera-t-il terminé ? — mais elle en cache une plus utile : quelles tâches décident de cette date, et lesquelles peuvent glisser sans conséquence.
La réponse tient en deux parcours du graphe des tâches, l'un en avant, l'autre en arrière. Cette méthode est née deux fois à la fin des années 1950 : PERT pour le programme Polaris de la marine américaine, CPM chez DuPont pour la maintenance des usines, et en France la méthode des potentiels de Bernard Roy pour le paquebot France. Les cinq planches suivent le projet de construction d'une maison, de son graphe jusqu'à sa probabilité de tenir les délais.
| tâche | désignation | durée | antériorités | ouvriers | durée min. | coût d'accélération |
|---|
Avant toute date, une vérification s'impose : les antériorités doivent former un graphe sans circuit. Si A attend B qui attend C qui attend A, aucun ordre d'exécution n'existe et le projet est simplement impossible. L'algorithme qui le décide est aussi celui qui range les tâches dans un ordre exécutable : on retire à chaque étape les tâches sans antériorité restante — c'est le tri topologique.
Le nombre d'ordres d'exécution valides est calculé par une récurrence sur les sous-ensembles de tâches, jamais par énumération. Pour le vérifier, la page énumère malgré tout les 40 320 permutations des huit premières tâches et compte celles qui respectent les antériorités : les deux comptes coïncident.
La passe avant donne, pour chaque tâche, la date au plus tôt où elle peut commencer : le maximum des dates de fin de ses antécédentes. La passe arrière, partant de la date de fin du projet, donne la date au plus tard où elle doit commencer sans rien retarder. La différence est la marge totale.
marge totale = date au plus tard − date au plus tôt
marge libre = plus petite date au plus tôt des suivantes − date de fin au plus tôt
La distinction est essentielle et souvent négligée : consommer la marge libre ne dérange personne, consommer la marge totale ne retarde pas le projet mais mange la marge des tâches suivantes. Dans ce projet, la plomberie a trois jours de marge totale et zéro de marge libre — elle peut glisser, mais pas sans pousser l'électricité devant elle.
Le calendrier au plus tôt est le plus rapide, pas le plus praticable : il fait démarrer tout ce qui peut démarrer, et l'effectif nécessaire présente une pointe qu'il faudra bien payer. Les tâches à marge peuvent être décalées sans toucher à la date de fin — le nivellement consiste à s'en servir pour aplatir l'histogramme des ressources.
Le travail total ne bouge pas d'un jour-ouvrier : niveler ne supprime rien, cela redistribue. Le contrôle exhaustif énumère toutes les combinaisons de décalages compatibles avec les marges et confirme que la pointe obtenue est bien la plus basse possible à durée inchangée — au-delà, il faudrait accepter d'allonger le projet.
Certaines tâches peuvent être raccourcies — deuxième équipe, coffrage loué, heures supplémentaires — moyennant un surcoût par jour gagné. En face, chaque jour de chantier coûte des frais fixes. Le coût direct monte quand on accélère, le coût indirect descend : leur somme passe par un minimum, et c'est là qu'il faut s'arrêter.
Le coût marginal du jour gagné ne cesse d'augmenter, par paliers : on commence par accélérer la tâche critique la moins chère, puis, quand un second chemin devient critique à son tour, il faut accélérer deux tâches à la fois pour gagner encore un jour. La courbe des coûts directs est convexe, et c'est cette convexité qui garantit qu'un minimum unique existe.
Le PERT d'origine ne suppose pas les durées connues. Chaque tâche reçoit trois estimations — optimiste a, probable m, pessimiste b — dont on tire une durée moyenne et un écart-type par les formules :
μ = (a + 4m + b) / 6 σ = (b − a) / 6
On applique alors la méthode déterministe aux μ, on additionne les variances le long du chemin critique, et l'on annonce une loi normale pour la durée du projet. C'est simple, c'est enseigné partout — et c'est systématiquement optimiste, pour deux raisons distinctes que les deux onglets mesurent séparément.
La criticité est le pourcentage de tirages où chaque chemin s'est trouvé être le plus long. Le chemin dit « critique » ne l'est qu'une partie du temps : piloter un chantier en ne surveillant que lui, c'est ignorer un chemin qui commande la date de fin dans un tirage sur trois ou sur quatre.
Le biais n'a rien de mystérieux. La durée du projet est le maximum de plusieurs chemins ; or la moyenne d'un maximum est toujours supérieure au maximum des moyennes. Le PERT calcule le second et annonce le premier. Pour l'isoler, voici un projet artificiel : une tâche de départ, k tâches parallèles de loi identique, une tâche de fin. Le PERT prédit toujours la même durée quel que soit k ; la réalité, non.
Les deux erreurs se cumulent et vont dans le même sens. D'abord σ = (b−a)/6 sous-estime l'écart-type réel de la loi bêta d'environ 12 % ; ensuite le maximum de plusieurs chemins dépasse le plus long d'entre eux d'à peu près σ fois une constante qui croît avec leur nombre. Le remède n'est pas de raffiner les formules : c'est de simuler, ce que fait aujourd'hui tout logiciel de gestion de projet sérieux.