Uploaded by yanisjigsaw

1.Prog-linaire

advertisement
Chapitre1 : Programmation Linéaire
1
Chapitre1 : Programmation Linéaire
1. Introduction
La « direction et la gestion » de grands systèmes d’hommes, de matériaux et d’argents
dans l’industrie, la gouvernance et la défense nécessitent l’application des méthodes
d’optimisation et de recherche opérationnelle. Ces méthodes permettent aux responsables de
pallier éventuellement l’insuffisance du bon sens et de les aider dans l’élaboration des
meilleures décisions.
La diminution des ressources naturelles et des sources de financement combinées à une
concurrence toujours plus vive entre les entreprises, entrainent une répartition optimale des
moyens disponibles. Cette répartition constitue la tâche principale des responsables politiques
et économiques de notre société. Ce problème se retrouve dans tous les domaines de l’activité
économique, politique, scientifique et sociale. En raison de l’importance des enjeux, le
gestionnaire ne peut plus prendre de décisions hâtives et justifier un choix d’attribution fondé
sur un raisonnement instinctif ou des calculs naïfs. Une bonne résolution de ce type de
problèmes nécessite la connaissance de méthodes approuvées ainsi que la maîtrise des outils
mathématiques et informatiques développés à cet effet.
2. Formulation de la fonction objective et des contraintes.
Mathématiquement il s’agit de déterminer les valeurs (niveaux d’activité des variables ou
activités)
x1 , x2 , x3 .....xn représentant les paramètres du programme. Ces valeurs devant
satisfaire simultanément à un certain nombre de « contraintes » relatives aux ressources
(disponibilités), et de plus, rendre maximale ou minimale une fonction de coûts
(fonctionnelle, fonction objective ou fonction économique)
Comme par exemple on peut chercher dans une entreprise les valeurs
d’activités X j , les ressources étant limitées
stockage,
x j d’un certain nombre
b1 pour l’investissement, b2 pour les frais de
b3 pour les heures de travail, b4 pour la consommation de l’énergie et ainsi de
suite. En supposant connus, pour chaque activité
X j l’investissement unitaire a1 j , le coût de
stockage unitaire a2 j , le temps de fabrication unitaire a3 j , la consommation unitaire de
l’énergie
a4 j etc. Après avoir évalué le profit unitaire c j escompté sur chaque activité X j et
si on cherche à maximiser le profit total le programme linéaire à résoudre sera :
2
Chapitre1 : Programmation Linéaire
 Max  F   c j x j
 n

P . L   a ij x j  b j 1  j  m
 i 1
x j  0

3. Résolution du programme linéaire par la méthode graphique.
Nous allons prendre un exemple simple pour résoudre un programme linéaire par la
méthode graphique.
Exemple : Une petite entreprise fabrique deux types d’écrous. Un écrou peut être fabriqué
en trois opérations :
 Opération de coupe : découpage d’une barre hexagonale (2 machines sont
disponibles pour cette opération)
 Opération de perçage : un trou est réalisé dans chaque pièce découpée (4 machines
sont disponibles pour cette opération)
 Opération de filetage : à l’intérieur de chaque trou on procède à un filetage (17
machines sont disponibles pour cette opération)
Cette entreprise travaille 8 heures par journée et les machines suivant le tableau cidessous :
Opérations
Ecrou de type 1
Ecrou de type 2
Coupe
2 secondes
2s
Perçage
5s
3s
Filetage
10s
20s
Le profit attendu est de 3 unités (3 D.A par exemple) pout un écrou de type 1 et de 4
unités pout un écrou de type 2. Le problème qui se pose au gérant de cette entreprise est le
suivant : Combien d’écrous de chaque type devrait-on fabriqué pour que le profit
soit maximum ?
Formulation du P.L. : Nous allons d’abord établir le modèle mathématique du PL.
 Définitions des variables :
Soit : X1 le nombre d’écrous de type 1.
X2 le nombre d’écrous de type 2.
3
Chapitre1 : Programmation Linéaire
 Disponibilité des machines (contraintes):
Coupe
2x (8x60x60)
57.600 s
Perçage
4x (8x60x60)
115.200 s
Filetage
17x (8x60x60)
489.600 s
Le P.L. à résoudre est:
MaxF   3x1  4 x2
2 x  2 x  57.600
2
 1
P.L 5 x1  3x2  115.200
10 x  20 x  489.600
2
 1
 x1 , x2  0
