Vous êtes sur la page 1sur 42

Université Sultan Moulay Slimane

Ecole Nationale de Commerce et de Gestion- Beni Mellal

Filières : GFC, ACG, MD, ML, GRH


Semestre : S7

Recherche Opérationnelle
Pr. Abdeslam BOUDHAR

Année Universitaire : 2023 / 2024


Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
 Lorsque le nombre de variables et de contraintes est important, la
méthode algébrique de résolution des programmes linéaires devient
compliquée et nécessite une très grande attention
 Dans ce cas, il est possible d’adopter une représentation sous forme de
tableaux qui facilite considérablement les calculs.
 On effectue généralement les calculs sur le tableau des coefficients qui
porte le nom de tableau Simplexe.
 Les opérations qu’on va effectuer sur ce tableau ne sont qu’une
traduction des opérations sur le système d’équations algébriques
correspondantes.

2
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
 Soit la forme standard du programme linéaire suivant,

 La forme matricielle du programme :

3
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Tableau initial du simplexe
 Le tableau initial du simplexe se compose du vecteur b, de la matrice A,
et d’une ligne C. La valeur de z à l’origine est 0 (lorsque x1 = x2 = 0) :

4
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
 Tout d’abord, on peut lire directement sur le tableau les valeurs des
variables de base. Si x1 = x2 = 0, on obtient x3 = 4, x4 = 12 et x5 = 18.
 Dans la dernière ligne, on trouve un coefficient égal à 0 pour chaque
variable de base (la fonction z est exprimée en fonction des seuls
variables hors base).
 La matrice carrée correspondant aux variables de base est la matrice
identité.
 Enfin, le premier coefficient de la dernière ligne donne l’opposé de la
valeur de z ,

5
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Pivot et changement de base
 Pour augmenter la valeur de z, on examine une nouvelle solution de
base.
 Pour l’obtenir, on doit introduire une nouvelle variable dans la base et
faire sortir l’une des eux variables de base.
 On appelle changent de base le processus qui consiste à choisir la
variable entrante et la variable sortante,

6
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Pivot et changement de base
 Choix de la variable entrante
 Dans la dernière ligne, le coefficient dont la valeur est la plus élevée
détermine la variable à entrer dans la base.
 La variable entrante est donc x2. La colonne de la variable entrante
s’appelle la colonne pivot.

7
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Pivot et changement de base
 Choix de la variable sortante
 On choisit la variable sortante comme étant la variable de base qui
s’annule la première.
 Cela revient à calculer le minimum du rapport du coefficient du membre
de droite de chaque contrainte sur le coefficient correspondant de la
colonne pivot lorsque ce dernier est strictement positif :

 Dans le cas où le coefficient dans la colonne entrante est négatif ou


nul, la ligne n’entre pas en compte dans le calcul du minimum.

8
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Pivot et changement de base
 Choix de la variable sortante
 La variable de base sortante est alors la variable de base dont la valeur
se lit dans la ligne où le minimum se produit :
 La variable de base sortante est la variable de la deuxième ligne à
savoir la variable x4. Cette ligne s’appelle la ligne pivot,

9
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Pivotage et tableaux simplexe
 Le coefficient situé à l’intersection de la colonne pivot et de la ligne
pivot est appelé "pivot" .
 Le pivot nous permet de transformer le tableau actuel en un deuxième
tableau correspondant à la nouvelle base. Ceci peut être fait par trois
types d’opérations :
 Transformation de la ligne pivot : pour obtenir la ligne du pivot
transformée, il suffit de diviser tous ses éléments par le pivot.

10
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Pivotage et tableaux simplexe

 Transformation de la colonne pivot : après avoir ramené par division


le pivot à 1, tous les éléments situés au-dessus et au-dessous du pivot
deviennent zéro.

11
Chapitre II : Méthodes de résolution d'un
programme linéaire

12
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.1. Pivotage et tableaux simplexe
 En appliquant ces opérations au tableau initial, on obtient le deuxième
tableau :


 La deuxième solution de base réalisable est : x2= 6, x3= 4 et x5= 6, x1=
x4= 0. Le premier coefficient de la dernière ligne donne l’opposé de la
valeur z : Z= 3000

13
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.2. Deuxième itération
 Dans la dernière ligne, il y a encore un coefficient positif, donc le
