Académique Documents
Professionnel Documents
Culture Documents
Ilyas Himmich
i.himmich@insea.ac.ma
20 janvier 2022
Motivation
La méthode Grand-M
Principe de la méthode
Algorithme de grand-M
Limitations et utilités
Exemples
2
Motivation
tel que tous les bi sont non négatifs, la base initiale de l’algorithme de simplexe est
évidente :
→ introduire les variables d’écart ei
→ mettre toutes les variables de décision d’origine xi = 0
→ obtenir une solution de base réalisable initiale ⇒ ei = bi
3
Motivation
Par contre, si les bi ne sont pas tous non négatifs, l’initialisation devient un
problème sérieux. En effet, la solution de base évidente est non réalisable
(e1 < 0) !!!
max −2x1 − x2 max −2x1 − x2
s.c. − 2x1 − 3x2 ≤ −19 s.c. 2x1 + 3x2 − e1 = 19
⇒
3x1 + 4x2 ≤ 32 3x1 + 4x2 + e2 = 32
x1 , x2 ≥ 0 x1 , x2 , e1 , e2 ≥ 0
Observation
Ce n’est pas toujours simple de construire le tableau initial de la méthode du
simplexe. Une solution de base réalisable n’est pas toujours simple de la trouver.
4
Motivation
L’approche géométrique qu’on peut utiliser pour trouver la solution optimale est
valable uniquement en dimension 2 ou au maximum en dimension 3. La plupart des
modèles rencontrés en pratique ne satisfont pas à cette condition. Il existe une autre
façon de procéder, de nature algébrique, qui utilise astucieusement l’algorithme du
simplexe et cela en ajoutant des variables appelées artificielles dans les
contraintes non réalisables si on remplace les variables originales par 0 dans le
(PLS).
5
Motivation
6
La méthode du simplexe en deux phases
7
La méthode du simplexe en deux phases
Forme standard (PLS) : ajout des variables d’écart
Proposition
(PL) ⇔ (PLS)
Proposition
(PLS ⇔ PLSA) ⇐⇒ a2 = a4 = 0
9
La méthode du simplexe en deux phases
Objectif
Pour obtenir un modèle équivalent à (PLS), il faudrait empêcher les variables
artificielles de prendre des valeurs positives.
Un moyen pour ce faire est d’ajouter au modèle précédent la double contrainte
suivante :
a2 = a4 = 0
Astuce
Au lieu d’inclure la double contrainte dans le modèle, on utilise une fonction-objectif
provisoire qui minimise la somme des variables d’écart.
On considère alors un problème (PLFI ), appelé problème de phase I, obtenu du
modèle précédent en substituant la fonction objectif initiale z = 2000x1 + 1000x2 par
l’objectif suivant :
Min za = a2 + a4 ou Max za = −a2 − a4
10
La méthode du simplexe en deux phases
Problème (PLFI )
Min za = a2 + a4
12
Phase I
Ce n’est pas un vrai tableau du simplexe : les coûts des variables de base doivent
être égales à 0.
Remarque
Pour résoudre le problème de phase I, il faut exprimer la fonction objective en
fonction des variables hors base :
13
Phase I
14
Phase I
15
La méthode du simplexe en deux phases
Rappel
- Si la valeur optimal du (PLFI ) n’est pas égal à zéro (za ̸= 0), alors PLS n’admet pas
de solution réalisable.
- Sinon, si (za = 0), on construit le tableau initial de la phase II à partir du tableau
final de la phase I.
Retour à l’exemple
- Le dernier tableau est final pour la phase I puisque tous les coûts réduits sont ≥ 0.
- Comme la valeur optimal du (PLFI ) est 0, alors ce tableau final fournira une solu-
tion de base réalisable de (PLS) qui est (x1 , x2 ) = (0, 20) et (e1 , e3 , e4 ) = (100, 12, 14).
16
Phase II
17
Phase II
Ce n’est pas un vrai tableau de simplexe : le coût d’une variable de base est différent
de 0.
18
Phase II
0, 677 x1 + x2 + 0, 333 a2 = 20
x2 = 20 − 0, 677 x1
19
Phase II
Ce tableau n’est pas final puisque il y a au moins une variables à coût réduit positif.
20
Phase II
Fin de Phase II
- Ce tableau est final puisque les coûts réduits sont tous négatifs ou nuls.
- La solution optimale est (x1 , x2 ) = (12, 12).
21
Méthode du grand M
→ La méthode des deux phases ne tient pas compte de la fonction objectif dans sa
première étape.
→ On risque d’obtenir une solution réalisable initiale très éloignée de l’optimum du
problème d’origine.
Alternative
La méthode grand M est une variante de la méthode simplex conçue pour résoudre
des problèmes où le vecteur zéro ne représente pas une solution réalisable.
22
Principe de la méthode
Idée de base
Plutôt que de diviser le problème d’optimisation en deux problèmes séparés, la
méthode du grand M consiste à intégrer les variables artificielles dans la fonction
objectif en les pénalisant très fortement (avec des grand-M). Elle cherche alors à
optimiser la fonction objectif résultante formée de la fonction objectif initiale et de la
somme des variables artificielles.
23
Principe de la méthode
Algorithme
Étape 1 : Introduire les variables artificielles dans chaque contrainte qui empêche
l’obtention d’une solution de base réalisable.
Étape 2 : Pénaliser les variables artificielles dans la fonction objectif :
- Pour une maximisation : z = ct · x − M a1 − M a2 − · · · − M am .
- Pour une minimisation : z = ct · x + M a1 + M a2 + · · · + M am .
Étape 3 : Ajuster la forme du tableau initial pour mettre les variables artificielles
dans la base (coûts réduits nuls pour les variables de base).
Étape 4 : Résoudre le problème par la méthode du simplexe standard.
À la fin ..
- Si la solution optimale obtenue est tel que ai = 0 ∀i, alors le problème est réali-
sable et la solution optimale obtenue correspond à la solution optimale du PL.
- Sinon, le problème PL est non réalisable.
24
Tableau initial de la méthode
V.B x1 x2 e1 e3 e4 a2 a4 b
e1 10 5 1 0 0 0 0 200
a2 2 3 0 0 0 1 0 60
e3 1 0 0 1 0 0 0 12
a4 0 1 0 0 −1 0 1 6
c̄j 2000 1000 0 0 0 −M −M −Z
V.B x1 x2 e1 e3 e4 a2 a4 b
e1 10 5 1 0 0 0 0 200
a2 2 3 0 0 0 1 0 60
e3 1 0 0 1 0 0 0 12
a4 0 1 0 0 −1 0 1 6
c̄j 2000 + 2M 1000 + 4M 0 0 −M 0 0 66M
V.B x1 x2 e1 e3 e4 a2 a4 b Ratio
e1 10 5 1 0 0 0 0 200 40
a2 2 3 0 0 0 1 0 60 30
e3 1 0 0 1 0 0 0 12 ∞
a4 0 1 0 0 −1 0 1 6 6
c̄j 2000 + 2M 1000 + 4M 0 0 −M 0 0 66M
V.B x1 x2 e1 e3 e4 a2 a4 b Ratio
e1 10 0 1 0 5 0 0 170 170/5 = 34
a2 2 0 0 0 3 1 0 42 42/3 = 14
e3 1 0 0 1 0 0 0 12 ∞
x2 0 1 0 0 −1 0 1 6 ∞
c̄j 2000 + 2M 0 0 0 1000 + 3M 0 0 −6000 + 42M
26
Résolution par simplexe usuelle
→ Itération 3 : Z = 20000
V.B x1 x2 e1 e3 e4 a2 a4 b Ratio
e1 20/3 0 1 0 0 0 0 100 300/20 = 15
e4 2/3 0 0 0 1 1/3 0 14 3/2 ∗ 14 = 21
e3 1 0 0 1 0 0 0 12 12
x2 2/3 1 0 0 0 0 1 20 60/2 = 30
c̄j 4000/3 0 0 0 0 −1000/3 − M 0 −20000
→ Résultat : Z∗ = 36000
V.B x1 x2 e1 e3 e4 a2 a4 b
e1 0 0 1 −20/3 0 0 0 20
e4 0 0 0 −2/3 0 1/3 0 6
x1 1 0 0 1 0 0 0 12
x2 0 1 0 −2/3 0 0 1 12
c̄j 0 0 0 −4000/3 0 −1000/3 − M 0 −36000
→ La méthode grand M n’est jamais utilisée dans des codes commerciale car elle est
moins efficace que la méthode à deux phases lorsque le problème a beaucoup de
paramètres.
28
Autre utilité du grand-M
Sur le plan conceptuelle la méthode grand M est utile pour formuler certaines
contraintes.
Exemple
Soit la C une quantité de crédit que vous recevrez si vous réussissez à un cours. Votre
succès dépend de trois facteurs :
→ p = 1 si le professeur est bon ; 0 autrement.
→ a = 1 si vous assistez au cours ; 0 autrement.
→ t = 1 si vous travaillez chez vous ; 0 autrement.
Écrire la contrainte indiquant que si le professeur est bon et vous assistez le cours et
que vous travaillez chez vous, alors le nombre de crédit x crédits que vous recevrez
grâce à ce cours devrait être supérieure à C.
Modélisation
Au lieu de travailler avec une contrainte non linéaire x ≥ C p a t. On peut utiliser la
contrainte linéaire :
x ≥ C − M (3 − p − a − t)
29
Exemples
Exemple 1
On cherche à résoudre le problème min z = 2x1 + 3x2
30
Exemples
Après l’Étape 1 et 2 :
31
Exemples
On obtient
V.B x1 x2 e1 e2 a2 a3 b
e1 0 0 1 −1/8 1/8 −5/8 1/4
x2 0 1 0 1/2 1/2 −1/2 5
x1 1 0 0 1/2 −1/2 3/2 5
c̄j 0 0 0 1/2 (2M − 1)/2 (2M − 3)/2 Z − 25
32
Exemples
Exemple 2
On cherche à résoudre le problème : min z = 0.4 x1 + 0.5 x2 s.c.
33
Exemples
Afin de démarrer la méthode du simplexe, nous appliquons une des deux méthodes :
- Méthode à deux phases
Phase 1 : minimiser min a2 + a3 jusqu’à obtenir une valeur optimale nulle (si le
programme linéaire à une solution réalisable).
Phase 2 : minimiser min z = 0.4 x1 + 0.5 x2 .
- Méthode du grand M :
Optimiser le problème avec comme fonction objectif :
min z = 0.4 x1 + 0.5 x2 + M a2 + M a3
34
Modèle sans solution admissible
(PL)
35
Modèle sans solution admissible
36
Modèle sans solution admissible
Min za = a3 + a4
37
Itération 1 et 2 de phase I
38
Modèle sans solution admissible
C’est le tableau final de la phase 1 puisque tous les coefficients de la ligne des coûts
sont tous positifs (Problème de minimisation). Alors Comme la valeurs optimale (za )
de la phase 1 est non nulle (za = 17.5 ̸= 0) alors il n’existe aucune solution réalisable.
Par suite, le problème (PL1 ) n’admet pas de solution.
39
Modèle non borné
Exemple
Max Z = x1 + 2x2
40