La résolution graphique consiste à tracer les droites (x1,x2) pour chaque contrainte et
ainsi déterminer le domaine des solutions possible pour enfin trouver le point (x1,x2) qui
maximise la fonction économique F. La figure ci-dessous montre « le domaine des solutions
possibles ». Tous les points situés à l’intérieur du polyèdre OABCDO sont des solutions
possibles. Le couple (x1,x2) qui maximise la fonction économique est le point le plus éloigné
possible de l’origine O (x1=0,x2=0) donc c’est forcément l’un des sommets A, B, C, ou D.
4
Les coordonnées des ces points sont :
Chapitre1 : Programmation Linéaire
 x2  0.
 x2  0.
A intersection de 

 F  A  69.120
5
x

3
x

115
.
200
x

23
.
040
2
 1
 1
2 x1  2 x2  57.600
 x1  14.400
B intersection de 

 F B   100.800
5
x

3
x

115
.
200
x

14
.
400
2
 1
 2
2 x1  2 x2  57.600
 x1  8.640
C intersection de 

 F C   106.560
10
x

20
x

489
.
600
x

20
.
160
2
 1
 2
 x1  0.
 x1  0.
D intersection de 

 F D   97.920
10
x

20
x

489
.
600
x

24
.
480
2
 1
 2
Nous constatons que la fonction économique F (106 560) est maximale au point C dont les
coordonnées sont : x1=8 640 et x2=20 160. La solution de ce P.L. est :
 x1  8.640
 F  106.560

x

20
.
160
 2
Remarque : Vérification des contraintes : en remplaçant : x1 et x2 par leurs valeurs dans les
inéquations définissant les contraintes nous obtenons :
2 x1  2 x2  57.600
5 x1  3x2  103.680  115.200
10 x1  20 x2  489.600
Ce qui veut dire que les machines destinées à la coupe et au filetage travaillent à plein
temps et celles destinées au perçage restent inoccupées pendant (115 200-103 680 = 11 520 s)
correspondant à 3h 12’.
Remarque : la méthode graphique que nous venons de voir s’applique seulement aux modèles
comportant 2 ou au maximum 3 variables. La méthode du simplexe permet la résolution de
programmes linéaires de taille quelconque.
4. Résolution du programme linéaire par la méthode du simplexe.
La méthode du « simplexe » ou méthode de Dantzig est une technique qui permet de
trouver la solution optimale d’un P.L. d’une façon ordonnée et précise. Nous allons la
détaillée sur un exemple simple. Le P.L. à résoudre est le suivant :
5
Chapitre1 : Programmation Linéaire
 Max  F   4 x 1  3 x 2
 x  4 . 000
 1
P . L  x 2  6 . 000
 x  3 2 x  6 . 000
2
 1
 x 1 , x 2  0
1ère étape : La première étape consiste à mettre le P.L. sous forme standard c'est-à-dire
transformer les inégalités en égalités en ajoutant des variables d’écart. La forme standard du
P.L. est :
1 x 1  0 x 2  1 x 3  0 x 4  0 x 5  4 . 000

a ij x j  b i   0 x 1  1 x 2  0 x 3  1 x 4  0 x 5  6 . 000
 x  3 2 x  0 x  0 x  1 x  6 . 000
2
3
4
5
 1
F  Max 4 x 1  3 x 2  0 x 3  0 x 4  0 x 5 
et
Avec :
x1, x2 : variables principales (inconnues du problème)
x3, x4, x5: variables d’écart (variables de base)
Nous exprimons cette forme standard du P.L. sous forme de tableau :
Tableau N°1 :
V.
X1
X2
X3
X4
X5
bi
X3
1
0
1
0
0
4000
X4
0
1
0
1
0
6000
X5
1
3/2
0
0
1
6000
F
4
3
0
0
0
0
V.B.
Les coefficients des variables d’écart forment une matrice unitaire I qui est la base
initiale.
Ce tableau présente la première solution admissible c'est-à-dire :
 x1  0 .0 x 2  0 .0

Point O ( 0 , 0 )  x 3  4 . 000
x 4  6 . 000
x 5  6 . 000
 Max  F   4 x  3 x  4 x 0  3 x 0  0 . 0
1
2

2ère étape : Pour débuter le processus de la recherche de la solution optimale du P.L. on
s’appui sur les 2 critères de Dantzig :
6
Chapitre1 : Programmation Linéaire
 Premier critère : Pour déterminer la colonne xj qui doit entrer dans la base, on choisit celle
qui comporte le coefficient positif le plus grand dans la dernière rangée (coefficients de la
fonction économique).
 Deuxième critère : On calcul le rapport entre les bi et les coefficients de la nouvelle