maximum de la fonction z n’est pas atteint,
 On applique les mêmes règles de changement de base et de pivotage :

14
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.2. Deuxième itération
 Le seul coefficient positif qui reste dans la dernière ligne est 300, donc
la variable entrante dans la base est x1. La colonne de x1 devient la
colonne pivot.
 On divise la colonne des seconds membres (B) par la colonne pivot, le
plus faible rapport correspond à la ligne x5.
 La variable x5 sort de la base. Le nombre 3 devient le nouveau pivot,

15
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.2. Deuxième itération
 Le pivotage nous permet de trouver la nouvelle solution de base de
cette deuxième itération :
 Transformation de la ligne et la colonne pivot :
 On divise la ligne pivot par 3, on annule tous les éléments de la colonne
pivot sauf le pivot qui est remplacé par 1.

16
Chapitre II : Méthodes de résolution d'un
programme linéaire
3. La méthode des tableaux :
3.2. Deuxième itération
 Transformation des autres cases du tableau :
 On applique la règle du rectangle pour transformer le reste des
coefficients.

 D’après le tableau, la troisième solution de base réalisable : x1=2, x2=6,


x3=2, x4=0, x5=0, La valeur de la fonction objectif z : Z= 3600,
 Il n’y a plus de coefficients positifs sur la dernière ligne, cette solution
est optimale. Ainsi : (x∗1 , x∗2 ) = (2, 6) et z∗ = 3600
17
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


 La dualité est l'opération qui consiste à associer à tout programme
linaire appelé programme primal un autre programme linéaire dit
programme dual défini à partir des données du programme primal.
 La dualité présente un double intérêt :
 Le programme dual a une signification économique importante : La
dualité permet de montrer qu'un problème d'allocation optimale des
ressources est aussi une problème de tarification optimale des
ressources.
 Les propriétés qui lient le programme primal au programme dual
permettent de résoudre des problèmes de minimisation en termes de
maximisation qui sont plus facile et adaptés à l'utilisation d’algorithmes.

18
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.1. Programme primal et programme dual :
 Les propriétés qui lient le programme primal au programme dual
permettent de résoudre des problèmes de minimisation en termes de
maximisation qui sont plus facile et adaptés à l'utilisation d’algorithmes.

min : W  24y1  6y 2  2y 3  y 4

S.C. :

 6y1  y 2  y4  5
 4y1  2 y 2  y 3  y 4  4


 y1 , y2 , y3 , y4  0

19
L’entreprise ATLAS fabrique quatre produits P1, P2, P3 et P4 à partir de trois matières premières
M1, M2 et M3.
Les quantités de matières premières nécessaires à la production de chaque unité des quatre
produits, les quantités de ressources disponibles en stock ainsi que les profits que l’entreprise
peut réaliser pour chacun de ces produits sont donnés dans le tableau ci-dessous :
P1 P2 P3 P4 Quantités
disponibles
M1 2 4 5 7 42
M2 1 1 2 2 17
M3 1 2 3 3 24
Marge unitaire 7 9 18 17

1. Formuler le programme linéaire qui permet de déterminer les quantités des produits à
fabriquer pour maximiser le profit de l’entreprise ATLAS ?
L’entreprise RAJA est une entreprise qui utilise les mêmes matières premières M1, M2 et M3 pour
fabriquer des produits concurrents à ceux de l’entreprise ATLAS.
L’entreprise RAJA se propose de racheter à l’entreprise ATLAS les matières premières qu’elle a
acquises.
Soient : u1, u2 et u3 respectivement les prix unitaires auxquels l’entreprise RAJA va acheter les
matières premières M1, M2 et M3 à l’entreprise ATLAS.
2. Ecrire le programme linéaire qui permet de déterminer les prix unitaires auxquels
l’entreprise RAJA doit acheter les matières premières M1, M2 et M3 à l’entreprise ATLAS
pour minimiser ses coûts ?
3. Conclure sur la relation entre les deux programmes linéaires ?
20
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.1. Programme primal et programme dual :
 On va supposer que au lieu que l’entreprise ATLAS réalise son
programme de production, elle va décider de vendre les différentes
ressources dont elle dispose à l’entreprise RAJA,
 Si on se place du côté de l'acheteur des ressources, on va donner un
