0% ont trouvé ce document utile (0 vote)
7 vues19 pages

Cours de Recherche Opérationnelle BTS GEL

Ce document présente un cours de Recherche Opérationnelle destiné aux étudiants de BTS Génie Logiciel, couvrant la Programmation Linéaire et la méthode du Simplexe ainsi que l'Ordonnancement par la méthode PERT. Il inclut des définitions, des procédures, des exemples et des exercices pour aider à la compréhension des concepts clés. Les étudiants apprendront à modéliser des problèmes, appliquer des algorithmes d'optimisation et analyser des projets à l'aide de méthodes formelles.

Transféré par

Nyangono
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues19 pages

Cours de Recherche Opérationnelle BTS GEL

Ce document présente un cours de Recherche Opérationnelle destiné aux étudiants de BTS Génie Logiciel, couvrant la Programmation Linéaire et la méthode du Simplexe ainsi que l'Ordonnancement par la méthode PERT. Il inclut des définitions, des procédures, des exemples et des exercices pour aider à la compréhension des concepts clés. Les étudiants apprendront à modéliser des problèmes, appliquer des algorithmes d'optimisation et analyser des projets à l'aide de méthodes formelles.

Transféré par

Nyangono
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours : Recherche Opérationnelle

BTS — Génie Logiciel (GEL)


Recherche Opérationnelle

Résumé : Ce document rassemble un résumé de cours et pédagogique de Recherche


Opérationnelle adapté aux étudiants de BTS Génie Logiciel. Il traite en détail (Partie
1) la Programmation linéaire et la méthode du Simplexe (modélisation, algorithme, cas
particuliers, phases I/II, applications) et (Partie 2) l’Ordonnancement par la méthode
PERT (construction de réseau, calculs avant/arrière, marges, chemin critique, PERT
probabiliste). Le cours contient des définitions, procédures pas à pas, exemples,
exercices, et une bibliographie commentée.

Pré-requis : Algèbre linéaire de base (systèmes linéaires), notions de géométrie du


plan, notions élémentaires de probabilités (moyenne, variance), lecture de tableaux.

i
Table des matières

Introduction générale 1

1 Programmation linéaire et méthode du simplexe 2