variable qui entre dans la base et la variable qui doit sortir de cette base est celle dont le
rapport est le plus petit.
V.
X1
X2
X3
X4
X5
bi
Rapport
V.B.
bi/aj
X3
1
0
1
0
0
4000
pivot
4000/1=4000
X3 sort de la base
X4
0
1
0
1
0
6000
6000/0=∞
X5
1
3/2
0
0
1
6000
6000/1=6000
F
4
3
0
0
0
0
X1 entre dans base
En appliquant ces critères pour notre cas c’est la variable x1 qui rentre dans la base et
la variable x3 qui sort de la base. Le pivot représente le terme aij qui se trouve à l’intersection
de la colonne j et de la ligne i des variables qui entre et qui sort de la base.
3ère étape : Transformation du tableau (recherche d’une autre solution). Le tableau précédent
sera transformé en adoptant les règles suivantes :
1] On repère le pivot (intersection de la colonne j et de la ligne i des variables qui entre et qui
sort de la base)
2] On divise la ligne i de la variable qui sort de la base par le pivot.
V.
X1
X2
X3
X4
X5
bi
1/1
0/1
1/1
0/1
0/1
4000/1
V.B.
X1 intègre la base
3] Pour les lignes du tableau qui comportent un 0 dans la colonne de la variable qui entre dans
la base ne seront pas modifiées (ligne i=2 pour la variable de base x4).
7
Chapitre1 : Programmation Linéaire
V.
X1
X2
X3
X4
X5
bi
0
1
0
1
0
6000
V.B.
X4
4] Pour les autres lignes du tableau qui comportent un élément ≠ 0 dans la colonne de la
variable qui entre dans la base on multiplie les éléments de la ligne i (ligne du pivot) par
l’élément ≠ 0 divisé par le pivot et on retranche le résultat des éléments correspondant de la
ligne à modifiée. Ceci est valable pour la colonne des bi et ceux de la fonction économique.
Pour la valeur de la fonction économique il faut ajouter et non retrancher.
Application pour la variable x5 :
Ligne à modifiée (X5)
1
3/2
0
0
1
6000
Ligne du pivot (X1)
1
0
1
0
0
4000
Coefficient multiplicateur Cm=1/1=1
Ligne à modifiée (X5)
- Cm x Ligne du pivot (X1)
1
3/2
0
0
1
6000
-1x1
-1x0
-1x1
-1x0
-1x0
-1x4000
0
3/2
-1
0
1
2000
Coefficients de la ligne modifiée
Application pour les coefficients de la fonction économique F :
Ligne à modifiée (F)
4
3
0
0
0
0
Ligne du pivot (X1)
1
0
1
0
0
4000
Coefficient multiplicateur Cm=4/1=4
ligne à modifiée (F)
- Cm x Ligne du pivot (X1)
Coefficients de la ligne modifiée
4
3
0
0
0
0
-4x1
-4x0
-4x1
-4x0
-4x0
+4x4000
0
3
-4
0
0
+16000
8
Chapitre1 : Programmation Linéaire
Nous obtenons une nouvelle solution donnée par le tableau N°2
Tableau N°2 :
V.
X1
X2
X3
X4
X5
bi
X1
1
0
1
0
0
4000
X4
0
1
0
1
0
6000
X5
0
3/2
-1
0
1
2000
F
0
3
-4
0
0
+16000
V.B.
Point
x 2  0 .0
 x 1  4 . 000

A ( 4 . 000 , 0 )  x 3  0 . 000
x 4  6 . 000
x 5  2 . 000
 Max  F   4 x  3 x  4 x 4 . 000  3 x 0  16 . 000
1
2