programme qui permet de déterminer les prix auxquels cet acheteur
doit acheter les différentes ressources pour diminuer son coût total
d'achat et tenant compte des contraintes,
 Soient u1 dh, u2 dh et u3 dh les prix unitaires que RAJA proposera à
ATLAS pour s’approprier chaque unité des ressources M1, M2 et M3
respectivement.
 RAJA essaye de débourser le moins possible pour l’achat de la totalité
des trois ressources de l’entreprise ATLAS, Elle cherche à minimiser le
coût total d’achat des trois ressources : w = 42u1 + 17u2 + 24u3
21
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.1. Programme primal et programme dual :
 Quand ATLAS vend une unité du Produit 1, elle réalise une marge de 7
dh. Mais pour produire et vendre une unité du Produit 1, il lui faut
consacrer à sa production 2 unités de la ressource M1, 1 unité de la
ressource M2 et 1 unité de la ressource M3.
 RAJA estime que ATLAS n’acceptera pas de céder ce paquet de
ressources pour moins de 7 dh. RAJA devra donc fixer les prix offerts
pour les ressources d’ATLAS de façon à ce que
 2 u1 + 1 u2 + 1 u3 > 7 pour (Produit 1)

22
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.1. Programme primal et programme dual :
 Le même raisonnement sera appliqué au produits P2 P3 et P4.
 4 u1 + 1 u2 + 2 u3 > 9 pour (Produit 2)
 5 u1 + 2 u2 + 3 u3 > 18 pour (Produit 3)
 7 u1 + 2 u2 + 3 u3 > 17 pour (Produit 4)
 Avec : u1, u2, u3 > 0.
 Finalement, pour déterminer les prix unitaires minimaux qu’elle
proposera à ATLAS, RAJA devrait résoudre le programme linéaire dual
suivant :
 Min w = 42u1 + 17u2 + 24u3
 S/C 2u1 + u2 + u3 > 7
 4u1 + u2 + 2u3 > 9
 5u1 + 2u2 + 3u3 > 18
 7u1 + 2u2 + 3u3 > 17
 u1 , u2 , u 3 > 0
23
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.1. Programme primal et programme dual :
 Le sens de l'optimisation est inversé : La maximisation dans le primal
devient une minimisation dans le dual et inversement.
 Les signes sont inverses dans les inégalités correspondant aux
contraintes,
 Les coefficients de la fonction économique du primal deviennent les
seconds membres des contraintes du dual,
 Les seconds membres des contraintes du primal deviennent les
coefficients de la fonction économique du dual.

24
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.1. Programme primal et programme dual :
 Programme primal dans sa forme canonique ( contraintes : ≤ )
 Soit le programme de maximisation suivant :
max : Z T X
S.C. : AX  B
X  0

 n variables, m contraintes, m < n.


 Programme dual
 Le programme dual est le suivant :
min : B T Y
S.C. : A T Y  Z
Y  0
 m variables, n contraintes, m < n et contraintes de non-négativité.
25
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.1. Programme primal et programme dual :
 Programme primal dans sa forme standard ( contraintes : = )
max : Z T X
S.C. : AX  B
X  0

 n variables, m contraintes, m < n.


 Programme dual
min : B T Y
S.C. : A T Y  Z

 m variables, n contraintes, m < n , Pas de contraintes de non-négativité.


26
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.2. Propriétés et règles de construction du dual :
 Le programme dual du programme dual est le programme primal.
 Règles de construction du dual :
Primal Dual
Programme max Programme min
Nombre de contraintes Nombre de variables
Inéquation de type : ≤ y ≥0
= non restreinte (pas de contrainte
de non-négativité pour y )
Nombre de variables Nombre de contraintes
x ≥0 Inéquation de type : ≤
non restreinte (pas de contrainte =
de non-négativité pour x )
27
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.2. Forme canonique du programme primal et du dual :
 Le programme primal
max : Z  5x1  12x 2  4x 3

S.C. :
 x1  2x 2  x 3  10 (y1 ) (Inéquation de type , donc : Contrainte de non - négativité pour y1  0)

 2x1 - x 2  3x 3  8 (y 2 ) (Equation, donc : Pas de contrainte de non négativité pour y 2 )
 x1  0

 x2  0

 x3  0

 Ce programme de production cherche à trouver les quantités que le


