francebalade.fr       Cours de Mathématiques       Table des matières       Votre avis sur ce site

PERT et chemin critique

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.

Le projet

tâchedésignationduréeantérioritésouvriers durée min.coût d'accélération

1Du tableau au graphe : peut-on seulement commencer ?

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.

14
tâches / contraintes d'antériorité—
circuit détecté ?—
tâches ordonnançables—
contraintes violées par l'ordre trouvé—
niveaux du graphe—
ordres d'exécution valides—
contrôle par énumération (8 premières tâches)—
ordre obtenu—

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.

2Les deux passes : dates au plus tôt, au plus tard, marges

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.

8
5
5
4
durée du projet—
plus long chemin par énumération—
écart—
chemins de bout en bout—
chemin critique—
tâches critiques—
0 ≤ marge libre ≤ marge totale—
contrôle LF − LS − durée—
marge totale cumulée—
tâches à marge totale mais sans marge libre—
tâche critique tâche à marge marge libre reste de la marge totale

3Nivellement : les marges servent à lisser les moyens

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.

8
pointe d'effectif au plus tôt—
pointe après nivellement—
pointe minimale atteignable—
combinaisons de décalages examinées—
travail total (jours-ouvrier)—
durée du projet après nivellement—
antériorités violées—
décalages appliqués—

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.

4Le compromis délai-coût : jusqu'où accélérer ?

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.

1200
49
durée retenue—
surcoût direct minimal—
coût indirect—
coût total—
optimum économique—
économie par rapport à la durée normale—
combinaisons évaluées—
glouton contre optimum exhaustif—
accélérations retenues—
coût marginal du dernier jour gagné—

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.

5Quand les durées sont incertaines : le PERT est optimiste

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.

2
60000
durée annoncée par le PERT—
durée moyenne simulée—
biais de la méthode—
écart-type : formule / simulé—
contrôle des moyennes par tâche—
σ exact de la loi bêta / σ de la formule—
P(tenir la date annoncée) : PERT / simulé—
P(tenir à +4 jours) : PERT / simulé—
criticité des chemins—
durée du calcul—

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.

50000
durée annoncée par le PERT (toute valeur de k)—
biais mesuré à k = 2—
biais mesuré à k = 5—
biais mesuré à k = 8—
prédiction σ·E[max de k normales]—
écart entre mesure et prédiction—
σ utilisé : formule / exact de la bêta—
durée du calcul—

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.