4ère étape : Arrêt du processus : Le processus de la recherche de la solution optimale du P.L.
sera arrêté lorsque tous les coefficients des variables hors base de la fonction économique F
sont ≤ 0. Pour un problème de maximisation et ≥ 0. Pour un problème de minimisation. Si
cette condition n’est pas satisfaite il faut revenir à l’étape N°3.
Dans le cas de notre P.L. nous constatons que, dans la rangée de la fonction économique, le
coefficient de la variable hors base x2 est positif (+3) mais celui de l’autre variable hors base
x3 est négatif (-4) et donc le processus doit continuer car la solution optimale n’est pas encore
atteinte. Il faut revenir à l’étape 3.
3ère étape : Transformation du tableau N°2
V.
X1
X2
X3
X4
X5
bi
V.B.
Rapport
bi/aj
X1
1
0
1
0
0
4000
4000/0=∞
X4
0
1
0
1
0
6000
6000/1=6000
X5
0
3/2
-1
0
1
2000
2000/3 /2=4000/3
Pivot
F
0
3
X5 sort de la base
-4
0
0
+16000
X1 entre dans
base
9
Chapitre1 : Programmation Linéaire
1] On repère le pivot, c’est 3/2
2] On divise la ligne i de la variable qui sort de la base par le pivot.
V.
X1
X2
X3
X4
X5
bi
0/3/2
3/2/3/2
-1/3/2
0/3/2
1/3/2
2000/3/2
0
1
-2 /3
0
2/3
4000/3
V.B.
X2 intègre la base
3] Les coefficients de la ligne i=1 pour la variable de base x1 ne changent pas
V.
X4
X1
X2
X3
X5
bi
1
0
1
0
0
4000
V.B.
X1
4] Pour les autres lignes du tableau qui restent :
Ligne i=2 x4 :
Ligne à modifiée (X4)
0
1
0
1
0
6000
Ligne du pivot (X5)
0
3/2
-1
0
1
2000
Coefficient multiplicateur Cm=1/3/2=2/3
Ligne à modifiée (X4)
- Cm x Ligne du pivot (X5)
0
1
0
1
0
6000
-2/3x0
-2/3x3/2
-2/3x-1
-2/3x0
-2/3x1
-2/3x2000
0
0
2/3
1
-2/3
14000/3
Coefficients de la ligne modifiée
Ligne de la fonction économique F :
Ligne à modifiée (F)
0
3
-4
0
0
+16000
Ligne du pivot (X1)
0
3/2
-1
0
1
2000
Coefficient multiplicateur Cm=3/3/2=2
10
Chapitre1 : Programmation Linéaire
ligne à modifiée ( F)
- Cm x Ligne du pivot (X1)
Coefficients de la ligne modifiée
0
3
-4
0
0
+16000
-2x0
-2x3/2
-2x-1
-2x0
-2x1
+2x2000
0
0
-2
0
-2
+20000
Nous obtenons une nouvelle solution donnée par le tableau N°3
Tableau N°3 :
V.
X1
X2
X3
X4
X5
bi
X1
1
0
1
0
0
4000
X4
0
0
2/3
1
-2/3
14000/3
X2
0
1
-2/3
0
2/3
4000/3
F
0
0
-2
0
-2
+20000
V.B.
Nous obtenons une nouvelle solution qui est :
x 2  4000 3
 x 1  4000

Point B ( 4 . 000 , 0 )  x 3  0 . x 4  14000 3 x 5  0 .
 Max  F   4 x  3 x  4 x 4 . 000  3 x 4000 3  20 . 000
1
2

Arrêt du processus : Dans le cas de notre P.L. nous constatons que, dans la rangée de la
fonction économique, les coefficients des variables hors base x3 et x5 sont négatifs (-2) et
donc le processus doit s’arrêter et la solution optimale atteinte.
Vérification de la solution par la méthode graphique : La résolution graphique est
donnée dans la figure ci-dessous. Tous les points situés à l’intérieur du polyèdre OABCO sont
des solutions possibles. Le couple (x1,x2) qui maximise la fonction économique est le point le
plus éloigné possible de l’origine O (x1=0,x2=0) c’est le sommet B.
 x1  4.000
 x1  4000
B intersection de 

 F B   20.000
x

3
2
x

6
.
000
x

4000
3
2
 1
 2
Nous pouvons vérifier qu’au point A (x1=4000,x2=0) la fonction économique est
FA=16000 et qu’au point C (x1=0,x2=4000) la fonction économique est FC=12000
11
Chapitre1 : Programmation Linéaire
Pour résumer la méthode du simplexe un organigramme de l’algorithme de celle-ci est
donné dans la page suivante.
12
Chapitre1 : Programmation Linéaire
Etape N°1
Mise en équation du P.L.
Etape N°2
Construction du tableau
inital
Solution
Optimale
?
Oui
Fin
Non
Etape N°3
Choix de la variable entrante
variabuation du P.L.
Etape N°4
Choix de la variable sortante
Il n’en existe pas
Fin
variabuation du P.L.
Etape N°5
Pivotage
Etape N°6
Construction du nouveau tableau
inital
Organigramme de l’algorithme de la méthode du simplexe.
13
Chapitre1 : Programmation Linéaire
REMARQUE :
1. Dans tous ce que l’on vient de considérer toutes les contraintes des différents P.L.
contenaient des signes ≤. Quand le P.L. contient des signes ≥ ou = on transforme le
problème de sorte qu’il soit écrit sous une forme canonique. Pour y arriver on introduit
des « variables artificielles » puis on applique la méthode du simplexe. Les contraintes
k
de type
a
j 1
k
type
a
j 1
ij
ij
k
a
x j  b i sont transformées en
x j  b i sont transformées en
j 1
k
a
j 1
ij
ij
x j  x k  1  y i  b i et celles de
x j  y i  b i dans lesquelles les
variables yi sont des variables artificielles qui initialement serviront de variables de
base et qui doivent être égales à 0. dans le tableau final. Pour s’assurer que ces
variables ne seront pas dans la solution finale on leur associe un « coût fictif »
arbitrairement grand (M) dans la fonction économique F lorsqu’on minimise, ou
un « profit fictif » (- M) lorsqu’on maximise. Nous traiterons un exemple pour bien
illustrer ces nouvelles notions.
2. La solution optimale ne peut être atteinte dans tous les cas de figure (solutions non
réalisables, solutions réalisables sans bornes, solutions multiples, solutions
dégénérées…)
5. Dualité. C’est un aspect important de la programmation linéaire. A partir d’un P.L. on
peut former un autre P.L. intimement lié au premier. A tout problème de maximisation
correspond un problème de minimisation impliquant les mêmes données. L’un des
problèmes est appelé « le primal » et l’autre le « dual ». Ces programmes linéaires
possèdent les caractéristiques suivantes :
 La fonction économique d’un des problèmes est maximisée l’autre est minimisée.
 Minimisation des contraintes ≥ et maximisation des contraintes ≤.
 La matrice des coefficients de l’un des problèmes est la transposée de la matrice des
