Académique Documents
Professionnel Documents
Culture Documents
Analyse
Rappels d’algèbre linéaire
x1
• Vecteur x Rn = ⋮
xn
• Produit scalaire
o Soit x et y Rn
n
xT y = yT x = xj yj
j=1
• Dépendance linéaire
o Un ensemble de vecteurs x1, x2, …, xk Rn sont linéairement dépendants s’il existe k
scalaires 1, 2, …, k R1 non tous nuls tels que
0
1x1 + 2x2 + … + k xk = ⋮ = 0
0
o S’il n’existe pas de tels scalaires, les vecteurs sont linéairement indépendants.
2
Rappels d’algèbre linéaire
a11 … a1n
• Matrice Amn = ⋮ ⋱ ⋮
am1 … amn
o L’élément aij se trouve à l’intersection de la ligne i et de la colonne j de la matrice A.
3
Rappels d’algèbre linéaire
• Opérations sur les matrices
o Soit les matrices A, B, C
Somme
Amn + Bmn = Cmn où cij = aij + bij i = 1, …, m; j = 1, …, n
Produit
n
Transposition
ATmn = Cnm où cji = aij i = 1, …, m; j = 1, …, n
4
Rappels d’algèbre linéaire
• Le déterminant d’une matrice carrée Ann est dénoté det(A).
• La matrice Aij de dimension (n – 1) × (n – 1) est obtenue à partir de A en retirant la
ligne i et la colonne j.
1 j n
1 a11 a1n
i aij
n an1 ann
5
Rappels d’algèbre linéaire
• On calcule alors le déterminant de manière récursive de la façon suivante :
n
det (A) = (–1)i+j aij det (Aij) pour une ligne i quelconque
j=1
ou
m
det (A) = (–1)i+j aij det (Aij) pour une colonne j quelconque
i=1
• Exemple. Pour n = 2, on a :
a11 a12
A22 =
a21 a22
En prenant la ligne i = 1, on obtient :
det(A) = (–1)1+1a11a22 + (–1)1+2a12a21 = a11a22 – a12a21
6
Rappels d’algèbre linéaire
• Le rang d’une matrice est le nombre maximum de lignes (colonnes), considérées
comme des vecteurs, qui sont linéairement indépendantes.
• Une matrice Amn est dite de plein rang si son rang est égal à min{m, n}.
7
Modèle général sous forme standard
Min z = c1x1 + c2x2 + … + cnxn
s.a.
a11x1 + a12x2 + … + a1nxn = b1
a21x1 + a22x2 + … + a2nxn = b2
.…………………
am1x1 + am2x2 + … + amnxn = bm
x1, x2, …, xn 0
Min z = cj xj
j =1
s.a.
n
aij xj = bi , i = 1, …, m
j =1
xj 0 , j = 1, …, n
8
Notation matricielle
• Posons :
x1
o xn1 = ⋮ le vecteur des variables de décision
xn
c1
o cn1 = ⋮ le vecteur des coefficients dans la ligne de l’objectif (coûts)
cn
a11 … a1n
o Amn = ⋮ ⋱ ⋮ la matrice des coefficients dans les contraintes
am1 … amn
b1
o bm1 = ⋮ le vecteur des termes de droite (constantes)
bm
9
Notation matricielle
n
Min z = cj xj
j =1
s.a.
n
aij xj = bi , i = 1, …, m
j =1
xj 0 , j = 1, …, n
Min z = cT x Min z
s.a. s.a.
Ax = b Ax = b
x0 cT x – z = 0
x0
10
Notation matricielle
Problème du restaurateur : Min z = – 8x – 6y
s.a.
x –8 5x + 3y + u = 30
y –6 2x + 3y +p = 24
x= u c= 0
p x + 3y + h = 18
0
h 0 x, y, u, p, h ≥ 0
5 3 1 0 0
A = 2 3 0 1 0
1 3 0 0 1 Min z = cT x
s.a.
30
Ax = b
b = 24
18 x0
11
Base et variables de base
Min z
s.a.
Ax = b
cT x – z = 0
x0
• Supposons que la matrice Amn, m n, est de plein rang m.
• Une sous-matrice Bmm est une base de A si B est non singulière.
• En fait, la sous-matrice B correspond à un choix de m colonnes linéairement
indépendantes parmi les n colonnes de la matrice A.
• Puisque chaque colonne de la matrice A est associée à une variable, les variables qui
correspondent aux colonnes de B sont appelées variables de base.
• Les autres variables, soit celles qui ne correspondent pas aux colonnes de B, sont
appelées variables hors-base.
12
Base et variables de base
• Dans le problème du restaurateur, nous avons :
v.d. x y u p h -z t.d.
x y u p h
u 5 3 1 30
5 3 1 0 0
p 2 3 1 24 avec A = 2 3 0 1 0
h 1 3 1 18 1 3 0 0 1
-z -8 -6 1 0
Exemples de base
u p h x u h x p y
1 0 0 5 1 0 5 0 3
B1 = 0 1 0 B2 = 2 0 0 B3 = 2 1 3
0 0 1 1 0 1 1 0 3
13
Base et variables de base
• Supposons que la base Bmm est constituée des m premières colonnes de Amn .
• Posons:
xB Min z
o x= x s.a.
R
Ax = b
avec xTB = (x1 , x2 , …, xm ) vecteur des variables de base
cT x – z = 0
xT𝑅 = (xm+1 , xm+2 , …, xn ) vecteur des variables hors-base x0
cB
o c= c
R
avec cTB = (c1 , c2 , …, cm ) vecteur des coûts des variables de base
cTR = (cm+1 , cm+2 , …, cn ) vecteur des coûts des variables hors-base
14
Base et variables de base
Min z
Min z s.a.
s.a. xB
Ax = b (B : R) x = b
R
cT x – z = 0 xB
(cTB : cTR ) x – z = 0
x0 R
xB 0, xR 0
Min z Min z
s.a. s.a.
xB
(B : R) x = b BxB + RxR = b
R
xB cTB xB + cTR xR – z = 0
(cTB : cTR ) x – z = 0
R
xB 0, xR 0
xB 0, xR 0
15
Base et variables de base
B R b
–z cTB cTR 1 0
B R b
–z cTB cTR 1 0
xB I B–1R B–1b bത
–z cTB cTR 1 0
xB I B–1R B–1b bത
–z cTB cTR 1 0
20
Base et variables de base
xTB xTR
xB I B–1R B–1b bത
–z cTB cTR 1 0
b) On a : Min z
s.a.
IxB + B−1RxR = B−1b
IxB + B-1RxR = B-1b xB = B-1b – B-1RxR
cTB xB + cTR xR – z = 0
xB 0, xR 0
21
Base et variables de base
xTB xTR
xB I B–1R B–1b bത
–z cTB cTR 1 0
xB I B–1R B–1b bത
T
cതTB cതR –zҧ
b) On remplace xB dans la ligne de l’objectif par : Min z
xB = B-1b – B-1Rx R
s.a.
IxB + B−1RxR = B−1b
cTB (B−1b – B−1RxR) + cTR xR – z = 0 (cTR – cTB B−1R)xR – z
= –cTB B−1b
(cTR – cTB B−1R)xR – z = –cTB B−1b xB 0, xR 0 23
Base et variables de base
xTB xTR
xB I B–1R B–1b bത
xB I B–1R B–1b bത
–z 0T cTR – T R 1 –T b
xB I B–1R B–1b bത
–z 0T cTR – T R 1 –T b
26
Base et variables de base
• Par analogie avec cതTR = cTR – cTB B−1R = cTR – T R on peut écrire pour cതTB :
• Considérant chacun des indices j du vecteur des coûts, nous avons la formule :
cതj = cj – T a • j j = 1, …, n
• Il faut noter que les coûts cതj , j = 1, … , n, sont appelés coûts relatifs ou coûts réduits.
27
Base et variables de base
• Tout tableau du simplexe est associé à une base de la matrice Amn.
• Les variables dépendantes dans le tableau du simplexe associé à une certaine base
Bmm correspondent aux colonnes de la base dans la matrice Amn.
28
Base et variables de base
A b
–z cT 1 0
• Nous avons supposé dans les développements précédents que les m premières
colonnes de la matrice Amn constituait une base et nous avons travaillé avec
cette base.
• En général, une base Bmm peut correspondre à n’importe quel choix de m
colonnes linéairement indépendantes parmi les n colonnes de la matrice Amn .
• Quel est le tableau du simplexe associé à une base B dans le cas général?
29
Base et variables de base
A b
–z cT 1 0
• Pour les coefficients dans les contraintes et les termes de droite, il suffit de multiplier par B–1.
• Pour les coûts dans la ligne de l’objectif, nous avons :
cതT = cT – TA
• Pour la valeur de l’objectif, nous avons:
–z = –Tb
30
Base et variables de base
x𝐵 B–1A B–1b bത
–z cT – T A 1 –T b
cതT –zҧ
• Pour les coefficients dans les contraintes et les termes de droite, il suffit de multiplier par B–1.
• Pour les coûts dans la ligne de l’objectif, nous avons :
cതT = cT – TA
• Pour la valeur de l’objectif, nous avons:
–z = –Tb
31
Exemple
• Dans le problème du restaurateur, nous avons le tableau initial :
v.d. x y u p h -z t.d.
x y u p h
u 5 3 1 30
5 3 1 0 0
p 2 3 1 24 avec A = 2 3 0 1 0
h 1 3 1 18 1 3 0 0 1
-z -8 -6 1 0
Exemples de base
u p h x u h x p y
1 0 0 5 1 0 5 0 3
B1 = 0 1 0 B2 = 2 0 0 B3 = 2 1 3
0 0 1 1 0 1 1 0 3
32
Exemple
x𝐵 B–1A B–1b bത
–z cT – T A 1 –T b
cതT –zҧ
33
Calcul de l’inverse d’une matrice
34
Calcul de l’inverse d’une matrice
B I
5 0 3 1 0 0
2 1 3 0 1 0
1 0 3 0 0 1
I
1 0 0
0
0
1
0
0
1
B–1
35
Calcul de l’inverse d’une matrice
1 0 3/5 1/5 0 0
0 1 9/5 −2/5 1 0
1 0 3 0 0 1
37
Calcul de l’inverse d’une matrice
1 0 3/5 1/5 0 0
0 1 9/5 −2/5 1 0
0 0 12/5 −1/5 0 1
38
Calcul de l’inverse d’une matrice
39
Calcul de l’inverse d’une matrice
1 0 3/5 1/5 0 0
0 1 9/5 −2/5 1 0
− (3/5 ) 0 0 1 − (3/5 ) −1/12 0 5/12
1 0 0 1/4 0 −1/4
0 1 9/5 −2/5 1 0
0 0 1 −1/12 0 5/12
41
Calcul de l’inverse d’une matrice
1 0 0 1/4 0 −1/4
0 1 9/5 −2/5 1 0
− (9/5 ) 0 0 1 − (9/5 ) −1/12 0 5/12
1 0 0 1/4 0 −1/4
0 1 0 −1/4 1 −3/4
0 0 1 −1/12 0 5/12
I B–1
42
Calcul de l’inverse d’une matrice
La suite de transformations que nous avons appliquée en parallèle aux matrices
B et I est équivalente à multiplier ces deux matrices par B–1.
B I
5 0 3 1 0 0
2 1 3 0 1 0
1 0 3 0 0 1
B–1 B–1
1 0 0 1/4 0 −1/4
0 1 0 −1/4 1 −3/4
0 0 1 −1/12 0 5/12
I B–1
43
Exemple
x𝐵 B–1A B–1b bത
–z cT – T A 1 –T b
cതT –zҧ
44
Exemple
x
u v.d. x y u p h -z t.d.
xB = p xR =
y h
u 5 3 1 30
−8 p 2 3 1 24
0
cB = 0 cR =
0 h 1 3 1 18
−6
-z -8 -6 1 0
30
b = 24
18
5 3 1 0 0
A= 2 3 0 1 0
1 3 0 0 1
x p y u h
5 0 3 1 0 1/4 0 −1/4
B= 2 1 3 R= 0 0 B−1 = −1/4 1 −3/4
1 0 3 0 1 −1/12 0 5/12
45
Exemple
x y u p h
1/4 0 −1/4 5 3 1 0 0 1 0 1/4 0 −1/4
B−1A = −1/4 1 −3/4 2 3 0 1 0 = 0 0 −1/4 1 −3/4
−1/12 0 5/12 1 3 0 0 1 0 1 −1/12 0 5/12
46
Exemple
x y u p h
1/4 0 −1/4 5 3 1 0 0 1 0 1/4 0 −1/4
B−1A = −1/4 1 −3/4 2 3 0 1 0 = 0 0 −1/4 1 −3/4
−1/12 0 5/12 1 3 0 0 1 0 1 −1/12 0 5/12
• On connaissait déjà les coefficients sous x, p, y, puisque ce sont les variables de base dans
les première, deuxième et troisième ligne, respectivement.
• Il aurait été plus rapide de calculer seulement les coefficients sous u et h avec la formule
B−1R.
47
Exemple
v.d. x y u p h -z t.d. v.d. x y u p h -z t.d.
u 5 3 1 30 x 1 1/4 -1/4
p 2 3 1 24 p -1/4 1 -3/4 B−1b
h 1 3 1 18 y 1 -1/12 5/12
-z -8 -6 1 0 -z cT – T A 1 –T b
48
Exemple
Termes de droite
1/4 0 −1/4 30 3
B−1b = −1/4 1 −3/4 24 = 3
−1/12 0 5/12 18 5
49
Exemple
u 5 3 1 30 x 1 1/4 -1/4 3
p 2 3 1 24 p -1/4 1 -3/4 3
h 1 3 1 18 y 1 -1/12 5/12 5
-z -8 -6 1 0 -z cT – T A 1 –T b
Termes de droite
1/4 0 −1/4 30 3
B−1b = −1/4 1 −3/4 24 = 3
−1/12 0 5/12 18 5
50
Exemple
x p 1/4 0
y −1/4
T = cTB B−1 = (–8, 0, –6) −1/4 1 −3/4 = (–3/2, 0, –1/2)
−1/12 0 5/12
51
Exemple
T = (–3/2, 0, –1/2)
x y u p h 5 3 1 0 0
c – A = (–8, –6, 0, 0, 0) – (–3/2, 0, –1/2) 2
T T
3 0 1 0
1 3 0 0 1
x y u p h
cT – T A = (–8, –6, 0, 0, 0) – (–8, –6, –3/2, 0, –1/2) = (0, 0, 3/2, 0, 1/2)
52
Exemple
v.d. x y u p h -z t.d. v.d. x y u p h -z t.d.
u 5 3 1 30 x 1 1/4 -1/4 3
p 2 3 1 24 p -1/4 1 -3/4 3
h 1 3 1 18 y 1 -1/12 5/12 5
-z -8 -6 1 0 -z 3/2 1/2 1 –T b
T = (–3/2, 0, –1/2)
x y u p h 5 3 1 0 0
cT – T A = (–8, –6, 0, 0, 0) – (–3/2, 0, –1/2) 2 3 0 1 0
1 3 0 0 1
x y u p h
cT – T A = (–8, –6, 0, 0, 0) – (–8, –6, –3/2, 0, –1/2) = (0, 0, 3/2, 0, 1/2)
• Il aurait été plus rapide de calculer seulement les coûts sous u et h avec la
formule cTR – T R.
53
Exemple
• Il aurait été plus rapide de calculer seulement les coûts sous u et h avec la
formule cTR – T R.
u h
u h 1 0
cTR – R = (0, 0) – (–3/2, 0, –1/2) 0
T
0
0 1
u h
cTR – T R = (0, 0) – (–3/2, –1/2) = (3/2, 1/2)
54
Exemple
T = (–3/2, 0, –1/2)
30
–T b = – (–3/2, 0, –1/2) 24 = 54
18
55
Exemple
T = (–3/2, 0, –1/2)
30
–T b = – (–3/2, 0, –1/2) 24 = 54
18
56
Exemple
v.d. x y u p h -z t.d. v.d. x y u p h -z t.d.
u 5 3 1 30 x 1 1/4 -1/4 3
p 2 3 1 24 p -1/4 1 -3/4 3
h 1 3 1 18 y 1 -1/12 5/12 5
-z -8 -6 1 0 -z 3/2 1/2 1 54
• On retrouve
–T = – (–3/2, 0, –1/2) = (3/2, 0, 1/2)
dans le tableau du simplexe associé à la base
x p y
5 0 3
B= 2 1 3
1 0 3
sous les variables u, p, h qui sont les variables dépendantes dans le tableau initial.
59
Exemple
a • u a • p a • h
• Ainsi, dans le tableau du simplexe associé à la base B, on retrouve bien dans la ligne de
l’objectif sous les variables u, p, h :
61
Exemple
• Dans le cas général, dénotons xji la variable dépendante dans la ligne i du tableau initial.
o En effet, ce n’est pas nécessairement la variable xi qui est variable dépendante dans la ligne i
(par exemple, si x2 est variable dépendante dans la première ligne, alors xj1 = x2 et l’indice j1
correspond à 2).
• Alors :
0
⋮
cതj = cji – T a • ji = 0 – T 1
i Puisque xji est variable
⋮
dépendante dans la ligne i du
0 tableau initial, la colonne sous
cette variable contient des 0
= –i i = 1, …, m partout, sauf un coefficient de 1
en position i.
62
Multiplicateurs du simplexe
• Il existe un vecteur des multiplicateurs du simplexe associé à chacune des bases de la
matrice Amn.
• En effet, on retrouve la base dans la définition même du vecteur des multiplicateurs du
simplexe : T = cTB B−1.
• On s’intéresse à ce vecteur pour deux raisons:
a) Il permet d’obtenir les coûts relatifs dans le tableau du simplexe associé à une base B à partir
des coûts dans le tableau initial grâce à la formule:
cതj = cj – T a • j j = 1, …, n
On peut voir i, i = 1, …m, comme un multiplicateur associé à la ligne de la contrainte i. Ces
multiplicateurs sont tels que si on soustrait de la ligne de l’objectif une combinaison linéaire
des lignes des contraintes pondérée par ces multiplicateurs, on obtient un coût relatif nul
pour les variables de base.
m
cതj = cj – T a j = cj – i aij = 0
•
i=1
pour tout indice j tel que xj est variable de base.
63
Multiplicateurs du simplexe
• On s’intéresse à ce vecteur pour deux raisons:
b) Le vecteur des multiplicateurs du simplexe associé à la base optimale permet de mesurer
l’impact d’une modification des termes de droite dans le tableau initial sur la valeur optimale de
l’objectif.
o En effet :
m
z = T b = i bi
i=1
o On voit que si le terme de droite bi dans le tableau initial est modifié de 1 unité, alors la
valeur optimale de l’objectif est modifiée de i unités.
o Ainsi, i représente le taux de variation de la valeur optimale de l’objectif si on modifie le
terme de droite bi d’une certaine quantité.
o Si la valeur de i est élevée (en valeur absolue), la valeur optimale de l’objectif est très
sensible à une modification du terme de droite bi, et inversement.
o On y reviendra lorsqu’on abordera la section portant sur l’analyse post-optimale ou analyse
de sensitivité.
64
Dégénérescence
• Une solution de base est dite dégénérée si au moins une variable de base a une valeur
nulle.
• Dans un tel cas, il peut être possible de réaliser un pivot (et donc de changer la base) sans
changer la solution. Autrement dit, on fait du « surplace ».
• Par exemple, supposons qu’à une certaine itération de l’algorithme du simplexe, nous
avons le tableau suivant:
v.d. x1 x2 x3 x4 x5 -z t.d.
x3 10 1 -5 100
x4 2 1 -3 0 dégénérescence
x2 1 1 20
-z -10 12 1 240
65
Dégénérescence
• Exécutons un pivot avec la variable d’entrée x1 et la variable de sortie x4.
v.d. x1 x2 x3 x4 x5 -z t.d.
x3 10 1 -5 100
x4 2 1 -3 0
x2 1 1 20
-z -10 12 1 240
• On obtient :
v.d. x1 x2 x3 x4 x5 -z t.d.
x3 1 -5 10 100
x1 1 1/2 -3/2 0
x2 1 1 20
-z 5 -3 1 240