MTH8415
H2020
(v2)
Plan
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
Quelques définitions
I Un point x ∈ Rn qui satisfait toutes les contraintes est tel que
Ax ≤ b et x ≥ 0. Il est appelé un point réalisable (ou
admissible)
I La valeur d’un point x est la valeur f (x)
I Une solution (ou solution optimale, ou optimum global) x∗ est
un point réalisable dont la valeur (optimale) est la plus grande
possible. Autrement dit, il n’existe pas d’autre point réalisable
y tel que f (y) > f (x∗ )
I Il peut y avoir plusieurs solutions optimales. On les trouve
dans l’ensemble arg max f (x)
Ax≤b,x≥0
I On note x∗ ∈ arg max f (x) (“∈”, pas “=”)
Ax≤b,x≥0
Trois possibilités
max f (x1 , x2 ) = x1 − x2
x1 ,x2
−2x1 + x2 ≤ −1
s.c. −x1 − 2x2 ≤ −2
x1 , x2 ≥ 0
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
Détermination de la solution
300X + 300Y
Infinité de solutions
Questions
Question 1
Question 2
Question 3
En considérant que le profit s’exprime par f (X, Y ) = c1 X + 300Y ,
à partir de quelle augmentation de profit associé à X la solution
actuelle ne sera plus optimale ?
I La solution optimale demeure la même tant que la fonction
objectif n’est pas parallèle à la contrainte (2)
I c1 /300 = 9/6 . Donc c1 = 450
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
Introduction
I Origine : George Dantzig, 1947
Variables d’écart
Dictionnaire initial
e1 = 5 −2x1 −3x2 −x3
e2 = 11 −4x1 −x2 −2x3
e3 = 8 −3x1 −4x2 −2x3
z= 0 +5x1 +4x2 +3x3
Première itération
e1 = 5 −2x1 −3x2 −x3
e2 = 11 −4x1 −x2 −2x3
e3 = 8 −3x1 −4x2 −2x3
z= 0 +5x1 +4x2 +3x3
5 3 1 1
e1 = 5 − 2x1 − 3x2 − x3 → x1 = − x2 − x3 − e1
2 2 2 2
5
x1 = 2 − 23 x2 − 21 x3 − 12 e1
e2 = 1 +5x2 +0x3 +2e1
1
e3 = 2 + 21 x2 − 21 x3 + 32 e1
25
z= 2 − 27 x2 + 21 x3 − 52 e1
qui correspond au point extrême x = (5/2, 0, 0) pour la valeur
courante de f (x) = 25/2, avec les écarts e = (0, 1, 1/2) (on a bien
un point réalisable)
Deuxième itération
5
x1 = 2 − 23 x2 − 12 x3 − 12 e1
e2 = 1 +5x2 +0x3 +2e1
1
e3 = 2 + 21 x2 − 12 x3 + 32 e1
25
z= 2 − 27 x2 + 12 x3 − 52 e1
I On fait entrer x3 en base. On a x3 = min {1, 5} = 1. C’est e3
qui sort de base
I Le pivot donne x3 = 1 + x2 + 3e1 − 2e3
Forme tableau
I Dictionnaire :
x1 = 2 −2x2 −2e1 +e3
e2 = 1 +5x2 +2e1 +0e3
x3 = 1 +x2 +3e1 −2e3
z= 13 −3x2 −e1 −e3
I Tableau :
Base 5 4 3 0 0 0
cj variable x1 x2 x3 e1 e2 e3 Valeur
5 x1 1 2 0 2 0 -1 2
0 e2 0 -5 0 -2 1 0 1
3 x3 0 -1 1 -3 0 2 1
coûts réduits 0 -3 0 -1 0 -1 13
Algorithme du simplexe
[0] Initialisation
Trouver un point extrême réalisable (phase 1)
Si (échec de la phase 1) : Stop (pas de solution)
Former le dictionnaire initial
k←1
[1] Itération k
Choix de la variable entrante
Choix de la variable sortante
Pivot → nouveau dictionnaire
Si (tous les coûts réduits ≤ 0) : Stop (sol. optimale)
k ←k+1
Aller en [1]
Il convient aussi de définir des règles pour les choix des variables
entrantes et sortantes
MTH8415: Optimisation linéaire 37/77
Intro. Rés. graphique Simplexe Sensibilité Dualité Extensions Réf.
Phase 1
Phase 1 : Exemple
max x1 + x2
x1 ,x2
x1 − x2 ≤ −3
s.c. 2x1 + x2 ≤4
x1 , x2 ≥ 0
max −x0
x0 ,x1 ,x2
x1 − x2 −x0 ≤ −3
s.c. 2x1 + x2 −x0 ≤ 4
x0 , x1 , x2 ≥ 0
I Premier dictionnaire :
e1 = −3 +x0 −x1 +x2
e2 = 4 +x0 −2x1 −x2
z= 0 −x0
I Ça ne correspond pas à un point réalisable, mais un pivot
suffira à en obtenir un
Dégénérescence
x4 = 1 −2x3
x = 3 −2x1 +4x2 −6x3
I Soit le dictionnaire : 5
x6 = 2 +x1 −3x2 −4x3
z = 0 +2x1 −x2 +8x3
I Si on choisit x3 comme variable entrante, alors on aura
x3 = min 21 , 12 , 21 = 21 . Les trois variables de base sont
candidates à sortir
x3 = 12 − 12 x4
x = 0 −2x1 +4x2 +3x4
I Si on sort x4 , on obtient : 5
x6 = 0 +x1 −3x2 +2x4
z= 4 +2x1 −x2 −4x4
I Un point de base avec des variables de base à 0 est dit
dégénéré
Dégénérescence (suite)
Cyclage
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
Analyse de sensibilité
I Pourquoi :
I Imprécision des données initiales du problème.
I Incertitude sur la valeur de certains paramètres utilisés.
I Détecter les paramètres les plus sensibles dans le modèle.
I Répondre à des questions de type what if.
Variation de c1 , le coefficient de x1
dans la fonction objectif
Variation de c1 , le coefficient de x1
dans la fonction objectif
Variation de c1 , le coefficient de x1
dans la fonction objectif
−(100 + ∆)
−4/3 ≤ ≤ 0
200
−800/3 ≤ −(100 + ∆) ≤ 0
−500/3 ≤ −∆ ≤ 100
500/3 ≥ ∆ ≥ −100
−100 ≤ ∆ ≤ 500/3
Pour que cette solution demeure optimale, il faut que les coûts réduits
demeurent ≤ 0, donc on doit poser :
−25 − (1/4)∆ ≤ 0
∆ ≥ −100
−125 + (3/4)∆ ≤ 0
∆ ≤ 500/3
−100 ≤ ∆ ≤ 500/3
Solution optimale
Base 100 200 0 0 0
cj variable x1 x2 e1 e2 e3 Valeur ∆
100 x1 1 0 1/4 0 -3/4 15 1/4
0 e2 0 0 -1/2 1 1/2 10 -1/2
200 x2 0 1 0 0 1 60 0
coûts réduits 0 0 -25 0 -125 13500 25
Pour que cette solution demeure optimale, il faut que les membres de droite de toutes les
contraintes demeurent non négatifs, donc on doit poser :
15 + 1/4∆ ≥ 0 → ∆ ≥ −60
10 − 1/2∆ ≥ 0 → ∆ ≤ 20 −60 ≤ ∆ ≤ 20
60 + 0∆ ≥ 0 → aucune restriction
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
z = 100x1 + 200x2
≤ 160x1 + 200x2
≤ 14800
I Cette nouvelle contrainte fournit une borne supérieure sur la valeur
de z
MTH8415: Optimisation linéaire 59/77
Intro. Rés. graphique Simplexe Sensibilité Dualité Extensions Réf.
Primal Dual
max z = 100x1 + 200x2 min w = 240π1 + 100π2 + 60π3
x1 ,x2 π1 ,π2 ,π3
Exemple 1
Primal :
max z = 60x1 + 20x2 + 30x3
x1 ,x2 ,x3
Dual :
min w = 48π1 + 40π2 + 16π3
π1 ,π2 ,π3
Exemple 2
Primal :
min z = 5x1 + 2x2 + 3x3 + 8x4
x1 ,...,x4
Dual :
max w = 5π1 + 6π2 + 10π3 + 8π4
π1 ,...,π4
Exemple 3
Donner le dual de :
max 2x1 + x2
x1 ,x2
x1 + x2 =2
2x1 + 3x2 ≥ 3
s.c.
x − x2 ≤1
1
x1 ≥ 0
z = c> x ≤ w = π > b
De plus, si z = w, alors x est une solution optimale pour le primal
et π une solution optimale pour le dual.
Dual
Sol. optimale Non réalisable Non borné
Sol. optimale Possible Impossible Impossible
Primal Non réalisable Impossible Possible Possible
Non borné Impossible Possible Impossible
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
Extensions
1. Introduction
2. Résolution graphique
3. La méthode du simplexe
4. Analyse de sensibilité
5. Dualité
6. Extensions
Réf.
Références I
Bland, R. (1977).
New Finite Pivoting Rules for the Simplex Method.
Mathematics of Operations Research, 2(2) :103–107.
Chvátal, V. (1983).
Linear programming.
A Series of books in the mathematical sciences. Freeman, New York.
Gamache, M. (2016).
Notes de cours, MTH2402, Recherche opérationnelle.
Savard, G. (1998).
Notes de cours, GCH2530, Programmation numérique en génie chimique.