coefficients de l’autre.
 Le coté droit des contraintes de l’un des problèmes est la fonction économique de
l’autre.
 A chaque contrainte du « primal » correspond une variable du « dual » et vice versa.
Exemple : Nous allons considérer un P.L. quelconque comme « primal » et nous nous
proposons de construire son P.L. « dual ».
14
Chapitre1 : Programmation Linéaire
Soit le P.L. suivant :
P . L Primal
 Max  F   3 x 1  4 x 2
 x  x  600
2
 1
 2 x 1  x 2  1000
 x  2 x  1000
2
 1
 x 1 , x 2  0
 Le P.L. « primal » possède 2 variables principales (x1, x2) et 3 contraintes donc le P.L.
« dual » va avoir 3 variables principales (y1, y2 et y3) et 2 contraintes.
 Le P.L. « primal » maximise F donc le P.L. « dual » minimise F’
 Les contraintes du P.L. « primal » sont ≤ celles du P.L. « dual » seront ≥. A ce stade
nous pouvons écrire :
P . L Primal
 Max  F   3 x 1  4 x 2
 x  x  600
2
 1
 2 x 1  x 2  1000
 x  2 x  1000
2
 1
 x 1 , x 2  0
 
 Min F '  . y 1  . y 2  . y 3

. y  . y 2  . y 2  .
P . L Dual  1
. y 1  . y 2  . y 2  .
y , y , y  0
 1 2 3
 Il faut maintenant remplacer les points des coefficients du P.L. « dual » par les chiffres
qui leurs correspondent. La matrice des coefficients du P.L. « dual » est la matrice
transposée du P.L. « primal » donc :
1
2
1
1
1
2
1
2
1
1
1
2
Et d’autres parts les coefficients du coté droit du P.L. « primal » sont ceux de la fonction
économique du P.L. « dual » donc
 
Min F
'
 600 y 1  1000 y 2  1000 y 3
Et finalement nous obtenons :
 Max  F   3 x 1  4 x 2
 x  x  600
2
 1
P . L P  2 x 1  x 2  1000
 x  2 x  1000
2
 1
 x 1 , x 2  0
 
 Min F '  600 y 1  1000 y 2  1000 y 3

1 y  2 y 2  1 y 2  3
P .L D  1
1 y 1  1 y 2  2 y 2  4
y , y , y  0
 1 2 3
15
Chapitre1 : Programmation Linéaire
Nous nous proposons de résoudre P.L. « dual » par la méthode du simplexe et comparer la
solution avec celle donnée par la résolution du P.L. « primal » (méthode du simplexe et
graphique).
Résolution du P.L. dual par la méthode du simplexe :
 
 Min F '  600 y 1  1000 y 2  1000 y 3

1 y  2 y 2  1 y 2  3
P . L Dual  1
1 y 1  1 y 2  2 y 2  4
y , y , y  0
 1 2 3
 Obtention de la forme canonique :
k
Les contraintes sont de type

j 1
k

j 1
a ij y j  b i elles seront transformées en
a ij y j  y k  1  x i  b i Nous obtenons :
1 y 1  2 y 2  1 y 2  y 4  x1  3
(I )
1 y1  1 y 2  2 y 2  y 5  x 2  4
( II )
y1, y2, y3 sont les variables principales, y4 et y5 les variables d’écarts et x1 et x2 sont les
variables artificielles
Et la fonction économique devient :
 
Min F '  600 y 1  1000 y 2  1000 y 3  0 y 4  0 y 5  Mx 1  Mx 2
Maintenant nous exprimons la fonction économique F’ en fonction des principales et des
variables d’écarts seulement :
Les équations (I) et (II) deviennent :
Mx 1  3  1 y 1  2 y 2  1 y 2  y 4 M
Mx 2   4  1 y 1  1 y 2  2 y 2  y 5 M
En remplaçant ces valeurs dans la première expression de la fonction économique F’ nous
obtenons une deuxième expression de la fonction économique F’ qui sera bien commode pour
la résolution du P.L. par la méthode du simplexe.
 