producteur doit produire pour maximiser son profit tenant compte de
contraintes économiques de ressources.

28
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.2. Forme canonique du programme primal et du dual :
 Programme dual
 Si on se place du côté de l'acheteur des ressources, on va donner un
programme qui permet de déterminer les prix auxquels cet acheteur
doit acheter les différentes ressources pour diminuer son coût total
d'achat et tenant compte des contraintes.
 Ce programme est le programme dual du programme initial :
min : W  10y1  8y 2

S.C. :

 y1  2y 2  5 (x1 )

 2y1 - y 2  12 (x 2 )
 y1  3y 2  4 (x 3 )


 y1  0

29
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.2. Forme standard du programme primal et du dual :
 Programme primal
max : Z  x1  x 2

S.C. :

 2x1  x 2  5 (y1 ) (Equation de type  donc : pas de contrainte de non - négativité pour y1 )

 3x1 - x 2  6 (y 2 ) (Equation de type  donc : pas de contrainte de non - négativité pour y 2 )
 x1  0


 x2  0
 Programme dual
min : W  5y1  6y 2

S.C. :

 2y1  3y 2  1 (x1 )

 y1 - y 2  1 (x 2 )

30
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.3. Relations primal/dual :
 Résoudre le programme suivant :

min : W  24y1  6y 2  2y 3  y 4

S.C. :

 6y1  y 2  y4  5
 4y1  2 y 2  y 3  y 4  4


 y1 , y2 , y3 , y4  0

31
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.3. Relations primal/dual :
 Primal :
min : W  24y1  6y 2  2y 3  y 4

S.C. :

 6y1  y 2  y4  5
 4y1  2 y 2  y 3  y 4  4


 y1 , y2 , y3 , y4  0

 Dual : max : Z  5x1  4x 2



S.C. :
 6x1  4x 2  24

 x1  2x 2  6
 x2  2

 - x1  x 2  1

 x1 , x2  0
32
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.3. Relations primal/dual :
 Solution du dual : x1  3 x 2  1,5 Z  21
 Solution du primal :
y1  0,75 y 2  0,5 y 3  0 y4  0 W  21

 Le profit maximal est atteint si les ressources ont été exploitées


complètement.
 Le profit augmente de 0,75 par augmentation d’une tonne de M1 et de
0,5 par tonne de M2.
 Les "ressources" 3 et 4 sont abondantes, augmenter ces ressources
n’apporte aucun profit supplémentaire.

33
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.3. Relations primal/dual :
 Résoudre le programme suivant :
max : Z  5x1  12x 2  4 x 3

S.C. :

 x1  2x 2  x 3  10
 2x1  x 2  3x 3  8


 x1 , x2, x3  0

34
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.3. Relations primal/dual :

 Primal (P) :
max : Z  5x1  12x 2  4 x 3

S.C. :

 x1  2x 2  x 3  10 (y1 ) (Inéquation de type  donc y1  0 )
 2x1  x 2  3x 3  8 (y 2 ) (Equation  donc pas de contrainte de non - négativité pour y 2 )


 x1 , x2, x3  0

 Dual (D) : min : W  10y 1  8y 2



S.C. :

 y1  2y 2  5 (x1 )

 2y1  y 2  12 (x 2 )
 y1  3y 2  4 (x 3 )


 y1 0
35
Chapitre III : La dualité en programmation linéaire

3. La dualité en programmation linéaire :


3.3. Relations primal/dual :
 Solution optimale du primal :

26 12 274
x1  x2  x3  0 Z
5 5 5

 Solution optimale du dual :


29 2 274
y1  y2   W
5 5 5
 Les ressources M1 et M2 peuvent être vendues respectivement aux
prix de 29/5 et 2/5 pour maximiser le profit du vendeur et minimiser le
coût d'achat de l'acheteur.

36
Chapitre IV : Les algorithmes de résolution
des programmes linéaires
4. Les algorithmes de résolution des programmes linéaires :
4.1. Le Solveur d'Excel :
 Le Solveur d'Excel est un complément Microsoft Office Excel.
 Le Solveur d'Excel est un programme complémentaire qui ajoute des