1.1 Introduction et objectifs pédagogiques . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Formulation d’un programme linéaire . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Transformations usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Interprétation géométrique (rappel) . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Notions de base pour le simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Algorithme du simplexe — principes . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5.1 Critère d’optimalité (maximisation) . . . . . . . . . . . . . . . . . . . . . 3
1.6 Simplexe tableau — exemple complet pas à pas . . . . . . . . . . . . . . . . . . . 3
1.6.1 Mise en forme standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6.2 Tableau initial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Cas particuliers et méthodes associées . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7.1 Solutions multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7.2 Problème non borné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7.3 Dégénérescence et cycling . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.8 Trouver une base initiale : Phase I / Phase II et méthode Big-M . . . . . . . . . 6
1.8.1 Problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8.2 Méthode Phase I / Phase II . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8.3 Méthode Big-M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.9 Interprétations économiques et analyses . . . . . . . . . . . . . . . . . . . . . . . 6
1.9.1 Sensibilité et analyses post-optimalité . . . . . . . . . . . . . . . . . . . . 6
1.10 Exercices (Partie Simplexe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.11 Solutions indicatives (exercice 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Ordonnancement : méthode PERT 8


2.1 Introduction & objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Notions de base — vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Représentation des dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Construction pas à pas d’un réseau PERT . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Calcul des dates — méthode algorithmique . . . . . . . . . . . . . . . . . . . . . 9
2.5.1 Parcours avant (forward pass) — dates au plus tôt . . . . . . . . . . . . . 9
2.5.2 Parcours arrière (backward pass) — dates au plus tard . . . . . . . . . . . 9
2.5.3 Remarque sur AOA vs AON . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6 Marges (slack) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7 Chemin critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8 PERT probabiliste (o, m, p) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.9 Exemple complet — pas à pas (très pédagogique) . . . . . . . . . . . . . . . . . . 11
2.9.1 Données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.9.2 Calcul des te et σ 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

ii
Recherche Opérationnelle

2.9.3 Réseau AON (schéma) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


2.9.4 Parcours avant (calcul ES/EF) . . . . . . . . . . . . . . . . . . . . . . . . 11
2.9.5 Parcours arrière (calcul LS/LF) . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9.6 Marges et chemin critique . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9.7 Variance projet et probabilités . . . . . . . . . . . . . . . . . . . . . . . . 12
2.10 Variantes et extensions pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.10.1 Plusieurs chemins critiques . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.10.2 Tâches fictives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.10.3 Ressources et ordonnancement à ressources limitées . . . . . . . . . . . . . 13
2.11 Bonnes pratiques pédagogiques pour la présentation en BTS . . . . . . . . . . . . 13
2.12 Exercices (avec corrections indicatives) . . . . . . . . . . . . . . . . . . . . . . . . 13
2.13 Ressources et lectures complémentaires . . . . . . . . . . . . . . . . . . . . . . . . 14
2.14 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Bibliographie 15

iii
Introduction générale

La Recherche Opérationnelle (RO) apporte des méthodes formelles pour modéliser et résoudre
des problèmes de décision en ingénierie, logistique et gestion. Ce cours porte sur deux outils
fondamentaux et complémentaires :
- la Programmation Linéaire (PL) et l’algorithme du Simplexe, pour optimiser une fonction
linéaire sous contraintes linéaires ; - l’Ordonnancement (méthode PERT / CPM), pour planifier
et analyser la temporalité d’un projet, identifier les tâches critiques et estimer la probabilité
d’achèvement.
L’approche est didactique : chaque partie contient des objectifs, notions clés, procédures pas
à pas, exemples et exercices. À la fin du cours, l’étudiant devra être capable de modéliser un
problème simple, appliquer le simplexe manuellement (tableau), construire un réseau PERT,
calculer marges et chemins critiques, et utiliser les formules PERT probabilistes.

Résumé du cours (référence au programme BTS) : Ce cours couvre la modélisation


PL (transformation en forme standard), la résolution par simplexe (tableaux, pivots, phase I/II,
Big-M), la notion de dualité et d’analyse post-optimale (introduction), ainsi que les méthodes
d’ordonnancement (PERT/CPM) utilisées pour la gestion de projet et l’optimisation temporelle.

Compétences à acquérir :
— Construire un modèle de programmation linéaire à partir d’une situation opérationnelle.
— Exécuter un simplexe tableau et interpréter les résultats (solution, sensibilité).
— Détecter et traiter les cas particuliers (non borné, dégénérescence, solutions multiples).
— Construire un réseau PERT, effectuer forward/backward pass, calculer marges et chemins
critiques.
— Appliquer la formule PERT probabiliste (o,m,p → te , σ 2 ) et estimer la probabilité d’achè-
vement d’un projet.

Objectif général (but) du cours : Donner aux étudiants les outils mathématiques et opé-
rationnels nécessaires pour modéliser, analyser et optimiser des problèmes pratiques de ressources
et de planning, en s’appuyant sur la PL et l’ordonnancement PERT.

Objectifs spécifiques :
1. Comprendre la théorie et la géométrie des PL et l’idée du parcours de sommets.
2. Maîtriser le simplexe (mise en forme, tableaux, pivots, choix de la base initiale).
3. Savoir appliquer PERT pour planifier un projet et analyser les risques temporels.
4. Savoir utiliser les résultats d’optimisation pour la prise de décision (interprétation, sensi-
bilité).

Notions clés du cours : Programmation linéaire, forme standard, variables slack/excès/artificielles,


solution de base, tableau du simplexe, coût réduit, pivot, phase I/II, Big-M, dualité, nœud / ac-
tivité, forward/backward pass, marge libre / marge totale, chemin critique, estimation PERT
(o,m,p), variance, approximation normale, Monte-Carlo (mention).

1
Chapitre 1

Programmation linéaire et méthode du


simplexe

1.1 Introduction et objectifs pédagogiques


La programmation linéaire (PL) étudie l’optimisation d’une fonction linéaire sous des contraintes
linéaires. L’algorithme du simplexe est l’outil algorithmique fondamental pour résoudre des PL
en pratique. À l’issue de cette partie, l’étudiant devra :
— savoir formuler un problème en PL (variables, objectif, contraintes) ;
— comprendre la notion de base, solution de base et solution de base admissible ;
— savoir appliquer le simplexe tableau pas à pas sur des exemples concrets ;
— connaître les cas particuliers (non borné, multiple, dégénérescence) et les méthodes pour
obtenir une base initiale (phase I/II, Big-M).

1.2 Formulation d’un programme linéaire


1.2.1 Définition
Un programme linéaire en forme générale :
n
X
Optimiser (max ou min) z = cT x = cj xj ,
j=1

sous les contraintes Ax ≤ b, x ≥ 0,

où A ∈ Rm×n , b ∈ Rm , c ∈ Rn .

1.2.2 Transformations usuelles


Pour appliquer le simplexe, on ramène le PL en forme standard (équations égales) en ajou-
tant :
— des variables d’écart (slack) si ≥ 0 pour transformer aTi x ≤ bi en aTi x + si = bi ;
— des variables d’excès pour aTi x ≥ bi (on soustrait une variable d’excès) ;
— éventuellement des variables artificielles (pour obtenir une base initiale) lorsque nécessaire.
Exemple de transformation : x1 + 2x2 ≤ 8 ⇒ x1 + 2x2 + s1 = 8, s1 ≥ 0.

2
Recherche Opérationnelle

1.3 Interprétation géométrique (rappel)


La région faisable est un polytope convexe (intersection d’un ensemble fini de demi-espaces).
Principe clé : si un optimum existe pour un PL borné, il se trouve en un sommet du polytope
(solution de base). Le simplexe explore ces sommets de façon systématique.

1.4 Notions de base pour le simplexe


Solution de base : en valeur linéaire, choisir m variables (si A a rang m) appelées basiques et
poser les autres à 0 ; résoudre Ax = b pour obtenir la base.
Solution de base admissible : solution de base satisfaisant x ≥ 0.
Variable basique/non basique : basique = dans la base (non nulle généralement), non ba-
sique = fixée à 0.
Tableau du simplexe : représentation tabulaire des équations et de la fonction objectif per-
mettant d’effectuer les pivots.

1.5 Algorithme du simplexe — principes


Résumé de l’algorithme (maximisation) :
1. Partir d’une solution de base admissible (B.A.). Si elle n’existe pas, utiliser phase I / Big-M
pour la trouver.
2. Calculer les coûts réduits (ou indices d’amélioration) pour les variables non basiques.
3. Si tous les coûts réduits indiquent qu’on ne peut pas améliorer l’objectif (critère d’optima-
lité), la solution actuelle est optimale.
4. Sinon, choisir une variable entrante (avec coût réduit favorable) puis déterminer la variable
sortante par le test du rapport (ratio minimum du RHS sur coefficient positif).
5. Effectuer un pivot (opérations sur lignes) pour mettre la variable entrante en base.
6. Retourner au point 2.

1.5.1 Critère d’optimalité (maximisation)


Avec la forme standard et le tableau où la ligne objective est z − j cj xj = 0, on recherche les
P
coefficients négatifs dans la ligne z (ils indiquent qu’en augmentant la variable correspondante z
augmentera). Différentes présentations existent ; la logique opérationnelle demeure : tant qu’une
variable non basique peut améliorer la valeur de z, on continue.

1.6 Simplexe tableau — exemple complet pas à pas


Nous présentons un exemple numérique simple et complet, détaillant chaque étape (idéal
pour TD).
Problème :
Maximiser z = 3x1 + 5x2



x1 ≤4

2x
2 ≤ 12
s.t.


3x1 + 2x2 ≤ 18

x , x
1 2 ≥ 0.

3
Recherche Opérationnelle

1.6.1 Mise en forme standard


Ajouter variables slack s1 , s2 , s3 ≥ 0 :
x1 =
x1 + 0x2 + s1 = 4
0x1 + 2x2 + s2 = 12
3x1 + 2x2 + s3 = 18
Fonction objectif : z − 3x1 − 5x2 = 0.
Base initiale : s1 , s2 , s3 (solution de base admissible triviale).

1.6.2 Tableau initial


Organisons le tableau (colonnes : x1 , x2 , s1 , s2 , s3 ; dernière colonne RHS) :

Base x1 x2 s1 s2 s3 RHS
s1 1 0 1 0 0 4
s2 0 2 0 1 0 12
s3 3 2 0 0 1 18
z -3 -5 0 0 0 0

Étape 1 : variable entrante Choisir la variable non basique avec le coefficient le plus négatif
dans la ligne z (ici −5 pour x2 ). Donc x2 entre en base.

Étape 2 : test du ratio Calculer les ratios RHS / coefficient de x2 pour lignes où coefficient
>0:
Ligne s1 : coef x2 = 0 ⇒ non admissible
Ligne s2 : 12/2 = 6
Ligne s3 : 18/2 = 9
Minimum = 6 ⇒ pivot sur la ligne de s2 ; s2 sort de la base et x2 entre.

Pivot 1 : rendre la colonne de x2 unité Diviser la ligne s2 par 2 :

nouvelle s2 : [0 ; 1 ; 0 ; 1/2 ; 0 ; 6]

Éliminer x2 des autres lignes :


s1 ← s1 − 0 · s2 (reste)
s3 ← s3 − 2 · s2 ⇒ [3 ; 0 ; 0 ; −1 ; 1 ; 6]
z ← z + 5 · s2 ⇒ [−3 ; 0 ; 0 ; 5/2 ; 0 ; 30]
Tableau après pivot 1 :

Base x1 x2 s1 s2 s3 RHS
s1 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
s3 3 0 0 -1 1 6
z -3 0 0 5/2 0 30

Étape 3 : nouvelle variable entrante La ligne z a encore un coefficient négatif −3 pour x1 .


Donc x1 entre en base.

4
Recherche Opérationnelle

Étape 4 : test du ratio Ratios pour les lignes avec coef x1 > 0 :
s1 : 4/1 = 4
x2 : coef 0 ⇒ non admissible
s3 : 6/3 = 2
Minimum = 2 ⇒ pivot ligne s3 . s3 sort, x1 entre.

Pivot 2 : rendre la colonne x1 unité Diviser la ligne s3 par 3 :

nouveau s3 : [1 ; 0 ; 0 ; − 13 ; 1
3 ; 2]

Éliminer x1 des autres lignes :


s1 ← s1 − 1 · s3 ⇒ [0 ; 0 ; 1 ; 1/3 ; −1/3 ; 2]
x2 ← x2 − 0 · s3 (reste)
z ← z + 3 · s3 ⇒ [0 ; 0 ; 0 ; 3/2 ; 1 ; 36]
Tableau final :

Base x1 x2 s1 s2 s3 RHS
s1 0 0 1 1/3 -1/3 2
x2 0 1 0 1/2 0 6
x1 1 0 0 -1/3 1/3 2
z 0 0 0 3/2 1 36

Interprétation Toutes les colonnes des variables de décision x1 , x2 dans la ligne z ont un
coefficient nul : la solution est optimale. Lecture de la solution :

x1 = 2, x2 = 6, s1 = 2, s2 = 0, s3 = 0,

valeur optimale z ⋆ = 36.


Remarque pédagogique : en TD, il est utile de faire faire ces calculs pas à pas aux étudiants
pour qu’ils s’approprient le mécanisme des pivots.

1.7 Cas particuliers et méthodes associées


1.7.1 Solutions multiples
Si après optimisation, une colonne non basique a coût réduit nul, il existe une autre base
donnant la même valeur objective — solutions multiples. Indiquer comment détecter et donner
une brève mention géométrique.

1.7.2 Problème non borné


Si pour une variable entrante, tous les coefficients dans la colonne des contraintes sont ≤ 0,
alors la fonction objectif peut croître indéfiniment → problème non borné. Expliquer exemple
simple.

1.7.3 Dégénérescence et cycling


Dégénérescence : une ou plusieurs variables basiques prennent la valeur 0 (RHS zéro). Peut
conduire à cycling (rare). Mentionner Bland’s rule (choisir la variable entrante/sortante selon
convention d’indice minimal) pour éviter le cycling.

5
Recherche Opérationnelle

1.8 Trouver une base initiale : Phase I / Phase II et méthode


Big-M
1.8.1 Problème
Si le système Ax = b, x ≥ 0 n’admet pas de base évidente (par exemple parce que cer-
taines bi < 0 ou après introduction de variables d’excès), il faut construire une solution de base
admissible artificielle.

1.8.2 Méthode Phase I / Phase II


Phase I :
1. Ajouter des variables artificielles ai pour obtenir une base initiale triviale.
2. Minimiser la somme des variables artificielles (ou leur métrique) pour tenter de les rendre
nulles.
3. Si la valeur minimale est > 0 → pas de solution faisable. Si = 0, supprimer les artificielles
puis passer à la phase II.
Phase II :
1. À partir de la base obtenue en Phase I, résoudre le problème original (optimisation réelle)
par simplexe.

1.8.3 Méthode Big-M


Alternative (plus directe) : ajouter des variables artificielles avec coût très pénalisant ±M
dans l’objectif (M grand). Résultat : l’algorithme tend à privilégier les solutions sans variables
artificielles. Méthode pratique mais attention au conditionnement numérique et au choix de M .

1.9 Interprétations économiques et analyses


1.9.1 Sensibilité et analyses post-optimalité
Après optimisation, on peut étudier :
— l’intervalle de variation admissible des coûts cj qui ne change pas la base optimale ;
— l’effet d’une modification de b (variation des ressources) — prix d’ombre / dualité ;
— la valeur duale (shadow price) associée aux contraintes.
Donner brève introduction au dual et aux prix d’ombre (développer en cours avancé).

1.10 Exercices (Partie Simplexe)


Proposer quelques exercices à donner en TD :
1. Résoudre graphiquement puis par simplexe :

x1 + x2 ≤ 8

max z = 4x1 + 3x2 , 2x1 + x2 ≤ 10

x1 , x2 ≥ 0

2. Problème nécessitant Phase I : résoudre (utiliser Phase I/II).


3. Étudier un exemple de problème non borné et expliquer pourquoi.
4. Exercice sur degenerescence : montrer un cas où une variable basique vaut 0.

6
Recherche Opérationnelle

1.11 Solutions indicatives (exercice 1)


(Fournir en TD solutions détaillées — on peut reprendre la même structure de tableau que
l’exemple traité précédemment.)

7
Chapitre 2

Ordonnancement : méthode PERT

2.1 Introduction & objectifs


L’ordonnancement consiste à organiser les tâches d’un projet dans le temps en respectant
leurs dépendances. Parmi les outils classiques, la méthode PERT est adaptée aux projets où les
durées des tâches sont incertaines (estimation probabiliste). Objectifs pédagogiques :
— Savoir construire un réseau PERT (AON) à partir d’une liste d’activités et de leurs anté-
riorités.
— Maîtriser le calcul des dates au plus tôt / au plus tard (parcours avant/arrière).
— Calculer les marges (libre et totale) et identifier le (les) chemin(s) critique(s).
— Appliquer la version probabiliste PERT (estimations o/m/p → te , σ 2 ) pour estimer la
durée et la probabilité d’achèvement.
— Connaître les limites et bonnes pratiques pour l’usage en gestion de projet logiciel.

2.2 Notions de base — vocabulaire


Événement / nœud / étape : Point marquant le début ou la fin d’une ou plusieurs tâches —
durée nulle.
Tâche / activité : Action entre deux nœuds nécessitant une durée et éventuellement des res-
sources. Dans ce cours, nous utilisons la représentation AON (Activity On
Node) où les activités sont des nœuds.
Tâche fictive : Activité de durée nulle (0) permettant de modéliser des contraintes de précé-
dence logiques ; représentée en pointillés si dessinée en AOA.
ES / EF : Early Start / Early Finish — dates au plus tôt (hâtives).
LS / LF : Late Start / Late Finish — dates au plus tard (tardives).
ML / MT : Marge Libre et Marge Totale.
Chemin critique : Suite d’activités avec marge totale nulle ; fixe la durée minimale du projet.

2.3 Représentation des dépendances


Deux conventions courantes :
— AOA (Activity On Arc) : activités représentées par des arcs, nœuds = événements. Utile
historiquement mais nécessite souvent des tâches fictives.
— AON (Activity On Node) : activités représentées par des nœuds, arcs = précédences. Plus
claire pédagogiquement ; utilisée dans ce document.

8
Recherche Opérationnelle

Relations type :
— Successive : B commence après A.
— Simultanée : A et B partent du même nœud.
— Convergente : plusieurs activités se terminent sur le même nœud ; le successeur attend
toutes les convergences.

2.4 Construction pas à pas d’un réseau PERT


Étapes :
1. Lister toutes les activités avec leur identifiant, durée estimée (ou triplet o/m/p), et anté-
cédents (prédécesseurs).
2. Déterminer les niveaux (facultatif, aide à la mise en page) :
— niveau 0 : activités sans antériorité ;
— niveau k : activités dont les antécédents sont tous de niveau < k.
3. Dessiner le réseau en AON : pour chaque activité créez un nœud ; reliez par des arcs les
activités selon les précédences.
4. Si nécessaire, insérer des tâches fictives (durée 0) pour représenter des contraintes de pré-
cédence non triviales.
5. Vérifier l’absence de cycles (pertinent pour un ordonnancement acyclique) : le graphe doit
être orienté acyclique (DAG).

2.5 Calcul des dates — méthode algorithmique


On calcule les dates au niveau des nœuds/événements (plutôt que pour les activités) ; pour
AON on utilisera ES/EF (dates de début/fin hâtives) et LS/LF.

2.5.1 Parcours avant (forward pass) — dates au plus tôt


Initialisation : choisir nœud de départ tstart = 0. Pour tout nœud j parcouru topologique-
ment :
ES(j) = max {EF (i)}, EF (j) = ES(j) + dj ,
i∈pred(j)

où pred(j) est l’ensemble des prédécesseurs du nœud j et dj la durée de l’activité représentée


par le nœud j (pour AON). Si pred(j) = ∅, alors ES(j) = 0.
En pratique, on calcule ES/EF activité par activité en avançant du début vers la fin.

2.5.2 Parcours arrière (backward pass) — dates au plus tard


Initialisation : fixer LF (dernier nœud) = EF (dernier nœud) (durée minimale trouvée par
forward pass). Puis pour chaque nœud i en parcours inverse :

LF (i) = min {LS(j)}, LS(i) = LF (i) − di ,


j∈succ(i)

où succ(i) est l’ensemble des successeurs du nœud i.

2.5.3 Remarque sur AOA vs AON


Si vous utilisez AOA (activités = arcs), formules sont appliquées aux événements (nœuds)
et les durées sont sur les arcs ; la logique numérique reste identique mais l’implantation diffère
légèrement.

9
Recherche Opérationnelle

2.6 Marges (slack)


Pour une activité reliant le nœud i au nœud j (ou pour une activité- nœud k en AON), on
définit :
— Marge libre (ML) : retard maximal possible pour l’activité sans retarder le début des
activités successeurs.
M L = ES(j) − EF (i) = ES(j) − (ES(i) + di ).
— Marge totale (MT) : retard maximal possible pour l’activité sans augmenter la durée totale
du projet.
M T = LF (j) − EF (i) = LF (j) − (ES(i) + di ).
Activité critique si M T = 0 (donc ML = 0 aussi si successeurs immédiats sont sur chemin
critique).

2.7 Chemin critique


Le chemin critique est la chaîne d’activités (ou de nœuds) reliant le début à la fin et composée
uniquement d’activités avec marge totale nulle. La durée totale du projet est égale à la somme
des durées le long d’un chemin critique (ou à EF du nœud terminal).
Remarques :
— Il peut y avoir plusieurs chemins critiques ; alors le projet est particulièrement sensible aux
retards.
— Toute augmentation de durée d’une activité critique augmente la durée projet d’autant.

2.8 PERT probabiliste (o, m, p)


Quand les durées sont incertaines on utilise pour chaque activité trois estimations :
— o : durée optimiste (meilleur scénario plausible),
— m : durée la plus probable,
— p : durée pessimiste.
On approxime la distribution de la durée par une loi bêta asymétrique ; PERT propose une
approximation de l’espérance et de la variance :
p−o 2
 
o + 4m + p 2
te = , σ = .
6 6
Pour estimer la durée totale du projet on :
1. calcule te et σ 2 pour chaque activité,
2. identifie le (ou les) chemin(s) critique(s) (en utilisant te comme durée),
3. P
approxime la durée projet comme la somme des te le long du chemin critique : E[T ] =
i∈C te (i),
4. approxime la variance P du projet comme la somme des variances le long du (des) chemin(s)
critique(s) : Var(T ) ≈ i∈C σ 2 (i),
5. suppose (approximativement) que T est gaussien : T ∼ N (E[T ], Var(T )) et calcule des
probabilités avec la CDF normale Φ :
 D − E[T ] 
P (T ≤ D) ≈ Φ p .
Var(T )
Limites : indépendance des durées (souvent approximative), dominance d’une grosse variance
par une activité remet en cause l’approximation normale ; si doute, utiliser Monte-Carlo.

10
Recherche Opérationnelle

2.9 Exemple complet — pas à pas (très pédagogique)


Nous reprenons un exemple adapté au niveau BTS pour montrer toutes les étapes explicite-
ment.

2.9.1 Données
Activités A à H, relations et estimations (o,m,p) fournies ici ; nous calculons te et σ 2 et
menons le calcul complet.

Table 2.1 – Activités, prédécesseurs et estimations

Activité Prédécesseur(s) o m p
A - 2 3 4
B - 1 2 3
C A 2 4 6
D B 1 1 2
E B 1 3 5
F C,D 2 3 4
G E 2 2 2
H F,G 1 2 3

2.9.2 Calcul des te et σ 2


Appliquer te = (o + 4m + p)/6 et σ 2 = ((p − o)/6)2 :

Activité te (jours) σ 2 (jours2 )


A 3.0 0.111
B 2.0 0.111
C 4.0 0.444
D 1.0 0.028
E 3.0 0.444
F 3.0 0.111
G 2.0 0.000
H 2.0 0.111

2.9.3 Réseau AON (schéma)


A B D
3.0 2.0 1.0

C E
F GH
4.0 3.0 2.0

2.9.4 Parcours avant (calcul ES/EF)


Effectuons le calcul étape par étape (on note ES/EF pour chaque activité) :

11
Recherche Opérationnelle

— A : ES(A)=0, EF(A)=ES+3=3.
— B : ES(B)=0, EF(B)=2.
— C : ES(C)=EF(A)=3, EF(C)=7.
— D : ES(D)=EF(B)=2, EF(D)=3.
— E : ES(E)=EF(B)=2, EF(E)=5.
— F : ES(F)=max(EF(C),EF(D))=max(7,3)=7, EF(F)=10.
— G : ES(G)=EF(E)=5, EF(G)=7.
— H : ES(H)=max(EF(F),EF(G))=max(10,7)=10, EF(H)=12.
Durée minimale projet (en utilisant te ) : EF(H) = 12 jours.

2.9.5 Parcours arrière (calcul LS/LF)


Initialiser LF(H)=12 :
— H : LF(H)=12, LS(H)=10.
— F : LF(F)=LS(H)=10, LS(F)=7.
— G : LF(G)=LS(H)=10, LS(G)=8.
— E : LF(E)=LS(G)=8, LS(E)=5.
— D : LF(D)=LS(F)=7, LS(D)=6.
— C : LF(C)=LS(F)=7, LS(C)=3.
— B : LF(B)=min(LS(D),LS(E))=min(6,5)=5, LS(B)=3.
— A : LF(A)=min(LS(B),LS(C))=min(3,3)=3, LS(A)=0.

2.9.6 Marges et chemin critique


Calculer les marges totales MT = LF - EF(précédent) (ou MT = LF(j) - ES(i) - d) et marquer
les activités critiques (MT = 0).
Activités critiques trouvées : A (MT=0), C (MT=0), F (MT=0), H (MT=0). Chemin critique
principal : A → C → F → H (durée 12 jours). On note aussi que B→E→G→H peut présenter
marges nulles selon variations ; ici leurs MT sont non nulles (vérifier cas par cas).

2.9.7 Variance projet et probabilités


Pour le chemin critique A,C,F,H :

E[T ] = 3 + 4 + 3 + 2 = 12.

V ar(T ) = 0.111 + 0.444 + 0.111 + 0.111 = 0.777.



σT = 0.777 ≈ 0.882 jours.
Probabilité d’achever en ≤ 13 jours :
13 − 12
z= ≈ 1.13, P ≈ Φ(1.13) ≈ 0.87.
0.882
Probabilité d’achever en ≤ 11 jours :
11 − 12
z= ≈ −1.13, P ≈ 0.13.
0.882
Interprétation : il y a environ 87% de chances de finir dans 13 jours ou moins, et seulement
13% de chances de finir en 11 jours ou moins.

12
Recherche Opérationnelle

2.10 Variantes et extensions pratiques


2.10.1 Plusieurs chemins critiques
Si plusieurs chemins ont MT=0, le projet est extrêmement sensible : il suffit d’un retard sur
n’importe lequel de ces chemins pour retarder le projet. En probabiliste, il faut alors prendre en
compte la variance combinée — la méthode PERT classique se focalise sur un chemin critique
identifié ; si plusieurs existent, le calcul d’incertitude devient plus délicat.

2.10.2 Tâches fictives


Utiles surtout en AOA pour représenter des contraintes logiques non directes. En AON, on
peut généralement les éviter.

2.10.3 Ressources et ordonnancement à ressources limitées


PERT/CPM planifie les precedences et les durées mais n’intègre pas directement les contraintes
de ressources (personnel, machines). Pour cela utiliser méthodes de lissage (leveling), heuristiques
ou techniques avancées (programmation linéaire, contraintes, ordonnancement à ressources limi-
tées).

2.11 Bonnes pratiques pédagogiques pour la présentation en BTS


— Montrer d’abord un exemple simple (4–6 activités) et faire le forward/backward pass à la
main en classe.
— Insister sur la lecture des marges : ML vs MT — donner interprétations concrètes (ex. “tu
peux retarder cette tâche de 2 jours sans retarder ses successeurs”).
— Utiliser une représentation AON claire (activity-on-node) pour éviter les tâches fictives lors
de l’apprentissage initial.
— Présenter la version probabiliste (o,m,p) après que les étudiants maîtrisent la version dé-
terministe.
— Faire manipuler un outil (GanttProject, ProjectLibre, Excel) pour confronter calculs ma-
nuels et rendu logiciel.
— Préparer une annexe « vérification numérique » montrant comment une petite modification
(allongement d’une tâche critique ou non critique) affecte la durée projet.

2.12 Exercices (avec corrections indicatives)


Exercice 1 (construction et chemin critique)
Données : activités (durées unitaires) et précédences :
— A (-) : 4
— B (-) : 3
— C (A) : 2
— D (A) : 5
— E (B,C) : 3
— F (D,E) : 2
Construire le réseau, calculer ES/EF et LS/LF, identifier le chemin critique et la durée totale.
Correction (rapide) : forward pass → EF final = 4→... (laisser aux étudiants le détail ; cor-
rection à donner en TD).

13
Recherche Opérationnelle

Exercice 2 (PERT probabiliste)


Pour l’exemple complet A–H (déjà fourni), calculer :
1. la probabilité d’achever en 13 jours (voir calcul précédent),
2. la probabilité d’achever en 10 jours.
Réponse : P(13) 0.87 ; P(10) : z = (10 − 12)/0.882 ≈ −2.27 ⇒ P ≈ 0.012 (1.2%).

Exercice 3 (impact d’une variation)


Dans l’exemple A–H, si la durée de F augmente de 2 jours (de 3 à 5), quelle est la nouvelle
durée projet ? Quel est l’impact si on augmente E de 2 jours (de 3 à 5) ? Expliquez.
Correction (rapide) : F critique → augmentation directe de 2 jours → projet = 14 jours. Pour
E : MT(E)=2 → augmenter E de 2 jours consomme sa marge, projet inchangé ; augmenter E de
3 jours retarde projet d’1 jour.

2.13 Ressources et lectures complémentaires


— Project Management Institute — PMBOK Guide (chapitres CPM/PERT).
— Tutoriels universitaires sur PERT / CPM (exercices et outils).
— Outils pratiques : GanttProject, ProjectLibre, MS Project.
— Monte-Carlo pour PERT : si vous souhaitez aller plus loin, apprendre à simuler les durées
par distribution et estimer la distribution empirique de la durée projet.

2.14 Conclusion
La méthode PERT est un outil pédagogique et pratique pour l’ordonnancement des pro-
jets comportant des incertitudes. Elle donne des résultats exploitables (chemin critique, marges,
estimation probabiliste) et constitue une bonne base pour aborder des problématiques plus avan-
cées (ordonnancement à ressources limitées, optimisation multi-objectifs). Pour les étudiants de
BTS, la méthode PERT, associée à des exercices manuels et à l’utilisation d’outils, permet de
comprendre les enjeux temporels et les risques de retard dans la gestion de projet logiciel.

14
Bibliographie

[1] G. B. Dantzig, "Linear Programming and Extensions", Princeton University Press, 1963.
(Classique sur le simplexe.)
[2] F. S. Hillier, G. J. Lieberman, "Introduction to Operations Research", McGraw-Hill. (Ou-
vrage d’introduction, chapitres PL et ordonnancement.)
[3] Project Management Institute, "A Guide to the Project Management Body of Knowledge
(PMBOK Guide)". (Référence gestion de projet : PERT/CPM.)
[4] United States Navy / Booz Allen (années 1950), travaux fondateurs sur PERT/CPM.
(Contexte historique.)
[5] A. Makhorin et al., "GLPK — GNU Linear Programming Kit", documentation et tutoriels
(outil pratique).
[6] S. Mitchell et al., "PuLP : A Linear Programming Toolkit for Python" — pour mise en
pratique informatique.

15

Vous aimerez peut-être aussi