Min F '  ( 600  2 M ) y 1  (1000  3 M ) y 2  (1000  3 M ) y 3  My 4  My 5  7 M
Le P.L. dual à résoudre par la méthode du simplexe est le suivant :
16
Chapitre1 : Programmation Linéaire
 
 
 Min F '  600 y 1  1000 y 2  1000 y 3  0 y 4  0 y 5  Mx 1  Mx 2 ou bien

'
 Min F  ( 600  2 M ) y 1  (1000  3 M ) y 2  (1000  3 M ) y 3  My 4  My 5  7 M

P . L Dual 1 y 1  2 y 2  1 y 2  3
1 y  1 y  2 y  4
2
2
 1
 y1 , y 2 , y 3  0

Tableau N°1 :
V.
Y1
Y2
Y3
Y4
Y5
X1
X2
bi
V.B.
Rapport
bi/aj
X1
1
2
1
-1
0
1
0
3
3/2
X2
1
1
2
0
-1
0
1
4
4/1
F’
600
1000
1000
0
0
M
M
0
-2M
-3M
-3M
M
M
0
0
7M
Les coefficients des variables artificielles forment une matrice unitaire I qui est la base
initiale. La rangée de F est divisée en 2 lignes, la première ligne est la première expression de
F (en fonction des variables artificielles) et la seconde ligne qui est la deuxième expression de
F.
Ce tableau présente la première solution admissible c'est-à-dire :
 y3  0 y4  0 y5  0

Point O ( 0 , 0 , 0 )  x 1  3 . 0 x 2  4 . 0

'
 600 y 1  1000 y 2  1000 y 3  0 y 4  0 y 5  Mx 1  Mx 2  7 M
 Min F
En appliquant les critères de la méthode du simplexe pour ce cas c’est la variable y2 qui rentre dans la
 
base et la variable x1 qui sort de la base. Le pivot est égal à 2 et on transforme ce premier tableau pour
déterminer une autre solution. Comme x1 qui est une variable artificielle et qui sort de la base elle ne
doit plus figurer dans les tableaux à venir.
 Transformation du tableau (recherche d’une autre solution). Le tableau précédent sera
transformé en adoptant les règles suivantes :
Ligne du pivot : On divise la ligne i de la variable qui sort de la base par le pivot.
V.
Y1
Y2
Y3
Y4
Y5
X2
bi
1/2
2/2
1/2
-1/2
0/2
0/2
3/2
V.B.
Y2
17
Chapitre1 : Programmation Linéaire
Pour les autres lignes du tableau qui restent :
Ligne i=2 x2 :
Coefficient multiplicateur Cm=1/2=1/2
V.
Y1
Y2
Y3
Y4
Y5
X2
bi
1
1
2
0
-1
1
4
-1/2x 1
-1/2x 2
-1/2x 1
-1/2x -1
-1/2x 0
-1/2x 0
-1/2x 3
1/2
0
3/2
1/2
-1
1
5/2
V.B.
X2 Ligne à modifiée
- Cm x Ligne du pivot
(X1)
Coefficients de la ligne
modifiée
1ère ligne de la fonction économique F :
Coefficient multiplicateur Cm=1000/2=500
V.
Y1
Y2
Y3
Y4
Y5
X2
bi
600
1000
1000
0
0
M
0
-500x 1
-500x 2
-500x 1
-500x -1
-500x 0
100
0
500
500
0
V.B.
Ligne à modifiée
- Cm x Ligne du pivot
-500x 0 -500x 3
(X1)
Coefficients de la ligne
M
1500
modifiée
2ème ligne de la fonction économique F :
Coefficient multiplicateur Cm=-3M/2=-3M/2
V.
Y1
Y2
Y3
Y4
Y5
X2
bi
-2M
-3M
-3M
M
M
0
7M
3M/2x1
3M/2x2
3M/2x1
3M/2x-1
3M/2x0
-3M/2x0
3M/2x3
-M/2
0
-3M/2
-M/2
M
0
5M/2
V.B.
Ligne à modifiée
- Cm x Ligne du pivot
(X1)
Coefficients de la ligne
modifiée
18
Chapitre1 : Programmation Linéaire
Nous obtenons une nouvelle solution donnée par le tableau N°2
Tableau N°2 :
V.
Y1
Y2
Y3
Y4
Y5
X2
bi
V.B.
Rapport
bi/aj
Y2
1/2
1
1/2
-1/2
0
0
3/2
3
X2
1/2
0
3/2
1/2
-1
1
5/2
5/3
F’
100
0
500
500
0
M
1500
-M/2
0
-3/2M
-M/2
M
0
5/2M
Le processus de la méthode du simplexe continue c’est la variable y3 qui rentre dans la
base et la variable x2 qui sort de la base. Le pivot est égal à 3/2 et on transforme ce tableau
pour déterminer une autre solution. Comme x2 qui est une variable artificielle et qui sort de la
base elle ne doit plus figurer dans les tableaux à venir.
 Transformation du tableau (recherche d’une autre solution). Le tableau précédent sera
