notesCoursRO LicenceInfoIA
notesCoursRO LicenceInfoIA
Optimisation
Version 0.1
Prof. A. F El Ouafdi
1 Rappels mathématiques 3
Formulation mathématique (Modélisation) . . . . . . . . . . . . . . . . . . 3
1.1.1 Interprétation du gradient et du Hessien . . . . . . . . . . 5
4 Recherche opérationnelle 79
Algorithmes sur les graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.1.1 Recherche en Largeur (BFS) pour un Graph . . . . . . . . . 82
Fonctionnement de l’Algorithme BFS . . . . . . . . . . . . . . . . . . . . . . 83
Problème du flot maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.3.1 Définition d’un réseau . . . . . . . . . . . . . . . . . . . . . 84
4.3.2 Flot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
1
Short title of document Table des matières
Algorithme de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.4.1 Pseudo-code de l’algorithme de Ford-Fulkerson . . . . . . 85
4.4.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Problème du plus court chemin sur un graphe : algorithme de Dijkstra . . 89
4.5.1 Principe de l’algorithme de Dijkstra . . . . . . . . . . . . . 89
4.5.2 Exemple d’application de l’algorithme de Dijkstra :dis-
tance entre la ville A et la ville J . . . . . . . . . . . . . . . . 90
4.5.3 Présentation sous forme de tableau . . . . . . . . . . . . . . 94
2
Chapitre 1
Rappels mathématiques
∥𝑥 − 𝑥∥
¯ < 𝛿 =⇒ ∥ 𝑓 (𝑥) − 𝑓 (𝑥)∥
¯ < 𝜀,
Définition 1.1.3. Soit 𝛾(𝜉) une fonction scalaire d’une variable scalaire 𝜉. En
supposant que la limite existe, la première dérivée est définie par
𝑑𝛾 𝛾(𝜉 + 𝜀) − 𝛾(𝜉)
= 𝛾′(𝜉) := lim
𝑑𝜉 𝜀→0 𝜀
et la seconde dérivée est définie par
𝑑2 𝛾 ′′ 𝛾′(𝜉 + 𝜀) − 𝛾′(𝜉)
= 𝛾 (𝜉) := lim .
𝑑𝜉2 𝜀→0 𝜀
3
Short title of document Formulation mathématique (Modélisation)
Nous définissons 𝑓 (𝑥) comme étant (deux fois) différentiable si toutes les (se-
condes) dérivées partielles existent et
𝜕𝑓 𝜕𝑓
𝜕2 𝑓 𝜕𝑥 𝑗
(𝑥 + 𝜀𝑒 𝑖 ) − 𝜕𝑥 𝑗
(𝑥)
:= lim ,
𝜕𝑥 𝑖 𝜕𝑥 𝑗 𝜀→0 𝜀
et comme (deux fois) continûment différentiable si ces (secondes) dérivées par-
tielles sont continues. Les secondes dérivées qui sont continues ont la propriété
suivante :
𝜕2 𝑓 𝜕2 𝑓
= .
𝜕𝑥 𝑖 𝜕𝑥 𝑗 𝜕𝑥 𝑗 𝜕𝑥 𝑖
Notez que le graphique en contours en bas à droite de la Figure 2.4 montre que
𝑓 (𝑥) n’est pas différentiable.
En assemblant ces dérivées partielles, nous obtenons le vecteur gradient
𝜕 𝑓 (𝑥)
𝜕𝑥1
.
∇𝑥 𝑓 (𝑥) = .. . (1.1)
𝜕 𝑓 (𝑥)
𝜕𝑥
𝑛
En plus, la matrice Hessienne est définie par
𝜕2 𝑓 (𝑥) 𝜕2 𝑓 (𝑥) 𝜕2 𝑓 (𝑥)
𝜕𝑥 2 𝜕𝑥 1 𝜕𝑥2
··· 𝜕𝑥 1 𝜕𝑥 𝑛
2 1
𝜕 𝑓 (𝑥) 𝜕2 𝑓 (𝑥) 𝜕2 𝑓 (𝑥)
···
∇𝑥𝑥 𝑓 (𝑥) := 𝜕𝑥2 𝜕𝑥1 𝜕𝑥22 𝜕𝑥 2 𝜕𝑥 𝑛
. (1.2)
... ..
.
..
.
..
.
2
𝜕 𝑓 (𝑥) 𝜕2 𝑓 (𝑥) 𝜕2 𝑓 (𝑥)
𝜕𝑥 𝑛 𝜕𝑥1 𝜕𝑥 𝑛 𝜕𝑥2
··· 𝜕𝑥 𝑛2
Lorsqu’une fonction n’a qu’un seul argument, nous omettons l’indice de
“∇” et écrivons simplement ∇ 𝑓 (𝑥) et ∇2 𝑓 (𝑥) pour le gradient et la Hessienne,
respectivement.
4
Short title of document Formulation mathématique (Modélisation)
𝛼 𝑓 (𝑥 𝑎 ) + (1 − 𝛼) 𝑓 (𝑥 𝑏 ) ≥ 𝑓 (𝛼𝑥 𝑎 + (1 − 𝛼)𝑥 𝑏 )
𝑓 (𝑥 + 𝑝) ≥ 𝑓 (𝑥) + ∇ 𝑓 (𝑥)𝑇 𝑝
5
Short title of document Formulation mathématique (Modélisation)
(a) Une fourmi se déplace sur une sphère (b) Représentation d’un champ vectoriel
avec une vitesse 𝑉 sur une sphère
Figure 1.1 – La figure 1.1(a) Illustre le champ vectoriel vitesse de la fourmi sur la sphère. La figure 1.1(b)
montre les vecteurs tangents de composantes locales 𝑉1 et 𝑉2 sont représentés sur le plan tangent au point
𝑃.
Figure 1.2 – Fonction et courbure : La fonction 𝑓 (𝑥) = 𝑥 3 − 6𝑥 2 + 4𝑥 + 12 est représentée avec ses
zones de convexité et de concavité. Dérivées de la fonction : Les dérivées 𝑓 ′(𝑥) = 3𝑥 2 − 12𝑥 + 4 et
𝑓 ′′(𝑥) = 6𝑥 − 12 sont également tracées.
6
Chapitre 2
7
Short title of document Formulation mathématique (Modélisation)
8
Short title of document Formulation mathématique (Modélisation)
On appel solution optimal toute solution (𝑥1∗ , 𝑥2∗ ) optimisant la fonction ob-
jectif
Une entreprise fabrique des chaises et des tables en bois. Pour fabriquer une
table, il faut : 0.5 m3 de bois, 10 h de main-d’œuvre et 2 h de machine. Pour
fabriquer une chaise, il faut : 0.1 m3 de bois, 6 h de main-d’œuvre et 1 h de
machine.
La capacité de la machine actuellement disponible est de 1200 heures par
trimestre. Il y a 7200 heures de main-d’œuvre par trimestre. Le fournisseur
actuel ne peut fournir que 300 m3 de bois par trimestre. Le bénéfice d’une table
vendue est de 50 DH et celui d’une chaise vendue est de 30 DH. La demande est
telle que l’entreprise ne pourra pas vendre plus de 500 tables par trimestre, et le
nombre de chaises vendues sera au maximum égal à 4 fois le nombre de tables
vendues.
Le problème décrit ci-dessous peut être résolu à l’aide de la programma-
tion linéaire. La formulation du problème en programmation linéaire consiste
à déterminer les variables de décision qui représentent le nombre de tables à
9
Short title of document Formulation mathématique (Modélisation)
1. Variables de décision :
3. Contraintes :
3.1 Contraintes de matériaux. La quantité en m³ de bois disponible pour
fabriquer 𝑥1 tables et 𝑥2 chaises
2𝑥 1 + 𝑥 2 ≤ 1200 (2.10)
𝑥 1 ≤ 500 (2.11)
10
Short title of document Formulation mathématique (Modélisation)
Maximiser 𝑍 = 𝐶 𝑇 𝑥
Sous contraintes :
𝐴𝑥 ≤ 𝑏 (2.14)
où
0.5 0.1 300
10 6 7200
" # " # 2 1 1200
50 𝑥1
𝐶= , 𝑥= , 𝐴 = 1 0 et 𝑏 = 500
30 𝑥2 −4 1 0
−1 0 0
0 −1 0
La formulation (2.17) est la représentation matricielle du problème d’optimisa-
tion (2.13) .
11
Short title of document Formulation mathématique (Modélisation)
Table 2.1 – Tableau des informations nutritionnelles et des prix des produits alimentaires par 100 g
1. 1. Variables de décision :
Soient 𝑥1 le nombre de grammes de pain à acheter, 𝑥2 le nombre de
grammes de beurre à acheter, 𝑥3 le nombre de grammes de fromage à
acheter, 𝑥4 le nombre de grammes de pois à acheter et 𝑥5 le nombre de
grammes d’épinards à acheter.
2. Fonction objectif : Minimiser le coût total des achats, qui peut être calculé
comme suit :
min 𝑍 = 3𝑥1 + 7𝑥2 + 7𝑥3 + 5𝑥 4 + 5𝑥5 (2.15)
3. Contraintes :
(a) Contraintes de protéines : 10𝑥1 + 30𝑥2 + 35𝑥3 + 20𝑥4 + 5𝑥 5 ≥ 70
(b) Contraintes de calories : 300𝑥 1 +1800𝑥2 +800𝑥 3 +1500𝑥4 +300𝑥 5 ≥ 3000
(c) Contraintes de calcium : 50𝑥1 + 400𝑥 2 + 450𝑥3 + 750𝑥4 + 120𝑥 5 ≥ 800
(d) Contraintes de fer : 4𝑥1 + 4𝑥4 + 15𝑥5 ≥ 12
(e) Contraintes de positivité : 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ≥ 0
12
Short title of document Formulation mathématique (Modélisation)
Minimiser 𝑍 = 𝐶 𝑇 𝑥
Sous contraintes :
𝐴𝑥 ≥ 𝑏 (2.17)
où
3 𝑥1
10 30 35 20 5 70
7 𝑥
2 300 1800 800 1500 300 3000
𝐶 = 7 , 𝑥 = 𝑥3 , 𝐴 = et 𝑏 =
50 400 450 750 120 800
𝑥4
5
4 0 0 4 15 12
5 𝑥5
𝐶1 𝐶2 𝐶3 𝐶4
𝑃1 25 10 2 30
𝑃2 5 10 20 10
𝑃3 100 65 0 2
13
Short title of document Formulation mathématique (Modélisation)
1. Variables de décision :
Minimiser 𝑍 = 25𝑥11 +10𝑥12 +2𝑥13 +30𝑥14 +5𝑥21 +10𝑥22 +20𝑥23 +10𝑥 24 +100𝑥 31 +65𝑥32 +2𝑥 34
(2.18)
3. Contraintes :
3.1 Contraintes d’offre des dépôts :
𝑥 𝑖𝑗 ≥ 0 pour 𝑖 = 1, 2, 3 et 𝑗 = 1, 2, 3, 4
14
Short title of document Résolution graphique du problème d’optimisation
Max 𝑧 = 𝑐1 𝑥1 + 𝑐 2 𝑥2
s.c. 𝛼1 𝑥1 + 𝛽1 𝑥2 ≤ 𝑏1
𝛼2 𝑥1 + 𝛽1 𝑥2 ≤ 𝑏2
15
Short title of document Résolution graphique du problème d’optimisation
..
.
𝛼 𝑖 𝑥1 + 𝛽 𝑖 𝑥2 ≤ 𝑏 𝑖
..
.
𝛼 𝑚 𝑥1 + 𝛽 𝑚 𝑥2 ≤ 𝑏 𝑚
𝑥1 , 𝑥2 ≥ 0
(𝑃𝑖1 ) 𝛼 𝑖 𝑥1 + 𝛽 𝑖 𝑥2 ≤ 𝑏 𝑖
(𝑃𝑖2 ) 𝛼 𝑖 𝑥1 + 𝛽 𝑖 𝑥2 > 𝑏 𝑖
Chaque contrainte détermine l’un des deux demi-plans 𝑃𝑖1 ou 𝑃𝑖2 que l’on
trouvera en vérifiant si un point particulier (l’origine (0, 0) par exemple) est
contenu dedans ou non. L’intersection de tous les demi-plans correspondant
aux contraintes fournit un domaine plan, non nécessairement borné, appelé
domaine réalisable comme s’est illustré dans la figure 2.4. Le domaine réalisable
peut être soit borné, représentant un simplexe où toutes les contraintes sont
16
Short title of document Résolution graphique du problème d’optimisation
satisfaites comme c’est illustré dans la sous-figure 2.9(a), soit non borné illustré
dans la sous-figure 2.4(b), indiquant l’absence de limites sur certaines variables,
ce qui peut conduire à des solutions infinies.
(a) Domaine réalisable représenté par un (b) Domaine réalisable non borné
simplexe borné
Figure 2.4 – Représentation du domaine réalisable d’un problème d’optimisation par l’intersection des
demi-plans réalisables de chaque contrainte
17
Short title of document Résolution graphique du problème d’optimisation
𝑧 = 𝑐1 𝑥1 + 𝑐2 𝑥2 (2.32)
où 𝑧 est une variable. La famille des droites (𝐷𝑧 ) partagent toutes le même
vecteur normal 𝑛® = (𝑐1 , 𝑐2 ). La direction du vecteur normal, ou gradient, indique
la direction d’augmentation de la valeur de 𝑧. En effet, le gradient 𝑛® pointe vers
les régions où 𝑧 augmente le plus rapidement comme s’est illustré dans la
figure . La droite (𝐷0 ) pour 𝑧 = 0 est déterminée par le point (0, 0) et le vecteur
normal 𝑛® = (3, 8), ce qui signifie qu’elles passent toutes par l’origine et que sont
inclinaison est dictée par la direction du vecteur normal, comme illustré dans la
figure 2.6.
18
Short title of document Résolution graphique du problème d’optimisation
Figure 2.6 – Illustration des droites parallèles et du vecteur normal (gradient) pour une fonction à deux
variables. Les droites représentent les niveaux de la fonction 𝑧, tandis que le vecteur normal indique la
direction de la plus forte augmentation.
Cela signifie que lorsque les droites (𝐷𝑧 ) se déplacent parallèlement dans la
direction du vecteur normal 𝑛® , la valeur de 𝑧 augmente, tandis que lorsque les
droites (𝐷𝑧 ) se déplacent parallèlement dans la direction opposée du vecteur
normal, la valeur de 𝑧 décroît, comme c’est illustré dans la figure 2.6.
𝑍 = 3𝑥 1 + 8𝑥2 = 0
19
Short title of document Résolution graphique du problème d’optimisation
(a) La droite de niveau 𝐷0 a fonction objec- (b) La droite de la fonction objectif 𝐷12 est
tif 3𝑥1 + 82𝑥2 = 0 passe par l’origine 𝑂(0, 0) ensuite obtenue en translatant parallemle-
et sont vecteur normal 𝑛® mentent 𝐷0 dans la direction du vecteur
normal 𝑛® jusu’au point extremal 𝐷.
(c) La droite de la fonction objectif 𝐷 62 est (d) La ligne de niveau de la fonction ob-
3
ensuite obtenue en translatant parallemle- jectif 𝐷24 est en fin obtenue en translatant
mentent 𝐷12 dans la direction du vecteur parallemlementent 𝐷 62 dans la direction du
3
normal 𝑛® jusu’au point extremal 𝐶. vecteur normal 𝑛® jusu’au point extremal 𝐵.
(e) La de la fonction objectif 𝐷25.2 est en fin (f) Il n’est plus possible de éplacer paralle-
obtenue en translatant parallemlementent lement les droite de niveau tout en restant
𝐷 62 dans la direction du vecteur normal 𝑛® à l’interieur du domaine réalisble.
3
jusu’au point extremal 𝐵.
!
3
Cette droite passe par l’origine 𝑂(0, 0). Le vecteur normal 𝑛® = à la droite
2
𝐷0 donne la direction dans laquelle il faut déplacer pour maximiser la fonction
20
Short title of document Résolution graphique du problème d’optimisation
objectif 𝑍.
𝑍 = 3 × 4 + 8 × 0 = 12.
𝑍 = 8 × 3 = 24.
21
Short title of document Résolution graphique du problème d’optimisation
22
Short title of document Résolution graphique du problème d’optimisation
max 𝑧 = 𝐶1 𝑥 1 + 𝐶2 𝑥 2 + . . . + 𝐶 𝑛 𝑥 𝑛
sous contrainte
𝑎11 𝑥 1 + 𝑎 12 𝑥 2 + . . . + 𝑎 1𝑗 𝑥 𝑗 + . . . + 𝑎 1𝑛 𝑥 𝑛 ≤ 𝑏1
.
..
𝑎 𝑖1 𝑥 1 + 𝑎 𝑖2 𝑥2 + . . . + 𝑎 𝑖𝑗 𝑥 𝑗 + . . . + 𝑎 𝑖𝑛 𝑥 𝑛 ≤ 𝑏𝑖
..
.
𝑎 𝑚1 𝑥 1 + 𝑎 𝑚2 𝑥 2 + . . . + 𝑎 𝑚 𝑗 𝑥 𝑗 + . . . + 𝑎 𝑚𝑛 𝑥 𝑛 ≤ 𝑏 𝑚
𝑥 𝑗 ≥ 0, 𝑗 = 1, . . . , 𝑛
S’écrit sous la forme matricielle du programme linéaire comme suit :
23
Short title of document Résolution graphique du problème d’optimisation
Fonction objectif :
𝑥1
𝑥
2
max 𝑧 = [𝐶1 , 𝐶2 , . . . , 𝐶 𝑛 ] · .
| {z } ..
C𝑇 𝑥
𝑛
|{z}
x
Sous contraintes :
𝑎11 𝑎12 . . . 𝑎1𝑛 𝑥1 𝑏1
𝑎 𝑎 . . . 𝑎 𝑥 𝑏
21 22 2𝑛 2 2
.. . . . . ≤ ..
. .. .. .. .. .
𝑎 𝑎 . . . 𝑎 𝑥 𝑏
𝑚1 𝑚2 𝑚𝑛 𝑛 𝑚
| {z } |{z} |{z}
A x b
𝑛
x∈R
max 𝑧 = C𝑇 x
Sous contraintes :
Ax ≤ b
x≥0
Où
La forme standard nécessite que toutes les contraintes soient exprimées sous
forme d’égalités (=). Pour transformer des contraintes d’inégalité du problème
canonique aux contraintes d’égalité dans le problème de standard on introduit
𝑚 variables d’écart positives x𝑛+1 ≥ 0, . . . , x𝑛+𝑚 ≥ 0 mise exeptionnellement
dans des carrés :
24
Short title of document Résolution graphique du problème d’optimisation
max 𝑧 = 𝐶1 𝑥1 + . . . + 𝐶 𝑛 𝑥 𝑛 + 0 𝑥 𝑛+1 + . . . + 0 𝑥 𝑛+𝑚
sous contraintes
𝑎 11 𝑥1 + 𝑎 12 𝑥2 + . . . + 𝑎1𝑗 𝑥 𝑗 + . . . + 𝑎 1𝑛 𝑥 𝑛 + 𝑥 𝑛+1 = 𝑏1
𝑎 21 𝑥1 + 𝑎 22 𝑥2 + . . . + 𝑎2𝑗 𝑥 𝑗 + . . . + 𝑎 2𝑛 𝑥 𝑛 + 𝑥 𝑛+2 = 𝑏2
.. ..
. .
(2.33)
𝑎 𝑖1 𝑥1 + 𝑎 𝑖2 𝑥2 + . . . + 𝑎 𝑖𝑗 𝑥 𝑗 + . . . + 𝑎 𝑖𝑛 𝑥 𝑛 + 𝑥 𝑛+𝑖 = 𝑏𝑖
..
.
𝑎 𝑚1 𝑥1 + 𝑎 𝑚2 𝑥2 + . . . + 𝑎 𝑚 𝑗 𝑥 𝑗 + . . . + 𝑎 𝑚𝑛 𝑥 𝑛 + 𝑥 𝑛+𝑚 = 𝑏𝑚
𝑥 𝑗 ≥ 0, 𝑗 = 1, . . . , 𝑛 + 𝑚
Ou sous la forme matricielle contractée :
max 𝑧 = C𝑇 x
Sous contraintes :
(2.34)
Ax = b
x≥0
Dans ce cas on a
𝑎11 𝑎12 ··· 𝑎1𝑛 1 0 ··· 0
𝑎
21 𝑎22 ··· 𝑎2𝑛 0 1 ··· 0
A= . .. .. .. .. .. . . .. (2.35)
.. . . . . . . .
𝑎
𝑚1 𝑎 𝑚2 · · · 𝑎 𝑚𝑛 0 0 · · · 1
Définition 2.2.2. — Une solution réalisable de (𝑃) est tout 𝑥 ∈ R𝑛 vérifiant toutes
les contraintes de (𝑃).
— On appelle domaine réalisable l’ensemble de toutes les solutions réalisables.
— Une solution réalisable est dite optimale si elle minimise (ou maximise) la
fonction objectif.
Proposition 2.2.3. Tout programme linéaire peut s’écrire sous la forme standard.
25
Short title of document Résolution graphique du problème d’optimisation
Exemple :
Maximiser 𝑧 = 2𝑥1 + 3𝑥 2
Minimiser 𝑧 ′ = −2𝑥1 − 3𝑥 2
Ainsi, le programme linéaire initial peut être réécrit sous la forme standard
suivante :
26
Short title of document Résolution graphique du problème d’optimisation
𝑥1 + 2𝑥2 + 𝑠 1 = 4, 𝑠1 ≥ 0,
2𝑥1 + 𝑥2 − 𝑠 2 = 5, 𝑠2 ≥ 0,
𝑥1 − 𝑥 2 = 2,
𝑥 1 ≥ 0.
Définition :
Remarque :
Puisque le rang 𝐴 est supposé égal à 𝑚, une telle base existe. Pour fixer les
idées, on suppose que 𝐵 est constituée des 𝑚 premières colonnes de 𝐴, ainsi
nous pouvons décomposer la matrice A (2.35) de dimension 𝑚 × (𝑛 + 𝑚) en deux
27
Short title of document Résolution graphique du problème d’optimisation
𝐴 = [B | N] (2.36)
Exemple de décomposition de 𝐵 et 𝑁
28
Short title of document Résolution graphique du problème d’optimisation
Démonstration
29
Short title of document Résolution graphique du problème d’optimisation
Exemple :
30
Short title of document Résolution graphique du problème d’optimisation
Théorème 2.2.6. Chaque sommet d’un polytope 𝑃 correspond à une et une seule
solution de base réalisble et inversemnt.
Figure 2.9 – Représentation du domaine réalisable d’un problème d’optimisation par l’intersection des
demi-plans réalisables de chaque contrainte
31
Short title of document Résolution graphique du problème d’optimisation
Table 2.3 – Classification des points correspondant à différentes sommets bases. Les sommets sont rapportés
dans la figure 2.9
où
𝑍 = 𝐶 𝐵𝑇 𝑥 𝐵 + 𝐶 𝑁
𝑇
𝑥𝑁 .
où
32
Short title of document Résolution graphique du problème d’optimisation
C𝑇𝐵 𝐵−1 b + (C𝑇𝑁 − C𝑇𝐵 𝐵−1 𝑁)x𝑁 revient à minimiser (C𝑇𝑁 − C𝑇𝐵 𝐵−1 𝑁)x𝑁
Notons par
𝐶¯ 1
𝐶¯
2
C̄𝑇𝑁 = C𝑇𝑁 − C𝑇𝐵 B−1 N = . ,
..
𝐶¯
𝑛
qui représente le vecteur des coûts réduits associés aux variables hors base, où
𝐶¯ 𝑗 désigne le coût réduit de la 𝑗-ème variable hors base.
Dans le cas contraire, s’il existe un 𝑗 tel que 𝐶¯ 𝑗 > 0 : supposant sans perdre
de généralité que :
𝐶¯ 𝑗 = max 𝐶¯ 𝑖 pour 𝑖 = 1, . . . , 𝑛,
𝑖
33
Short title of document Résolution graphique du problème d’optimisation
x𝐵 x𝐻 −𝑍
x𝐵 𝐵 𝑁
−1 𝐼 𝐵−1 b
−𝑍 C𝑇𝑁 − C𝑇𝐵 𝐵−1 𝑁 0 −C𝑇𝐵 𝐵−1 b
34
Short title of document Résolution graphique du problème d’optimisation
Table 2.4 – Tableau initial relative au probléme d’optimisation sous forme standard (2.52)
max 𝑍
sous contraintes
𝑎1 1 𝑥 1 + . . . + 𝑎 1 𝑛 𝑥 𝑛 + 𝑥 𝑛+1 + 0 𝑥 𝑛+2 + . . . + 0 𝑥 𝑛+𝑚 = 𝑏1
𝑎2 1 𝑥 1 + . . . + 𝑎 2 𝑛 𝑥 𝑛 + 0 𝑥 𝑛+1 + 𝑥 𝑛+2 + . . . + 0 𝑥 𝑛+𝑚 = 𝑏2
..
. (2.52)
𝑎 𝑚 1 𝑥 1 + . . . + 𝑎 𝑚 𝑛 𝑥 𝑛 + 0 𝑥 𝑛+1 + 0 𝑥 𝑛+2 + . . . + 𝑥 𝑛+𝑚 = 𝑏𝑚
𝐶1 𝑥1 + 𝐶2 𝑥2 + . . . + 𝐶 𝑛 𝑥 𝑛 + 0 𝑥 𝑚+1 + . . . + 0 𝑥 𝑛 − 𝑍
=0
𝑥 𝑗 ≥ 0, 𝑗 = 1, . . . , 𝑚 : variables d’écart,
𝑥 𝑗 ≥ 0, 𝑗 = 𝑚 + 1, . . . , 𝑛 : variables de décision,
35
Short title of document Résolution graphique du problème d’optimisation
La variable dont l’indice est 𝑠, c est à dire 𝑥 𝑠 est la variable d’entrée à la base.
Étape 3 : Détermination de la variable de sortie de la base 𝑥 𝑟
La variable d’entrée 𝑥 𝑠 déterminée dans l´ Étape 1 doit vérifier :
𝑥1 = 𝑏 1 − 𝑎 1𝑠 𝑥 𝑠 ≥ 0
𝑥2 = 𝑏 2 − 𝑎 2𝑠 𝑥 𝑠 ≥ 0
..
. (2.55)
𝑥 𝑚 = 𝑏 𝑚 − 𝑎 𝑚𝑠 𝑥 𝑠 ≥ 0
36
Short title of document Résolution graphique du problème d’optimisation
— Transformation :
𝑏×𝑑
𝑎′ = 𝑎 − .
𝑎 𝑟𝑠
— Remarque :
— Toute ligne possédant un zéro dans la colonne du pivot reste inchangée.
— Toute colonne possédant un zéro dans la ligne du pivot reste inchangée.
37
Short title of document Résolution graphique du problème d’optimisation
Table 2.5 – Mise a jours du tableau aprés les deux operations (2.57) et (2.58)
Maximiser 𝑧 = 𝑥1 + 2𝑥2 + 4𝑥3
sous les contraintes
𝑥1 + 3𝑥2 + 2𝑥3 ≤ 9
𝑥1 + 2𝑥2 − 𝑥3 ≤ 2
−𝑥1 + 𝑥2 + 𝑥 3 ≤ 4
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
38
Short title of document Résolution graphique du problème d’optimisation
Data: Initialisation
Result: Terminé pour la maximisation
while Il existe 𝑐 𝑗 > 0 do
Détermination de la variable de sortie :
Trouver la colonne pivot : 𝑠 = arg max 𝑗 {𝑐 𝑗 | 𝑐 𝑗 > 0};
Détermination de la variable d’entrée : ;
Trouver la ligne pivot en utilisant
le critère du quotient :
𝑏𝑖
𝑟 = arg min𝑖 𝑎 𝑖𝑠 𝑎 𝑖𝑠 > 0 ;
if 𝑎 𝑟𝑠 > 0 then
Effectuer l’élimination de Gauss-Jordan autour du pivot :
Pour chaque ligne 𝑖 ≠ 𝑟, faire :
𝐿 𝑖 ← 𝐿 𝑖 − 𝑎𝑎𝑟𝑠𝑖𝑠 𝐿𝑟 ;
Mettre à jour la ligne pivot en la divisant par le pivot pour la
rendre égale à 1 :
𝐿𝑟 ← 𝑎1𝑟𝑠 𝐿𝑟 ;
end
else
Le problème est non borné inférieurement : arrêtez l’algorithme.
end
end
Terminé pour la maximisation;
Algorithm 1: Algorithme de simplexd’un problème de maximisation
Maximiser 𝑧 = 𝑥1 + 2𝑥2 + 4𝑥3
sous les contraintes
𝑥1 + 3𝑥2 + 2𝑥3 + 𝑥4 = 9
𝑥1 + 2𝑥2 − 𝑥3 + 𝑥5 = 2
−𝑥1 + 𝑥2 + 2𝑥3 + 𝑥6 = 4
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ≥ 0
39
Short title of document Résolution graphique du problème d’optimisation
𝑥1 = 𝑥2 = 𝑥3 = 0, 𝑥4 = 9, 𝑥5 = 2, 𝑥6 = 4
𝐶3 = max{1, 2, 4}
40
Short title of document Résolution graphique du problème d’optimisation
correspond à la ligne pour laquelle le rapport 𝑎𝑏𝑖𝑟𝑖 est le plus petit avec
𝑎 𝑖𝑟 > 0, 𝑖 = 1, 3, 𝑟 = 3. En effet, 𝑎13 , 𝑎 33 sont positifs mais 𝑎 23 = −1 < 0.
𝑏1 9 𝑏3 4
= = 4.5, = =2
𝑎13 2 𝑎 33 2
Le plus faible ratio est 24 qui correspond à la ligne d’indice 3 et par conséquent
la variable 𝑥6 qui doit sortir de la base et la ligne pivot est celle de 𝑥6 .
Base 𝑥1 𝑥 2 𝑥3 𝑥4 𝑥5 𝑥6 b
𝑥4 2 2 0 1 0 −1 5
𝑥5 1
2
5
2 0 0 1 1
2 4
𝑥3 − 2 2 1 0 0
1 1 1
2 2
−𝑍 3 0 0 0 0 −2 −8
5
Pour 𝑥4 : ≈ 2.5
2
4
Pour 𝑥5 : =8
1/2
Pour 𝑥3 : (non valide)
La ligne pivot est celle de 𝑥4 . Nous déduisons donc :
— 𝑥1 variable hors base entre dans la base
— 𝑥4 variable de base sort la base
Nous allons effectuer le pivot pour 𝑥 2 .
41
Short title of document Résolution graphique du problème d’optimisation
Base 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥 6 RHS
𝑥2 0 1 0 5
3 0 − 23 5
3
𝑥5 1 0 0 − 35 1 1
3
11
3
𝑥3 1 0 1 − 31 0 1 4
𝑍 0 0 0 −6 −4 −8 −20
Conclusion
Le tableau final indique que la solution optimale a été atteinte. Les valeurs
des variables sont :
𝑥1 = 0,
5
𝑥2 = ,
3
𝑥3 = 4,
Dualité
1. Exemple introductif
Exemple. Une entreprise E1 fabrique les produits P1 et P2. Elle utilise les ma-
tières premières M1, M2 et M3, à raison de :
— 2 tonnes de M1, 1 tonne de M2 et 3 tonnes de M3 par unité produite de P1,
— 1 tonne de M1, 3 tonnes de M2 et 4 tonnes de M3 par unité produite de P2.
Elle dispose de :
— 50 tonnes de M1, 25 tonnes de M2 et 60 tonnes de M3.
Le bénéfice net est de 5000 UM par unité de P1 et de 2000 UM par unité de
P2.
42
Short title of document Résolution graphique du problème d’optimisation
sous contraintes :
i 𝑦1
h
Min 𝑊 = 300 500 40 𝑦2
𝑦3
sous contraintes :
Remarque
(𝑃) (𝐷)
max 𝑧 = 5000𝑥 1 + 2000𝑥2
min 𝑤 = 50𝑦1 + 25𝑦2 + 60𝑦3
2𝑥1 + 𝑥2 ≤ 50
2𝑦1 + 𝑦2 + 3𝑦3 ≥ 5000
𝑥 1 + 3𝑥2 ≤ 25 ↔
𝑦1 + 3𝑦2 + 4𝑦3 ≥ 2000
3𝑥1 + 4𝑥 2 ≤ 60
𝑦1 , 𝑦2 , 𝑦3 ≥ 0
𝑥1 , 𝑥2 ≥ 0
45
Short title of document Résolution graphique du problème d’optimisation
alors on a :
2 1 50 !
© ª © ª 5000
𝐴 = 1 3®® ; 𝑏 = 25®® ; 𝑐=
2000
«3 4 ¬ «60¬
! ! 50
2 1 3 5000
′
= 𝐴𝑇 ; ′ ′
© ª
𝐴 = 𝑏 = = 𝑐; 𝑐 = 25®® = 𝑏
1 3 4 2000
«60¬
Le problème primal (𝑃) et son dual (𝐷) sont liés par les relations suivantes :
46
Short title of document Résolution graphique du problème d’optimisation
Formulation algébrique :
Soit un programme linéaire sous forme canonique :
max 𝑧 = 𝑐 1 𝑥1 + 𝑐2 𝑥2 + . . . + 𝑐 𝑛 𝑥 𝑛
𝑎 11 𝑥1 + 𝑎 12 𝑥2 + . . . + 𝑎 1𝑛 𝑥 𝑛 ≤ 𝑏 1
𝑎21 𝑥1 + 𝑎22 𝑥2 + . . . + 𝑎2𝑛 𝑥 𝑛 ≤ 𝑏2
(𝑃) ..
.
𝑎 𝑚1 𝑥1 + 𝑎 𝑚2 𝑥2 + . . . + 𝑎 𝑚𝑛 𝑥 𝑛 ≤ 𝑏 𝑚
𝑥1 ≥ 0, . . . , 𝑥 𝑛 ≥ 0
𝑛 variables 𝑥 1 , 𝑥2 , . . . , 𝑥 𝑛 et 𝑚 contraintes.
Coefficients du second membre : 𝑏 1 , 𝑏2 , . . . , 𝑏 𝑚 .
Coefficients (coûts) de la fonction objectif : 𝑐1 , 𝑐2 , . . . , 𝑐 𝑛 .
Matrice des contraintes 𝐴 de type (𝑚, 𝑛) (m lignes et n colonnes).
min 𝑤 = 𝑏 1 𝑦1 + 𝑏 2 𝑦2 + · · · + 𝑏 𝑚 𝑦𝑚
𝑎 11 𝑦1 + 𝑎 21 𝑦2 + · · · + 𝑎 𝑚1 𝑦𝑚 ≥ 𝑐 1
𝑎12 𝑦1 + 𝑎22 𝑦2 + · · · + 𝑎 𝑚2 𝑦𝑚 ≥ 𝑐2
(𝐷)
..
.
𝑎 1𝑛 𝑦1 + 𝑎2𝑛 𝑦2 + · · · + 𝑎 𝑚𝑛 𝑦𝑚 ≥ 𝑐 𝑛
𝑦1 ≥ 0, 𝑦2 ≥ 0, . . . , 𝑦𝑚 ≥ 0
m variables 𝑦1 , 𝑦2 , . . . , 𝑦𝑚 et n contraintes. Coefficients du second membre :
𝑐1 , 𝑐2 , . . . , 𝑐 𝑛 . Coefficients (coûts) de la fonction objectif : 𝑏 1 , 𝑏2 , . . . , 𝑏 𝑚 . Matrice
des contraintes : 𝐴′ = 𝐴𝑇 de type (𝑛, 𝑚) (n lignes et m colonnes).
47
Short title of document Résolution graphique du problème d’optimisation
Formulation matricielle :
Formulation matricielle :
max 𝑧 = 𝑐 𝑇 𝑥
min 𝑤 = 𝑏 𝑇 𝑦
𝐴𝑇 𝑦 ≥ 𝑐
(𝑃) 𝐴𝑥 ≤ 𝑏 (𝐷)
𝑥 ≥ 0
𝑦 ≥ 0
Exemple 1 :
max 𝑧 = 𝑥1 + 3𝑥 2
min 𝑤 = 14𝑦1 + 12𝑦2 + 12𝑦3
𝑥1 + 𝑥2 ≤ 14
𝑦1 − 2𝑦2 + 2𝑦3 ≥ 1
(𝑃1 ) −2𝑥1 + 3𝑥2 ≤ 12 (𝐷1 )
𝑦1 + 3𝑦2 − 𝑦3 ≥ 3
2𝑥1 − 𝑥 2 ≤ 12
𝑦1 , 𝑦2 , 𝑦3 ≥ 0
𝑥1 , 𝑥2 ≥ 0
Exemple 2 :
min 𝑧 = −2𝑥 1 + 9𝑥2
min 𝑧 = −2𝑥1 + 9𝑥2
3𝑥1 + 𝑥2 ≥ 10 3𝑥 1 + 𝑥2 ≥ 10
(𝑃2 ) 4𝑥1 − 3𝑥2 ≤ 8 ⇐⇒ −4𝑥1 + 3𝑥2 ≥ −8
𝑥1 − 𝑥2 ≤ 6 −𝑥1 + 𝑥2 ≥ −6
𝑥1 , 𝑥2 ≥ 0
𝑥1 , 𝑥2 ≥ 0
48
Short title of document Résolution graphique du problème d’optimisation
min 𝑧 = −2𝑢1 + 9𝑢2
3𝑢1 + 𝑢2 ≥ 10
¯ 2)
(𝐷 −4𝑢1 + 3𝑢2 ≥ −8
−𝑢1 + 𝑢2 ≥ −6
𝑢1 , 𝑢2 ≥ 0
Le dual du dual de (𝑃2 ) = (𝑃2 ).
4. Théorème de dualité
Soit 𝑥 une solution réalisable d’un problème (PL) sous forme canonique et
𝑦 une solution réalisable du problème dual (PLD). Alors :
1. 𝑧(𝑥) ≤ 𝑤(𝑦)
2. (Certificat d’optimalité) Si 𝑧(𝑥) = 𝑤(𝑦) alors 𝑥 et 𝑦 sont deux solutions
optimales de (PL) et (PLD) respectivement.
49
Short title of document Résolution graphique du problème d’optimisation
Par exemple :
50
Short title of document Résolution graphique du problème d’optimisation
(PL)
Solution optimale de (PL) :
15
𝑥 1∗ =
2
∗
𝑥2 = 5
Programme dual :
(PLD)
27
81 − (3𝑥 1∗ + 9𝑥2∗ ) = > 0 =⇒ 𝑦1∗ = 0
2
=⇒ Solution optimale du problème dual
1 7
𝑦1∗ = 0, 𝑦2∗ = , 𝑦3∗ = .
3 3
51
Chapitre 3
Définition 3.0.1. Une racine (ou zéro) d’une fonction continue 𝑓 : R → R est un
point 𝑥¯ ∈ R tel que :
𝑓 ( 𝑥)
¯ = 0.
Cela signifie que, pour une fonction 𝑓 continue, 𝑥¯ est une valeur où la fonction
𝑓 prend la valeur zéro.
52
Short title of document
Figure 3.1 – Illustration de la racine (zéro) de la fonction continue 𝑓 (𝑥) = cos(𝑥) − 𝑥 3 . La courbe bleue
représente la fonction, et le marqueur rouge indique l’emplacement de la racine approximative 𝑥¯ ≈ 0.865,
où la fonction s’annule.
Cela donne un nouveau point 𝑥1 , qui devrait être plus proche du zéro de la
fonction que le point initial 𝑥0 . En répétant ce processus d’approximation par la
tangente aux points successifs (𝑥1 , 𝑥 2 , etc.), on peut améliorer progressivement
l’approximation du zéro de 𝑓 .
La figure 3.2 montre le processus itératif de la méthode de Newton-Raphson,
qui utilise la tangente à la courbe 𝑦 = 𝑓 (𝑥) pour obtenir une meilleure approxi-
mation de la racine de la fonction à chaque itération.
(a) Le principe général est illustré, avec l’utilisation de la tangente en un point
(𝑥 𝑛 , 𝑓 (𝑥 𝑛 )) pour estimer 𝑥 𝑛+1 . (b) à (f) montrent les itérations successives (𝑥1 à
𝑥5 ), où chaque nouvelle estimation affine la précision par rapport à la racine
recherchée. Ce processus démontre la rapidité de convergence de la méthode,
sous réserve que l’estimation initiale soit adéquate.
53
Short title of document
Figure 3.2 – Illustration de la racine (zéro) de la fonction continue 𝑓 (𝑥) = cos(𝑥) − 𝑥 3 . La courbe bleue
représente la fonction, et le marqueur rouge indique l’emplacement de la racine approximative 𝑥¯ ≈ 0.865,
où la fonction s’annule.
Data: Une fonction 𝑓 (𝑥), sa dérivée 𝑓 ′(𝑥), une estimation initiale 𝑥0 , une
tolérance 𝜖, un nombre maximal d’itérations 𝑁max .
Result: Une approximation de la racine 𝑥 ∗ .
begin
𝑛 ← 0;
while 𝑛 < 𝑁max do
Calculer 𝑓 (𝑥 𝑛 ) et 𝑓 ′(𝑥 𝑛 );
if | 𝑓 (𝑥 𝑛 )| < 𝜖 then
Retourner 𝑥 𝑛 (la racine est trouvée);
end
if 𝑓 ′(𝑥 𝑛 ) = 0 then
Erreur : la dérivée est nulle, la méthode échoue;
Arrêter;
end
𝑓 (𝑥 𝑛 )
Mettre à jour 𝑥 𝑛+1 ← 𝑥 𝑛 − 𝑓 ′ (𝑥 𝑛 )
;
𝑛 ← 𝑛 + 1;
end
Retourner 𝑥 𝑛 (approximation après 𝑁max itérations);
end
Algorithm 2: Méthode de Newton-Raphson pour trouver la racine d’une
fonction
54
Short title of document
Les problèmes d’optimisation les plus simples sont ceux qui consistent à
minimiser (ou maximiser) une fonction 𝑓 : 𝑊 ⊂ R → R. Le problème général
d’optimisation sans contrainte peut être formulé de la manière suivante :
55
Short title of document
Figure 3.3 – Représentation de la fonction 𝑓 (𝑥) = 0.1𝑥 2 + sin(3𝑥) + sin(5𝑥) avec des minima locaux
(cercles rouges) et un minimum global (carré vert).
points qui vérifient (3.2) seulement dans un voisinage de 𝑥 ∗ comme c’est illus-
tré par des point entourés de cercles dans la figure 3.3. On verra maintenant
comment de tels points peuvent être caractérisés.
(a) ∇ 𝑓 (𝑥 ∗ ) = 0
(b) ∇2 𝑓 (𝑥 ∗ ) est une matrice semi-définie positive
56
Short title of document Algorithme de Newton descente de gradient explicite
1
𝑓 (𝑥) = 1 − (3.6)
5𝑥 2 − 6𝑥 + 5
57
Short title of document Algorithme de Newton descente de gradient explicite
10𝑥 − 6
𝑓 ′(𝑥) = (3.7)
(5𝑥 2 − 6𝑥 + 5)2
58
Short title of document Algorithme de Newton descente de gradient explicite
𝑓 (𝑥 𝑘 + ℎ𝑒 𝑖 + ℎ𝑒 𝑗 ) − 𝑓 (𝑥 𝑘 + ℎ𝑒 𝑖 ) − 𝑓 (𝑥 𝑘 + ℎ𝑒 𝑗 ) + 𝑓 (𝑥 𝑘 )
𝐻˜ 𝑘 (𝑖, 𝑗) ≈ (3.10)
ℎ2
59
Short title of document Algorithme de Newton descente de gradient explicite
60
Short title of document Méthode de Descente Général
Table 3.2 – Itérations de l’algorithme de Newton avec approximations numériques pour minimiser la
1
fonction 1 − 5𝑥 2 −6𝑥+5 .
𝑓 (𝑥 ∗ ) ≤ 𝑓 (𝑥 ∗ + 𝛼𝑑), ∀𝑑 ∈ 𝑉(0),
61
Short title of document Méthode de Descente Général
𝑓 (𝑥 𝑘+1 ) < 𝑓 (𝑥 𝑘 )
sauf lorsque 𝑥 𝑘 est déjà optimal. Pour garantir une diminution de la fonction,
la direction de descente 𝑑 𝑘 doit satisfaire :
∇ 𝑓 (𝑥 𝑘 )𝑇 𝑑 𝑘 < 0 (3.13)
Cela signifie que la direction de recherche doit former un angle aigu avec le
négatif du gradient de la fonction. Une telle direction est connue sous le nom
de direction de descente. Un algorithme général pour une méthode de descente
d’optimisation est donné par l’Algorithme 5.
Input: Initialisation : 𝑥0 , tolérance 𝜖 0
Output: Solution optimale 𝑥 𝑘
for 𝑘 = 1, 2, . . . do
Trouver une direction de descente 𝑑 𝑘 ;
Recherche de ligne : Choisir une taille de pas 𝛼 𝑘 > 0tel que :;
𝛼 𝑘 ← arg min𝛼≥0 𝑓 (𝑥 + 𝛼𝑑)) ;
Mettre à jour la solution en utilisant l’équation : 𝑥 𝑘+1 = 𝑥 𝑘 + 𝛼 𝑘 𝑑 𝑘 ;
if ∥∇ 𝑓 (𝑥 𝑘+1 )∥2 ≤ 𝜖0 then
Sortir;
end
end
Algorithm 5: Méthode Générale de Descente
Pour qu’on puisse appliquer l’algorithme de décente 5 pour converger vers
un minimum, à chaque itération, on doit absolument spécifier deux inconnus :
1. La direction de recherche de descente 𝑑 𝑘
2. La méthode de calcul du pas de déplacement 𝛼 𝑘
62
Short title of document Méthode de Descente Général
Le produit scalaire ⟨∇ 𝑓 (𝑥), −∇ 𝑓 (𝑥)⟩ = −∥∇ 𝑓 (𝑥)∥2 < 0 montre que, pour un
petit pas 𝛼 > 0, on a
𝑓 (𝑥 + 𝛼𝑑) < 𝑓 (𝑥).
63
Short title of document Méthode de Recherche de Ligne Exacte
— Critère d’Armijo :
1
𝑓 (𝑥 + 𝛼𝑑) − 𝑓 (𝑥) < 𝜏𝛼∇ 𝑓 (𝑥) · 𝑑, avec 𝜏 ∈ 0, ,
2
— Critère de Wolfe :
64
Short title of document Méthode de Recherche de Ligne Exacte
65
Short title of document Exemple numérique
※ Exemple numérique
Pour illustrer l’algorithme de descente de gradient avec recherche linéaire,
nous allons résoudre le problème d’optimisation non contraint suivant :
min 𝑓 (𝑥) = 𝑥1 − 𝑥2 + 2𝑥 1 𝑥2 + 2𝑥 12 + 𝑥 22
𝑥1 ,𝑥 2
Première itération :
66
Short title of document Exemple numérique
" #
0
En partant de 𝑥 0 = , on a :
0
" #
1
∇ 𝑓 (𝑥 0 ) =
−1
" #
−1
La direction de descente est donc 𝑑0 = −∇ 𝑓 (𝑥0 ) = .
1
Nous appliquons la règle de recherche linéaire d’Armijo les lignes 1 et 2 de
l’algorithme est 𝛼0 =1. Ainsi, la mise à jour de 𝑥 donne :
" # " # " #
0 −1 −1
𝑥 1 = 𝑥 0 + 𝛼 0 𝑑0 = + 1.0 · =
0 1 1
Deuxième itération :
" #
−1
Étant donné 𝑥1 = , on calcule le gradient :
1
" # " #
1 + 2 · 1 + 4 · (−1) −1
∇ 𝑓 (𝑥1 ) = =
−1 + 2 · (−1) + 2 · 1 −1
" #
1
La direction de descente est 𝑑1 = −∇ 𝑓 (𝑥1 ) = .
1
En appliquant deux itération des lignes 1-2 d’Armijo, nous trouvons que
𝛼1 = 0.25. La nouvelle valeur de 𝑥 est donc :
" # " # " #
−1 1 −0.75
𝑥 2 = 𝑥 1 + 𝛼 1 𝑑1 = + 0.25 · =
1 1 1.25
Troisième itération :
" # " #
−0.75 0.5
À partir de 𝑥2 = , on calcule le gradient : ∇ 𝑓 (𝑥2 ) = La direction
1.25 0
" #
−0.5
de descente est 𝑑2 = −∇ 𝑓 (𝑥2 ) = . Avec deux iterations des lignes 1 et 2 du
0
critère d’Armijo, on trouve 𝛼2 = 0.25. La mise à jour de 𝑥 est donc :
" # " # " #
−0.75 −0.5 −0.875
𝑥 3 = 𝑥 2 + 𝛼 2 𝑑2 = + 0.25 · =
1.25 0 1.25
67
Short title of document Exemple numérique
Quatrième itération :
" # " #
−0.875 0.0
Avec 𝑥3 = , le gradient devient : ∇ 𝑓 (𝑥3 ) =
1.25 0.25
" #
0.0
La direction de descente est 𝑑3 = −∇ 𝑓 (𝑥3 ) = . Avec une itération du
−0.25
critère d’Armijo on obtient 𝛼3 = 0.5. Donc :
" # " # " #
−0.875 0.0 −0.875
𝑥 4 = 𝑥 3 + 𝛼 3 𝑑3 = + 0.5 · =
1.25 0.25 1.375
Terminaison :
68
Short title of document Exemple numérique
Itération xk dk ∥dk ∥ 𝛼𝑘
0 [0, 0] [-1, 1] 1.4142 1.0000
1 [-1, 1] [1, 1] 1.4142 0.2500
2 [-0.75, 1.25] [-0.5, -0] 0.5000 0.2500
3 [-0.875, 1.25] [-0, 0.25] 0.2500 0.5000
4 [-0.875, 1.375] [-0.25, -0] 0.2500 0.2500
5 [-0.9375, 1.375] [-0, 0.125] 0.1250 0.5000
.. .. .. ..
. . . .
24 [-0.99987793, 1.49987793] [-0.00024414, -0] 0.0002 0.2500
25 [-0.99993896, 1.49987793] [-0, 0.00012207] 0.0001 0.5000
26 [-0.99993896, 1.49993896] [-0.00012207, -0] 0.0001 0.2500
27 [-0.99996948, 1.49993896] [-0, 0.000061035] 0.0001 0.5000
28 [-0.99996948, 1.49996948] [-0.000061035, -0] 0.0001 0.2500
29 [-0.99998474, 1.49996948] [-0, 0.0000305176] 0.0000 0.5000
30 [-0.99998474, 1.49998474] [-0.0000305176, -0] 0.0000 0.2500
31 [-0.99999237, 1.49998474] [-0, 0.0000152588] 0.0000 0.5000
Table 3.3 – Résultats détaillés des itérations de l’algorithme de descente avec point de départ (0, 0) et le
paramètre 𝑐 = 0.1
𝑛
1Õ
𝑓 (x) = 𝑓𝑖 (x).
𝑛
𝑖=1
69
Short title of document Exemple numérique
𝑛
1Õ
∇ 𝑓 (x) = ∇ 𝑓𝑖 (x).
𝑛
𝑖=1
x ← x − 𝜂∇ 𝑓𝑖 (x),
Cela signifie que, en moyenne, le gradient stochastique est une bonne esti-
mation du gradient. Les étapes pour effectuer SGD sont les suivantes :
Input: Ensemble de données d’entraînement, taux d’apprentissage 𝜂,
nombre maximal d’itérations 𝑁
Output: Paramètres du modèle x
Initialiser x aléatoirement;
for 𝑡 = 1 to 𝑁 do
Choisir aléatoirement un exemple d’entraînement 𝑖;
Calculer le gradient stochastique ∇ 𝑓𝑖 (x);
Mettre à jour les paramètres du modèle : x ← x − 𝜂∇ 𝑓𝑖 (x);
end
Algorithm 7: Descente de gradient stochastique
70
Short title of document Exemple numérique
Figure 3.6 – Régression linéaire avec l’algorithme de Descente de Gradient Stochastique (SGD). La figure
montre l’ajustement de la droite de régression aux données générées. Les points bleus représentent les
données réelles (𝑥 𝑖 , 𝑦 𝑖 ) et la ligne rouge est la prédiction de la régression calculée par SGD..
𝑦pred = 𝑥 · 𝑤 + 𝑏
𝑛
1Õ
MSE(𝑤, 𝑏) = (𝑦 𝑖 − 𝑦ˆ 𝑖 )2
𝑛
𝑖=1
71
Short title of document Exemple numérique
Avec 𝑦ˆ 𝑖 = 𝑋𝑖 · 𝑤 + 𝑏.
La mise à jour des poids et du biais se fait selon les gradients de la fonction
de coût par rapport à 𝑤 et 𝑏 :
𝜕 2
MSE(𝑤, 𝑏) = 𝑋 𝑇 (𝑋 · 𝑤 + 𝑏 − 𝑦)
𝜕𝑤 𝑛
𝑛
𝜕 2Õ
MSE(𝑤, 𝑏) = (𝑋𝑖 · 𝑤 + 𝑏 − 𝑦 𝑖 )
𝜕𝑏 𝑛
𝑖=1
Les poids et le biais sont ensuite mis à jour à chaque itération de l’algorithme
SGD par :
𝜕
𝑤 := 𝑤 − 𝜂 · MSE(𝑤, 𝑏)
𝜕𝑤
𝜕
𝑏 := 𝑏 − 𝜂 · MSE(𝑤, 𝑏)
𝜕𝑏
Où 𝜂 est le taux d’apprentissage.
L’algorithme 7 basé sur la Descente de Gradient Stochastique (SGD) ajuste les
paramètres de la régression linéaire à partir d’un ensemble de données. La figure
3.6 montre les points de données (𝑥 𝑖 , 𝑦 𝑖 ) en bleu et la droite de régression prédite
en rouge. Le modèle est optimisé sur 1000 époques. Le tableau 3.4 résume les
résultats obtenus, montrant la diminution de la perte MSE à chaque époque, ce
qui indique la convergence du modèle. Les poids 𝑤 du modèle sont également
affichés après chaque époque.
1
Époque Perte (MSE) Poids (𝑤)
0 3.012 [1.23, -0.47, 2.06, 0.38, 0.52]
100 2.403 [0.89, -0.45, 1.89, 0.32, 0.45]
200 1.672 [0.72, -0.40, 1.50, 0.29, 0.40]
300 1.134 [0.65, -0.37, 1.31, 0.26, 0.36]
400 0.902 [0.61, -0.34, 1.19, 0.24, 0.33]
500 0.786 [0.58, -0.32, 1.13, 0.23, 0.31]
600 0.754 [0.57, -0.31, 1.09, 0.22, 0.30]
700 0.723 [0.56, -0.30, 1.05, 0.21, 0.29]
800 0.695 [0.55, -0.29, 1.02, 0.21, 0.28]
900 0.672 [0.54, -0.28, 0.99, 0.20, 0.27]
Table 3.4 – Résumé des résultats de l’entraînement du modèle avec SGD. Les poids sont mis à jour à
chaque époque et la perte (MSE) diminue à mesure que le modèle converge.
72
Short title of document Exemple numérique
Figure 3.7 – Un CNN est organisé en deux parties : l’extraction de l’information et l’analyse de cette
information (crédit : Lambert Rosique)
1. Convolution
ℎ−1 𝑤−1
Õ Õ
𝑆(𝑖, 𝑗) = (𝐼 ∗ 𝐾)(𝑖, 𝑗) = 𝐼(𝑖 + 𝑚, 𝑗 + 𝑛) · 𝐾(𝑚, 𝑛)
𝑚=0 𝑛=0
où 𝐼(𝑖, 𝑗) est le pixel de l’image d’entrée à la position (𝑖, 𝑗), et 𝐾(𝑚, 𝑛) est le
poids du filtre à la position (𝑚, 𝑛).
1. Une époque fait référence à un cycle complet où l’algorithme de machine learning utilise
l’ensemble du jeu de données pour mettre à jour les paramètres du modèle. Un modèle peut être
entraîné sur plusieurs époques, ce qui signifie que le jeu de données est vu plusieurs fois durant
l’entraînement.
2. Section facultatif.
73
Short title of document Exemple numérique
2. Ajout de Biais
𝑆(𝑖, 𝑗) = (𝐼 ∗ 𝐾)(𝑖, 𝑗) + 𝑏
ReLU(𝑥) = max(0, 𝑥)
4. Pooling (Sous-échantillonnage)
5. Aplatissage (Flattening)
74
Short title of document Exemple numérique
𝑦 = Activation(𝑊 · 𝑥 + 𝑏)
où l’activation peut être une fonction telle que la fonction sigmoïde, ReLU,
ou softmax pour la classification.
7. Fonction de Perte
Pour entraîner le CNN, une fonction de perte est définie pour mesurer la
différence entre la sortie prédite et la sortie réelle. Pour la classification, la cross-
entropy est couramment utilisée :
𝐶
Õ
𝐿=− 𝑦 𝑖 log( 𝑦ˆ 𝑖 )
𝑖=1
75
Short title of document Exemple numérique
𝑁
1 Õ
𝐿(𝑦, 𝑦)
ˆ = 𝑙 𝑖 , où
𝑁
Perte Huber (Huber 𝑖=1 Régression robuste (moins
Loss) sensible aux outliers)
(
2 (𝑦 𝑖 − 𝑦ˆ 𝑖 ) si |𝑦 𝑖 − 𝑦ˆ 𝑖 | ≤ 𝛿
1 2
𝑙𝑖 =
𝛿(|𝑦 𝑖 − 𝑦ˆ 𝑖 | − 21 𝛿) sinon
𝑦 · 𝑦ˆ Apprentissage de simila-
Perte Cosine (Cosine
𝐿(𝑦, 𝑦)
ˆ =1− rité, modèles de recom-
Loss) ∥𝑦∥∥ 𝑦∥
ˆ
mandation
76
Short title of document Exemple numérique
𝜕𝐿
𝑤new = 𝑤 old − 𝜂
𝜕𝑤
𝜕𝐿
où 𝜂 est le taux d’apprentissage et 𝜕𝑤
est le gradient de la perte par rapport
au poids 𝑤.
Table 3.6 – Tableau des différentes formules de mise à jours des poids et leurs application dans l’appren-
tissage automatique.
Algorithme d’Opti-
Mise à Jour des Poids Domaine d’Application
misation
Descente de Gra- Problèmes de grande
dient Stochastique 𝑤 𝑡+1 = 𝑤 𝑡 − 𝜂∇𝐿(𝑤 𝑡 ) échelle, apprentissage
(SGD) profond
Apprentissage adaptatif,
AdaGrad (Adaptive 𝜂
𝑤 𝑡+1 = 𝑤 𝑡 − √ ∇𝐿(𝑤 𝑡 ) rareté des données (NLP,
Gradient) 𝐺𝑡 + 𝜖
vision par ordinateur)
77
Short title of document Exemple numérique
Algorithme d’Opti-
Mise à Jour des Poids Domaine d’Application
misation
𝑚𝑡 = 𝛽1 𝑚𝑡−1 + (1 − 𝛽 1 )∇𝐿(𝑤 𝑡 ),
78
Chapitre 4
Recherche opérationnelle
79
Short title of document
− +
𝑑𝐺 (𝑥) = 𝑑𝐺 (𝑥) + 𝑑𝐺 (𝑥)
Terminaison
80
Short title of document
— Un chemin dans (𝑋 , 𝐸) est une suite de sommets telle que si 𝑥 𝑘 , 𝑥 𝑙 sont deux
sommets consécutifs de cette suite alors (𝑥 𝑘 , 𝑥 𝑙 ) ∈ 𝐸.
— Un circuit dans (𝑋 , 𝐸) est un chemin dont le dernier sommet coïncide avec le
premier.
— Un chemin (resp. circuit) est dit élémentaire s’il contient une et une seule fois
chacun des sommets dans le graphe.
— Un chemin est dit Hamiltonien s’il passe une et une seule fois par chaque
sommet du graphe.
— Un chemin est dit Euclidien s’il passe une et une seule fois par chaque arc du
graphe.
81
Short title of document Algorithmes sur les graphes
(
1, si (𝑥 𝑖 , 𝑥 𝑗 ) ∈ 𝐸
𝑏 𝑖𝑗 =
0, sinon
La matrice d’adjacence d’un graphe non orienté est symétrique. Les relations
entre arêtes et sommets, appelées les relations d’incidence, sonttoutes représen-
tées par la matrice d’incidence du graphe.
82
Short title of document Fonctionnement de l’Algorithme BFS
ß
(b) Étape 2 : poussez le noeud 0 dans (c) Étape 3 : Supprimez le noeud 0 du
la file d’attente et marquez-le comme début de la file d’attente, visitez les
visité. voisins non visités et placez-les dans
la file d’attente.
83
Short title of document Problème du flot maximum
4.3.2 Flot
84
Short title of document Algorithme de Ford-Fulkerson
※ Algorithme de Ford-Fulkerson
L’algorithme de Ford-Fulkerson est un algorithme itératif. À chaque itération,
la solution courante est un flot qui satisfait les contraintes de capacité (c’est
donc un flot réalisable), et l’algorithme essaie d’augmenter la valeur de ce flot.
Cela peut nécessiter d’annuler certains choix. Pour ce faire, on définit le graphe
résiduel 𝐺 𝑓 de 𝐺 et de 𝑓 , qui indique les modifications possibles (ajout ou
annulation) : c’est un graphe pondéré 𝑅 𝑓 = (𝑆, 𝐴 𝑓 , 𝑟 𝑓 ), où :
85
Short title of document Algorithme de Ford-Fulkerson
4.4.2 Exemple
𝑟 𝑓 ((𝑢, 𝑣)) = 3.
L’arête (𝑠, 𝑢) a une capacité de 𝑐((𝑠, 𝑢)) = 4. Elle est utilisée dans le flot :
86
Short title of document Algorithme de Ford-Fulkerson
Table 4.2
𝑓 ((𝑠, 𝑢)) = 3.
De même :
Les trois arêtes (𝑠, 𝑢), (𝑢, 𝑣), (𝑣, 𝑡) sont strictement positives dans le flot. Ces
poids dans le flot ne sont peut-être pas les plus optimaux.
Les nouvelles arêtes arrières (𝑡, 𝑣), (𝑣, 𝑢), (𝑢, 𝑠) (en rouge) dans le graphe
résiduel marquent alors le fait que l’on pourra toujours diminuer le flot sur ces
arêtes.
Étape 2 : Supposons que l’algorithme sélectionne le chemin améliorant 𝛾 =
((𝑠, 𝑣), (𝑣, 𝑢), (𝑢, 𝑡)) dans la table 4.3. L’augmentation maximale du débit est li-
mitée par la capacité résiduelle :
87
Short title of document Algorithme de Ford-Fulkerson
Table 4.3
Pour la première fois, on passe par une arête arrière (𝑣, 𝑢). Alors que le flot 𝑓
augmente de 1 le long des arêtes (𝑠, 𝑣) et (𝑢, 𝑡), il diminue de 1 le long de (𝑢, 𝑣).
On peut remarquer que les capacités résiduelles des arêtes arrières sont
toujours égales aux poids dans le flot.
Étape 3 : Supposons que l’algorithme choisisse à nouveau le chemin 𝛾 =
((𝑠, 𝑢), (𝑢, 𝑣), (𝑣, 𝑡)) comme c’est illustré dans le tableau 4.4. Cette fois, le débit le
long du chemin ne peut être augmenté que de 1. Cela correspond justement au
montant par lequel on a diminué (𝑢, 𝑣) à l’étape précédente. En effet, l’algorithme
peut faire beaucoup de va-et-vient.
Étape 4 : Dans le tableau 4.5, seul le chemin 𝛾 = ((𝑠, 𝑣), (𝑣, 𝑡)) est possible.
Cela augmente alors le débit de 1. Le flot a alors une valeur de :
Les arêtes sortantes de la source sont pleinement utilisées, donc ce flot est un
flot maximal.
88
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
Table 4.4
89
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
Table 4.5
90
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
par une lettre et les arêtes indiquent la distance entre ces villes. On cherche à
déterminer le plus court trajet pour aller de la ville A à la ville J.
91
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
92
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
93
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
L’illustration par une série de graphes peut se révéler un peu longue. Il est
d’autre part un peu plus difficile de repérer le chemin le plus court à l’issue
du dessin. Ainsi l’algorithme de Dijsktra est souvent réalisé à l’aide d’un ta-
bleau dans lequel chaque étape correspond à une ligne. À partir de la matrice
des arcs orientés reliant les diverses villes : On construit un tableau dans le-
àA àB àC àD àE àF àG àH àI àJ
De A 0 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
De B 85 0 ∞ ∞ ∞ 80 ∞ ∞ ∞ ∞
De C 217 ∞ 0 ∞ ∞ ∞ 186 103 ∞ ∞
De D ∞ ∞ ∞ 0 ∞ ∞ ∞ 183 ∞ ∞
De E 173 ∞ ∞ ∞ 0 ∞ ∞ ∞ ∞ 502
De F ∞ 80 ∞ ∞ ∞ 0 ∞ ∞ 250 ∞
De G ∞ ∞ 186 ∞ ∞ ∞ 0 ∞ ∞ ∞
De H ∞ ∞ 103 183 ∞ ∞ ∞ 0 ∞ 167
De I ∞ ∞ ∞ ∞ ∞ 250 ∞ ∞ 0 84
De J ∞ ∞ ∞ ∞ 502 ∞ ∞ 167 84 0
quel les distances d’un sommet au sommet de départ sont regroupées dans
une même colonne. Les sommets sélectionnés sont soulignés. Les distances des
voies ouvertes par la sélection d’un nouveau sommet sont barrées si elles sont
supérieures à des distances déjà calculées. Quand un sommet est sélectionné,
c’est que l’on a découvert sa distance minimale au sommet, il est alors inutile de
chercher d’autres distances de ce sommet au point de départ.
La construction de ce tableau donne non seulement la distance minimale de
la ville A à la ville J mais aussi le chemin à suivre (J - H - C - A) ainsi que toutes les
distances minimales de la ville A aux autres villes rangées par ordre croissant.
94
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
E(173𝐴 ) - 217 ∞ - - ∞ ∞ 415 675
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
E(173𝐴 ) - 217 ∞ - - ∞ ∞ 415 675
C(217𝐴 ) - - ∞ - - 403 320 415 675
95
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
E(173𝐴 ) - 217 ∞ - - ∞ ∞ 415 675
C(217𝐴 ) - - ∞ - - 403 320 415 675
H(320𝐶 ) - - 503 - - 403 - 415 675 487
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
E(173𝐴 ) - 217 ∞ - - ∞ ∞ 415 675
C(217𝐴 ) - - ∞ - - 403 320 415 675
H(320𝐶 ) - - 503 - - 403 - 415 675 487
G(403𝐶 ) - - 503 - - - - 415 487
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
E(173𝐴 ) - 217 ∞ - - ∞ ∞ 415 675
C(217𝐴 ) - - ∞ - - 403 320 415 675
H(320𝐶 ) - - 503 - - 403 - 415 675 487
G(403𝐶 ) - - 503 - - - - 415 487
I(415𝐹 ) - - 503 - - - - - 487
96
Short title of documentProblème du plus court chemin sur un graphe : algorithme de Dijkstra
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
E(173𝐴 ) - 217 ∞ - - ∞ ∞ 415 675
C(217𝐴 ) - - ∞ - - 403 320 415 675
H(320𝐶 ) - - 503 - - 403 - 415 675 487
G(403𝐶 ) - - 503 - - - - 415 487
I(415𝐹 ) - - 503 - - - - - 487
J(487𝐻 ) - - 503 - - - - - -
A B C D E F G H I J
Étape initiale 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
A(0) 85 217 ∞ 173 ∞ ∞ ∞ ∞ ∞
B(85𝐴 ) - 217 ∞ 173 165 ∞ ∞ ∞ ∞
F(165𝐵 ) - 217 ∞ 173 - ∞ ∞ 415 ∞
E(173𝐴 ) - 217 ∞ - - ∞ ∞ 415 675
C(217𝐴 ) - - ∞ - - 403 320 415 675
H(320𝐶 ) - - 503 - - 403 - 415 675 487
G(403𝐶 ) - - 503 - - - - 415 487
I(415𝐹 ) - - 503 - - - - - 487
J(487𝐻 ) - - 503 - - - - - -
D(503𝐻 ) - - - - - - - - -
97
Chapitre 5
ORDONNANCEMENT : La
Méthode PERT et diagramme de
GANTT
A - Principe de la méthode
B - Notions de base
98
Short title of document
Tâche
Une étape illustrée dans la figure 5.3(b), marque le début ou la fin d’une tâche.
Elle n’a pas de durée et est représentée par un cercle divisé en trois parties :
— Partie supérieure : Numéro unique permettant d’identifier l’étape dans le
diagramme.
— Partie gauche : Date la plus tôt à laquelle la réalisation de tâche peut com-
mencée.
— Partie droite : Date la plus tardive possible à laquelle la réalisation de tâche
peut commencée sans retarder la fin du projet.
99
Short title of document Représentation graphique des étapes et des tâches dans un réseau
100
Short title of document Représentation graphique des étapes et des tâches dans un réseau
— Commencez par lister les tâches - Soyez exhaustif en restant sur un niveau
de détail gérable.
— Vous pouvez utiliser la méthode du brainstorming pour ne rien oublier et
découper le projet avec le WBS (Work Breakdown Structure).
— Estimez leur durée et leur(s) antécédent(s) : pour chaque tâche, évaluer le
temps nécessaire pour leur traitement. Pour estimer la durée des tâches, vous
pouvez recourir à l’estimation à 3 points :
𝑎 + 4𝑚 + 𝑝
Estimation durée de tâche =
6
Cette formule vous donne une durée moyenne en fonction d’une estimation
que vous jugez la plus probable, une seconde optimiste et une dernière,
pessimiste, où :
— a = estimation optimiste
— m = probable (le "m" vient de "Most likely")
— b = pessimiste
101
Short title of document Représentation graphique des étapes et des tâches dans un réseau
des tâches et leur durée comme défini précédemment. Ainsi, pour représenter
les tâches dans un graphe PERT, il faut procéder par niveau :
— Le niveau 0 contient les tâches qui n’ont pas de précédent
— Le niveau 1 contient les tâches dont les tâches précédentes sont de niveau 0
— Le niveau 2 contient les tâches dont les tâches précédentes sont de niveau 1
— Le niveau 3 contient les tâches dont les tâches précédentes sont de niveau 2
— Le niveau K contient les tâches dont les tâches précédentes sont de niveau
K-1
102
Short title of document Représentation graphique des étapes et des tâches dans un réseau
— Prenez la première étape (ici "1"), ajoutez la date au plus tôt de l’étape précé-
dente à la durée de la tâche qui la concerne : 0 + 2 (tâche A) = 2
— Faites de même pour l’ensemble des tâches. Par exemple pour l’étape 4 : 8 +
6 (tâche E) = 14.
— Parcourez le chemin inverse pour calculer les dates au plus tard. Partez de la
dernière étape et indiquez la date au plus tard égale à la date au plus tôt, ici
19 jours. Puis remontez le graphe en retranchant cette fois à la date au plus
tard de l’étape en question, la durée de la tâche qui la précède pour trouver
la date au plus tard de l’étape positionnée en amont.
— Exemple pour l’étape 1 : 19 jours (nœud final) - 5 jours (tâche C) = 14 jours
103
Short title of document Représentation graphique des étapes et des tâches dans un réseau
Les marges de tâches sont des degrés de liberté qui permettent d’absorber
des retards. Elles assurent la flexibilité du projet.
Définition 5.1.1 (Marge totale). La marge totale représente le retard que peut
prendre la réalisation d’une tâche sans impacter la date de fin du projet (à
condition qu’elle ait commencé à sa date la plus tôt).
Définition 5.1.2 (Marge Libre). La marge libre correspond au retard que peut
prendre la réalisation d’une tâche sans impact sur la date au plus tôt des tâches
suivantes (à condition qu’elle ait débuté à sa date le plus tôt
Formule de la marge totale et la marge libre d’une tâche Prenez les 2 étapes
qui l’entourent et appliquez le calcul suivant :
Marge totale = Date au plus tard de l’étape suivante - Durée de la tâche - Date au
plus tôt de l’étape précédente
Exemple : pour la tâche D, la marge totale est de 6 jours (16-2-8).
Marge libre = Date au plus tôt de l’étape suivante - Durée de la tâche - Date au
plus tôt de l’étape précédente
Exemple : pour la tâche C, la marge libre est de 12 jours (19-5-2).
Exemple 1 (Calculez les marges totales et libres des tâches dans le tableau 5.2 ).
104
Short title of document Représentation graphique des étapes et des tâches dans un réseau
— Il s’agit du chemin passant par les tâches dont la marge totale est nulle. Ce
tracé indique le délai incompressible pour réaliser le projet.
105
Tableau de niveaux : Détermination des niveaux des tâches pour la réalisation d’un réseau
Short title of document PERT
※ Tableau de niveaux : Détermination des niveaux des tâches
pour la réalisation d’un réseau PERT
106
Tableau de niveaux : Détermination des niveaux des tâches pour la réalisation d’un réseau
Short title of document PERT
5.2.2 Construction du tableau de niveaux
Tâche A B C D E F G H I J K L n1 n2 n3 n4 n5
A 0
B X 1 0
C X 1 0
D X 1 1 0
E X 1 1 0
F X 3 3 1 0
G X 2 2 2 1 0
H 0
I X 1 0
J X 1 0
K X X 1 1 0
L X 3
107
Tableau de niveaux : Détermination des niveaux des tâches pour la réalisation d’un réseau
Short title of document PERT
Le tableau 5.5 résume les niveaux des tâches ce qui permet de bâtir un réseau
PERT efficacement.
n1 n2 n3 n4 n5
A B D F G
H C E L
I K
J
108
Tableau de niveaux : Détermination des niveaux des tâches pour la réalisation d’un réseau
Short title of document PERT
Niveau 3 : G
Figure 5.2 – La tâche A est nécessaire pour C , mais on remarque que A aussi est nécessaire pour F, donc
on doit relier A par F par une tâche fictive.
Nœud Dates au plus tôt (hâtives) Nœud Dates au plus tard (tardives)
1 𝑡1 = 0 7 𝑇7 = 𝑡7 = 21
2 𝑡2 = max(0 + 6) = 6 6 𝑇6 = min(21 − 4) = 17
3 𝑡3 = max(0 + 5) = 5 5 𝑇5 = min(17 − 6) = 11
4 𝑡4 = max(6 + 4) = 10 4 𝑇4 = min(17 − 5) = 12
5 𝑡5 = max(6 + 0, 5 + 6) = 11 3 𝑇3 = min(11 − 6) = 5
6 𝑡6 = max(10 + 5, 11 + 6) = 17 2 𝑇2 = min(12 − 4, 11 − 0) = 8
7 𝑡7 = max(17 + 4) = 21 1 𝑇1 = min(8 − 6, 5 − 5) = 0
109
Short title of document GESTION DE PROJET : Diagramme de Gantt
Les tâches critiques sont les tâches dont la marge totale est nulle.
Dans ce cas : B, D, F et G sont des tâches critiques
Alors le chemin critique (BDFG).
Remarques :
110
Short title of document GESTION DE PROJET : Diagramme de Gantt
Figure 5.3 – Représentation de base du diagramme de Gantt : les abscisses représentent le temps, tandis
que les tâches représentent les ordonnées.
111
Short title of document Exemple d’un diagramme de Gantt
— Le temps prévu pour chaque intervention est une donnée importante pour
la planification.
— Choisissez l’unité du temps la plus pertinente : heure, jour, semaine... sui-
vant le projet et conservez la même référence pour l’ensemble du tableau.
— Étape 3 : Identifier les interactions entre chaque activité Certaines tâches
ne peuvent être menées qu’après la fin ou le début d’une autre (on parle de
"tâches séquentielles"). Par ailleurs, d’autres sont traitables en parallèle. Il
convient donc d’identifier les dépendances, il s’agit de la phase d’ordonnan-
cement.
4 types de dépendance :
Définir les ressources aussi bien humaines que matérielles affectées à chaque
tâche. Cette donnée est utile lorsqu’il est nécessaire d’effectuer un suivi précis
de l’allocation des ressources. Ou bien simplement afin de savoir qui fait quoi.
112
Short title of document Exemple d’un diagramme de Gantt
L’activité "Saisir le contenu du site" dépend de deux tâches (type FD). En effet, la
saisie ne peut se faire que lorsque le site est validé et que le contenu est rédigé.
L’étape "Réaliser l’intégration graphique", quant à elle, débute en même
temps que "Développer les fonctions". Les intégrateurs doivent, à l’évidence,
se coordonner avec les développeurs. Il s’agit d’une dépendance de type DD.
113
Short title of document Exemple d’un diagramme de Gantt
114