Problèmes de Minimisation Et Problèmes Irréguliers: Chapitre 4
Problèmes de Minimisation Et Problèmes Irréguliers: Chapitre 4
Problèmes de Minimisation Et Problèmes Irréguliers: Chapitre 4
CHAPITRE 4
I. Introduction
Dans le chapitre précédent tous les programmes linéaires qu’on a traité sont du
type : Maximiser une fonction linéaire sous contraintes de type inférieur ou égale
(et avec un second membre positif).
Or dans beaucoup de problèmes réels, on peut retrouver des contraintes de type
supérieur ou égale et/ou de type égale, ainsi que des problèmes où on a à
minimiser au lieu de maximiser.
Ces variables n’ont aucune interprétation, comme leur nom l’indique, ils sont
conçus artificiellement pour nous aider à utiliser la procédure de simplexe et à
formuler le tableau initial à partir de l'origine.
On peut conclure que tant que les variables artificielles restent dans la base, la
solution demeure non réalisable réellement pour notre programme.
Une manière pour garantir que ces variables artificielles sortent de la base avant
d’atteindre la solution optimale est de leur associée un grand coût -M dans la
fonction objectif. Ainsi, si ces variables restent dans la base ils vont causer une
diminution importante de la valeur de la fonction objectif. Ce qui nous
contraignent à les faire sortir le plutôt possible de la base.
La fonction objectif s’écrit donc :
Max z = 5x1 + 6x2 - M A1 - M A2
avec M un très grand nombre (exemple: M 1010) .
ci 5 6 0 0 -M -M
Cout base base
Base x1 X2 S1 S2 A1 A2
0 S1 4 -1 1 1 0 0 0
-M A1 60 (5) 3 0 0 1 0
-M A2 5 0 1 0 -1 0 1
ci 5 6 0 0
Cout base base
Base x1 x2 S1 S2
0 S1 8 0 0 1 8/5 5
5 x1 9 1 0 0 3/5 15
6 x2 5 0 1 0 -1 -5
5 6 0 -3
0 0 0 3
ci 5 6 0 0
Cout base base
Base x1 x2 S1 S2
0 S2 5 0 0 5/8 1
5 x1 6 1 0 -3/8 0
6 x2 10 0 1 5/8 0
5 6 15/8 0
0 0 -15/8 0
Le tableau ci-dessus est optimal car tous les effets nets sont négatifs ou nuls.
Donc la solution optimale est :
x1 = 6
x2 = 10
S1 = 0
S2 = 5
ci 5 6 0 0 0 M M M
Cout basebase Base x1 x2 S1 S2 S3 A1 A2 A3
M A1 12 2 1 -1 0 0 1 0 0 12
M A2 74 5 8 0 -1 0 0 1 0 37/4
M A3 24 1 6 0 0 -1 0 0 1 4
8M 15 -M -M -M M M M
1-8M 1-15M M M M 0 0 0
Après 4 itérations, on trouve le tableau de simplexe optimal suivant :
ci 5 6 0 0 0
Cout base base Base
x1 x2 S1 S2 S3
1 x1 8 1 0 -8/11 1/11 0
0 S3 26 0 0 2 -1 1
1 x2 2 0 1 5/11 -2/11 0
1 1 -3/11 -1/11 0
0 0 3/11 1/11 0
Après avoir vérifié que le second membre des contraintes est positif, le tableau
suivant résume les transformations à faire subir à notre programme linéaire avant
de le résoudre par la méthode de simplexe :
Exemple:
Vérifions à l’aide de la méthode de simplexe, que le problème suivant est
réellement impossible :
Max 4 x1 + 3x2
Sc x1 + x2 2
3x1 + x2 10
x1 , x2 0
En introduisant les variables d’écarts et les variables artificielles le programme
s’écrit:
Max 4x1 + 3x2 - MA1
Sc x1 + x2 - S1 = 2
3x1 + x2 - S2 + a1 = 10
x1 , x2 , S1 , S2 , A1 0
4 3 0 0 -M
x1 x2 S1 S2 a1
0 S1 2 (1) 1 1 0 0 2
-M a1 10 3 1 0 -1 1 10/3
-3M -M 0 M 1
3M+4 M+3 0 -M -M-1
4 3 0 0 -M
x1 x2 S1 S2 a1
4 x1 2 1 1 1 0 0
-M a1 5 0 -2 -3 -1 1
4 4+2M 1+3M M -M
0 -1-2M -1-3M -M 0
1 2 0 0 -M
x1 x2 S1 S2 a1
-M a1 2 1 (1) -1 0 1 2
0 S2 3 0 1 0 1 0 3
-M -M M 0 -M
1+M 2+M -M 0 0
1 2 0 0
x1 x2 S1 S2
2 x2 2 1 (1) -1 0 -2
0 S2 1 -1 0 (1) 1 1
2 2 -2 0
-1 0 2 0
1 2 0 0
x1 x2 S1 S2
x2 3 0 1 0 1
2
0 S1 1 -1 0 1 1 -1
0 2 0 2
1 0 0 -2
Le dernier tableau montre que la variable x1 n’admet aucune limite sur sa valeur
de sortie.
Exemple
Max z = 2x1 + 0 x2 + 3/2 x3
s.c. x1 - x2 2
2x1 + x3 4
x1 + x2 + x3 3
x1 , x 2 , x3 0
La solution optimale de ce problème est :
x1 = 1 x2 = 0 x3 = 2 z =5
2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
S1 2 1 -1 0 1 0 0 2
0
0 S2 4 2 8 0 -1 0 0 2
0 S3 3 1 6 0 0 -1 0 3
0 15 -M -M -M M
2 0 3/2 0 0 0
La variable entrante est x1, mais les deux premières contraintes donnent la même
valeur minimale du ratio. Ceci indique que lorsque x1 passe à 2, les variables
d’écart S1 et S2 vont s’annuler malgré que l’un des deux demeure encore dans la
base.
Choisissons arbitrairement de faire sortir de la base la variable d’écart S1.
2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
2 x1 2 1 -1 0 1 0 0 -2
0 S2 0 0 2 1 -2 1 0 0
0 S3 1 0 2 1 -1 0 1 1/2
2 -2 0 2 0 0
0 2 3/2 -2 0 0
La nouvelle solution réalisable de base est :
x1 = 0
x2 = 0
x3 = 1
S1 = 2
S2 = 0
S3 = 0
2 0
3/2 0 0 0
x1 x2
x3 S1 S2 S3
2 x1 2 1 0
1/2 0 1/2 0 4
0 x2 0 0 1
1/2 -1 1/2 0 0
0 S3 1 0 0
0 1 -1 1
2 0
0 0 1 0
0 0
1/2 0 -1 0
Ce tableau n’est pas optimal, la variable entrante est x3 et la variable sortante est
x2. On remarque aussi que ce passage d’une solution à une autre ne s’accompagne
pas d’une augmentation de la valeur de la fonction objectif.
On peut facilement vérifier que nous somme en train de cycler sans atteindre la
solution optimale. Ce genre de cyclage dans la méthode de simplexe est dangereux
et on doit l’identifier avant de commencer à résoudre le problème, sinon on
passera un temps énorme sans atteindre la solution optimale.
Pour terminer cette section, il faut noter que ce n'est pas tout problème de
dégénérescence qui peut conduire à un cyclage.
Exemple
Max 10 x1 + 9x2
Sc 7/10x1 + x2 630
1/2 x1 +5/6x2 480
x1 + 2/3x2 708
1/10 x1 +1/4x2 135
x1 , , x2 0
Essayer de résoudre ce programme par la méthode de simplexe (choisir en cas
de deux quotients égaux, celui qui se trouve dans la ligne supérieure).