transformé en adoptant les règles suivantes :
Ligne du pivot : On divise la ligne i de la variable qui sort de la base par le pivot. Nous
obtenons :
V.
Y1
Y2
Y3
Y4
Y5
bi
1/3
0
1
1/3
-2/3
5 /3
V.B.
Y3
Pour les autres lignes du tableau qui restent :
Ligne i=2 x2 :
Coefficient multiplicateur Cm=1/2/3/2=1/3
V.
Y1
Y2
Y3
Y4
Y5
bi
1/2
1
1/2
-1/2
0
3/2
-1/3x1/2
-1/3x 0
-1/3x 3/2
-1/3x 1/2
-1/3x -1
-1/3x 5/2
1/3
1
0
-2/3
1/3
2/3
V.B.
Y2 Ligne à modifiée
- Cm x Ligne du pivot
(X2)
Coefficients de la ligne
modifiée
19
Chapitre1 : Programmation Linéaire
Lignes de la fonction économique :
Première ligne : Cm=1000/3
V.
Y1
Y2
Y3
Y4
Y5
bi
100
0
500
500
0
1500
-1000/3x1/2
-1000/3x 0
-1000/3x 3/2
-1000/3x 1/2
-1000/3x -1
-1000/3x 5/2
-200/3
0
0
1000/3
1000/3
7000/3
V.B.
1ère ligne de
F’ à modifiée
- Cm x Ligne
du pivot (X2)
Coefficients
de la ligne
modifiée
Deuxième ligne : Cm=-3/2Xm/3/2=-M
V.
Y1
Y2
Y3
Y4
Y5
bi
-M/2
0
-3/2M
-M/2
M
5/2M
-Mx-1/2
-Mx 0
-Mx 3/2
-Mx -1/2
-Mx -1
-Mx 5/2
0
0
0
0
0
0
V.B.
1ère ligne de F
à modifiée
- Cm x Ligne
du pivot (X2)
Coefficients
de la ligne
modifiée
Nous obtenons une nouvelle solution donnée par le tableau N°3.
Tableau N°3 :
20
Chapitre1 : Programmation Linéaire
V.
Y1
Y2
Y3
Y4
Y5
bi
Rapport
V.B.
bi/aj
Y2
1/3
1
0
-2/3
1/3
2/3
2
Y3
1/3
0
1
1/3
-2/3
5/3
5
F’
-200/3
0
0
1000/3
1000/3
7000/3
0
0
0
0
0
0
Le processus de la méthode du simplexe continue c’est la variable y1 qui rentre dans la
base et la variable y2 qui sort de la base. Le pivot est égal à 1/3 et on transforme ce tableau
pour déterminer une autre solution. Transformation du tableau (recherche d’une autre
solution). Le tableau précédent sera transformé en adoptant les règles suivantes :
Ligne du pivot : On divise la ligne i de la variable qui sort de la base par le pivot. Nous
obtenons :
V.
Y1
Y2
Y3
Y4
Y5
bi
1
3
0
-2
1
2
V.B.
Y1
Pour les autres lignes du tableau qui restent :
Ligne i=2 y2 :
Coefficient multiplicateur Cm=1/3/1/3=1
V.
Y1
Y2
Y3
Y4
Y5
bi
1/3
0
1
1/3
-2/3
5/3
-1x1/3
-1x 1
-1x 0
-1x -2/3
-1x 1/3
-1x 2/3
0
-1
1
1
-1
1
V.B.
Y2 Ligne à modifiée
- Cm x Ligne du pivot
(Y2)
Coefficients de la ligne
modifiée
Ligne de la fonction économique:
21
Chapitre1 : Programmation Linéaire
Coefficient multiplicateur Cm=-200/3/1/3=-200
V.
Y1
Y2
Y3
Y4
Y5
bi
Ligne de F à modifiée
-200/3
0
0
1000/3
1000/3
7000/3
- Cm x Ligne du pivot
200x1/3
200x 1
200x 0
200x -2/3
200x 1/3
200x 2/3
0
200
0
200
400
2200
V.B.
(Y2)
Coefficients de la ligne
modifiée
Nous obtenons une nouvelle solution donnée par le tableau N°4.
Tableau N°4 :
V.
Y1
Y2
Y3
Y4
Y5
bi
Y1
1
3
0
-2
1
2
Y3
0
-1
1
1
-1
1
F’
0
200
0
200
400
2200
V.B.
Arrêt du processus : Dans le cas de ce P.L. nous constatons que, dans la rangée de la fonction
économique, les coefficients des variables hors base y2, y2 et y5 sont positifs (minimisation) et
donc le processus doit s’arrêter et la solution optimale atteinte. Cette solution est :
 y1  2

 y4  0