commandes personnalisées ou des fonctions personnalisées à
Microsoft Office.
 L'installation de cette macro passe par les étapes suivantes :
1- Cliquez sur le Bouton Microsoft Office , puis sur Options Excel.
2- Cliquez sur Compléments puis, dans la zone Gérer, sélectionnez
Compléments Excel.
3- Cliquez sur Ok.

37
Chapitre IV : Les algorithmes de résolution
des programmes linéaires
4. Les algorithmes de résolution des programmes linéaires :
4.1. Le Solveur d'Excel :
 L'installation de cette macro passe par les étapes suivantes :
4- Dans la zone Macros complémentaires disponibles, activez la
case à cocher Complément Solver, puis cliquez sur OK.
5- Si le Complément Solver ne figure pas dans la zone Macros
complémentaires disponibles, cliquez sur Parcourir pour le localiser.
6- Si vous recevez un message vous indiquant qu'il n'est pas installé
sur votre ordinateur, cliquez sur Oui pour l'installer.
7- Une fois le complément Solver chargé, la commande Analyse des
données apparaît dans le groupe Analyse de l'onglet Données.

38
Chapitre IV : Les algorithmes de résolution
des programmes linéaires
4. Les algorithmes de résolution des programmes linéaires :
4.1. Le Solveur d'Excel :
 Les différentes équations du système d’optimisation sont introduites
dans l’outil d’optimisation Solveur d’Excel. Il y a trois principales parties
à fournir au solveur d’Excel :
 Les variables de décision : X1 et X2
 Les contraintes : Elles sont formulées par toutes les inéquations :
C1 : 1X1 + 0X2+0X3 68 Resource 1
C2 : 0X1 + 1X2+0X3 291 Resource 2,
C3 : 0X1 + 0X2+1X3 4000 Resource3,
X1  0 , X2  0 , X3  0 les variables de décision sont des entiers positifs.
 La cellule à maximiser : La fonction économique à maximiser ou )à
minimiser.

39
Chapitre IV : Les algorithmes de résolution
des programmes linéaires
3. Les algorithmes de résolution des programmes linéaires :
3.1. Le Solveur d'Excel :
 Le Solveur d'Excel est un complément Microsoft Office Excel.
 Le Solveur d'Excel est un programme complémentaire qui ajoute des
commandes personnalisées ou des fonctions personnalisées à
Microsoft Office.
 L'installation de cette macro passe par les étapes suivantes :
1- Cliquez sur le Bouton Microsoft Office , puis sur Options Excel.
2- Cliquez sur Compléments puis, dans la zone Gérer, sélectionnez
Compléments Excel.
3- Cliquez sur Ok.

40
Chapitre IV : Les algorithmes de résolution
des programmes linéaires
3. Les algorithmes de résolution des programmes linéaires :
3.1. Le Solveur d'Excel :
 L'installation de cette macro passe par les étapes suivantes :
4- Dans la zone Macros complémentaires disponibles, activez la
case à cocher Complément Solver, puis cliquez sur OK.
5- Si le Complément Solver ne figure pas dans la zone Macros
complémentaires disponibles, cliquez sur Parcourir pour le localiser.
6- Si vous recevez un message vous indiquant qu'il n'est pas installé
sur votre ordinateur, cliquez sur Oui pour l'installer.
7- Une fois le complément Solver chargé, la commande Analyse des
données apparaît dans le groupe Analyse de l'onglet Données.

41
Chapitre IV : Les algorithmes de résolution
des programmes linéaires
3. Les algorithmes de résolution des programmes linéaires :
3.1. Le Solveur d'Excel :
 Les différentes équations du système d’optimisation sont introduites
dans l’outil d’optimisation Solveur d’Excel. Il y a trois principales parties
à fournir au solveur d’Excel :
 Les variables de décision : X1 et X2
 Les contraintes : Elles sont formulées par toutes les inéquations :
C1 : 1X1 + 0X2+0X3 68 Resource 1
C2 : 0X1 + 1X2+0X3 291 Resource 2,
C3 : 0X1 + 0X2+1X3 4000 Resource3,
X1  0 , X2  0 , X3  0 les variables de décision sont des entiers positifs.
 La cellule à maximiser : La fonction économique à maximiser ou )à
minimiser.

42

Vous aimerez peut-être aussi