y2  0
y5  0
y3  1
 F '  2200
Nous allons maintenant résoudre le programme primal pour pouvoir tirer certaines
conclusions importantes
 Max  F   3 x 1  4 x 2
 x  x  600
2
 1
P . L P  2 x 1  x 2  1000
 x  2 x  1000
2
 1
 x 1 , x 2  0
22
Chapitre1 : Programmation Linéaire
La forme standard du P.L. est :
1 x 1  1 x 2  1 x 3  0 x 4  0 x 5  600

a ij x j  b i   2 x 1  1 x 2  0 x 3  1 x 4  0 x 5  1000
 x  2 x  0 x  0 x  1 x  1000
2
3
4
5
 1
et
F  Max 3 x 1  4 x 2  0 x 3  0 x 4  0 x 5 
Avec :
x1, x2 : variables principales (inconnues du problème)
x3, x4, x5: variables d’écart (variables de base)
Le processus de la méthode du simplexe étant déjà bien expliqué nous donnons à titre
d’information les différents pour aboutir à la solution optimale.
Tableau N°1 :
V. X1 X2 X3 X4 X5
bi
V.B.
X3
1
1
1
0
0
600
X4
2
1
0
1
0
1000
X5
1
2
0
0
1
1000
F
3
4
0
0
0
0
X1
X2 X3 X4
X5
bi
X3
1/2
0
1
0
-1/2
100
X4
3/2
0
0
1
-1/2 1000/3
X2
1/2
1
0
0
1/2
1000
F
1
0
0
0
-2
2000
Tableau N°2 :
V.
V.B.
Tableau N°3 :
23
Chapitre1 : Programmation Linéaire
V. X1 X2 X3 X4 X5
bi
V.B.
X1
1
0
2
0
-1
200
X4
0
0
-3
1
1
200
X2
0
1
-1
0
1
400
F
0
0
-2
0
-1
2200
La solution optimale (confirmée par la méthode graphique) du P.L. primal est :
x 2  400
 x 1  200

x5  0
 x 3  0 x 4  200
 F  2200
Comparaison des solutions du P.L. primal et du P.L. dual : Nous rappelons les deux P.L. leurs
derniers tableaux ainsi que leurs solutions pour pouvoir les comparer.
 Max  F   3 x 1  4 x 2
 x  x  600
2
 1
P . L P  2 x 1  x 2  1000
 x  2 x  1000
2
 1
 x 1 , x 2  0
 
 Min F '  600 y 1  1000 y 2  1000 y 3

1 y  2 y 2  1 y 2  3
P .L D  1
1 y 1  1 y 2  2 y 2  4
y , y , y  0
 1 2 3
Dernier tableau du P.L. primal
V.
X1
X2
X3
X4
X5
bi
X1
1
0
2
0
-1
200
X4
0
0
-3
1
1
200
X2
0
1
-1
0
1
400
V.B.
F
Δ1=0 Δ1=0 Δ1=-2 Δ1=0 Δ1=-1 2200
Dernier tableau du P.L. dual
V.
Y1
Y2
Y3
Y4
Y5
bi
Y1
1
3
0
-2
1
2
Y3
0
-1
1
1
-1
1
V.B.
F’
Δ’1=0 Δ’2=200 Δ’3=0 Δ’4=200 Δ’5=400 2200
24
Solution du P.L. primal
x 2  400
 x 1  200

x5  0
 x 3  0 x 4  200
Chapitre1 : Programmation Linéaire
Solution du P.L. dual
 F  2200
 y1  2

 y4  0
y2  0
y5  0
y3  1
 F '  2200
Nous remarquons que :
 Les fonctions économiques des deux P.L. sont égales F = F’
 Les valeurs des variables principales du P.L. primal (x1=200, x2=400) sont égales aux
coefficients des valeurs des variables d’écart dans la ligne de la fonction économique
F’ du P.L. dual (Δ’4=200, Δ’5=400)
 Les valeurs des variables principales du P.L. dual (y1=2, y2=0, y3=1) sont égales (aux
signes prés) aux coefficients des valeurs des variables d’écart dans la ligne de la
fonction économique F du P.L. primal (Δ3=-2, Δ4=0, Δ5=-1)
25
Download