Vous êtes sur la page 1sur 40

La Recherche

Opérationnelle
Soumaya BEN AICHA
soumaya.benaicha@enit.utm.tn

1
Partie I

PROGRAMMATION LINEAIRE

S. BEN AICHA octobre 22 2


Révision :
Méthode Simplex

S . BEN AICHA octobre 22 3


I-Introduction
 On va étudier dans ce qui suit la sensibilité de l'optimum en
programmation linéaire aux variations des données du problème.

 Souvent, les coefficients de la fonction objectif, le second membre ou


les coefficients technologiques aij subissent des changements
(fluctuations des prix, disponibilités des ressources, ...).

 Alors on est intéressé par la stabilité de l'optimum par rapport à ces


paramètres, afin de savoir dans quels intervalles la solution optimale, la
base optimale ou la valeur optimale de la fonction objectif ne changent
pas.

S . BEN AICHA octobre 22 4


I-1-Forme Standard

Pour rappel : la forme standard d’un PL


Max ctx
Sc Ax = b
x0

Où c  n, x  n , b  m, b  0
A une matrice réelle (m,n) et m  n

S . BEN AICHA octobre 22 5


I-1-Forme Standard

En général, tout PL peut être mis sous la forme standard


suivante :
max z = c1x1 + c2x2 + …+ cn xn
s.c. a11 x1 + a12 x2 + … + a1n xn = b1
a21 x1 + a22 x2 + … + a2n xn = b2

am1 x1 + am2 x2 + … + amn xn = bm


xi  0, (i=1, 2, …, n)
avec bi  0  i=1, …m.

S . BEN AICHA octobre 22 6


I-1-Forme Standard
 x1   b1 
   
 x2   b2 
On définit A = (aij), x =  , b=   Ax = b
 
   
 xn   bm 

 c1 
 
 c2 
c=  (on supposera que m  n).

 
 cn 

S . BEN AICHA octobre 22 7


I-2- Solution de base
réalisable
 Etant donnée x  n
 Solution : On appelle solution tout point
x qui satisfait
Ax = b (pas nécessairement x  0)

 Solution réalisable : Une solution


satisfaisant x  0 est dite solution
réalisable.
S . BEN AICHA octobre 22 8
I-2- Solution de base
réalisable
 Soit B une matrice carrée régulière d’ordre m
extraite de la matrice A
⚫B est formée de colonnes linéairement
indépendantes
 B est dite Matrice de Base

 Notons H La matrice formée par les n – m


colonnes de A et n’appartenant pas à B
 H est dite Matrice Hors Base

S . BEN AICHA octobre 22 9


I-2- Solution de base
réalisable
 Tout vecteur x n peut être partitionné en
xB correspondant aux colonnes de B et xH
correspondant aux colonnes de H.

 Puisque toute solution vérifie Ax = b alors


on peut écrire :

B xB + H xH= b.

S . BEN AICHA octobre 22 10


I-3-Propriétés des solutions
de base
 Pour une Solution de Base Réalisable
⚫ Le nombre de variables de base = Nombre
de contraintes
⚫ Nombre de variables Hors Base = Nombre
total de variables – Nombre de contraintes

S . BEN AICHA octobre 22 11


I-3-Propriétés des solutions
de base
 La solution définie par xH = 0 et xB = B-1b est appelée
la solution de base associée à B.

 Si B-1b  0, alors x est appelé Solution de Base


Réalisable (SBR). Les composantes de xB et celles
de xH sont respectivement appelées les variables de
base et les variables hors-base.

 Remarque : Si x est une SBR, alors au plus m


variables sont différentes de zéro.

S . BEN AICHA octobre 22 12


I-3-Propriétés des solutions
de base
Ex: Forme standard :
max z = 2x1 + 3 x2 max z = 2x1 + 3 x2
s.c. x1 + 2x2  6 s.c. x1 + 2x2 + x3 =6
2x1 + x2  8 2x1 + x2 + x4 = 8
x1, x2 0 x1, x2, x3, x4  0

m=2 et n=4

 O = (0, 0) (x1, x2, x3, x4) = (0, 0, 6, 8) : SBR


 A = (0, 3) (x1, x2, x3, x4) = (0, 3, 0, 5) : SBR
 B= (1, 0) (x1, x2, x3, x4) = (1, 0, 5, 6) : 3 var non nulles Solution réalisable, non SBR.
 C= (6, 0) (x1, x2, x3, x4) = (6, 0, 0, -4) : une var <0 Solution non réalisable.

S . BEN AICHA octobre 22 13


I-3-Propriétés des solutions
de base
 Deux SBR sont adjacentes ssi elles
correspondent à deux points extrêmes
adjacents.
⚫ Deux SBR sont adjacentes si « Tout sauf
une » de ses variables Hors Base sont
identiques ce qui implique que « Tout sauf
une » de ses variables de Base sont
identiques. Toutefois ces dernières peuvent
avoir des valeurs numériques différentes

S . BEN AICHA octobre 22 14


I-3-Propriétés des solutions
de base
SBR SBR adjacente

Xi : une variable Xi : une variable de Base


Hors Base
Xj : une variable Xj : une variable Hors
de Base Base

 Exemple : 2 SBR adjacentes :

(0,0,4,12,18) (0,6,4,0,6)

S . BEN AICHA octobre 22 15


I-3-Propriétés des solutions
de base
Théorème 1
 L’ensemble des points extrêmes d’un polyèdre convexe {x  n : Ax
= b, x  0} correspond à l’ensemble des solutions de base
réalisables.

Interprétation
 Ce théorème signifie qu’à tout point extrême correspond une SBR
et inversement, à toute SBR correspond un point extrême.
 Le théorème 1 joue un rôle important en programmation linéaire : il
permet de relier la notion de solution réalisable de base avec la
notion de point extrême d’un polyèdre.

S . BEN AICHA octobre 22 16


Max Z = 3x1 + 5 x2
x2
Exemple sc x1 4
X1=4 2 x2  12
3x1 + 2 x2  18
x1 , x2  0

(0,6) (2,6)
X2=6

(4,3)

3X1+2X2 = 18
x1
(0,0) (4,0)
S . BEN AICHA octobre 22 17
I-4-Conditions d’optimalité
d’une SBR
 On considère une base réalisable B.
 On appelle coûts réduits (ou aussi coûts marginaux)
associés à cette base, les composantes du vecteur
ligne  = (c - cBB-1A)  n.
 On remarque que  peut être partitionné en B et H
avec :
B = cB - cBB-1B= 0 et H = cH - cBB-1H

 Le théorème 2 suivant fournit une condition suffisante


d'optimalité d'une SBR. Cette condition devient aussi
nécessaire si la SBR est non dégénérée.
S . BEN AICHA octobre 22 18
I-4-Conditions d’optimalité
d’une SBR

Théorème 2
Soit B une base réalisable de P. Rappelons le
vecteur des coûts réduits associées aux
colonnes hors base H : H = cH - cBB-1H. On a
alors :
H 0  B est optimale.

S . BEN AICHA octobre 22 19


I-4-Conditions d’optimalité
d’une SBR
Preuve Théorème 2 :
 Soit x une solution réalisable quelconque de P. Etant donné une base réalisable B, on
sait que tout vecteur x  n peut être partitionné en xB et xH. Ainsi, pour tout x solution
de P, la fonction objectif z(x) peut s'écrire comme suit, en fonction de la base B :
z (x) = cx
= cx - cBB-1b + cBB-1b
= cx - cBB-1Ax + cBB-1b (car Ax = b)
= (c - cBB-1A)x + cBB-1b
= .x + cBB-1b
= H.xH + cBB-1b (car B = 0)

Puisque H  0 et xH  0 alors cx  cBB-1b.

 Une borne supérieure de la solution optimale est donc cBB-1b, qui est la valeur de la
fonction objectif associée à B. La solution de base associée à B est donc optimale.

S . BEN AICHA octobre 22 20


I-4-Conditions d’optimalité
d’une SBR
Interprétation des coûts réduits:
 Etant donné une base réalisable B quelconque, on sait que tout vecteur x  n peut être
partitionné en xB et xH et sa valeur en fonction de la base B s'écrit comme suit :
 z (x) = cx = .x + cBB-1b

 Ainsi, avec

 Autrement dit, le vecteur des couts réduits apparait comme étant le gradient de la
fonction objectif dans l’espace des variables hors base.

 On voit bien que si , alors toute augmentation de la valeur d'une variable hors
base (actuellement nulle) engendre une diminution de la fonction objective.

 Le corollaire suivant indique comment la fonction objectif peut être améliorée (ici,
augmentée) si cette condition n'est pas vérifiée.

S . BEN AICHA octobre 22 21


I-5-Tableau canonique
 Soit B une Base réalisable extraite de la matrice
A
 Fonction Objectif  Z = CBxB + CHxH
 CBxB + CHxH - Z = 0
 Contraintes  BxB + HxH = b

1er Membre 2nd Membre


xB -Z xH
B 0 H b
CB 1 CH 0

S . BEN AICHA octobre 22 22


I-5-Tableau canonique

 Le tableau canonique relatif à la base B est


obtenu en transformant la matrice sous les
variables xB et –Z en une matrice identité
d’ordre (m+1)
➢ Il s’agit de multiplier à gauche de chaque
colonne du tableau par
−1
−1 B 0  B −1 0
T =  = −1 
C B 1 − C B B 1

S . BEN AICHA octobre 22 23


I-5-Tableau Canonique
 Le tableau canonique relatif à la Base B est :
1er Membre 2nd Membre
xB -Z xH
Im 0 B-1H B-1b
0 1 -CBB-1H + CH -CBB-1b

 La forme canonique est intéressante car elle


permet de lire directement la solution de base
relative à la base B -1
xB = B b
xH = 0
S . BEN AICHA
Z = CBB-1b octobre
0 22 24
I-6-Algorithme simplexe
(résumé)
1. Mettre le PL sous la forme standard
2. Trouver une SBR réalisable
3. Écrire le PL sous la forme canonique relative à la SBR
considérée
4. Faire les itérations suivantes
4.1 Tester l’optimalité : si le critère d’arrêt est satisfait, donner le
résultat final, sinon aller à l’étape suivante.
4.2 Déterminer la variable entrante (colonne pivot) selon le
premier critère de DANTZIG.
4.3 Déterminer la variable sortante (ligne pivot) selon le
deuxième critère de DANTZIG
4.4 Calculer le nouveau tableau canonique en effectuant les
opérations nécessaires.
4.5 Retourner à l’étape 4.1
S . BEN AICHA octobre 22 25
I-7-Exemple d’application

Max Z = 3x1 + 5 x2
sc x1 4
2 x2  12
3x1 + 2 x2  18
x1 , x2  0

S . BEN AICHA octobre 22 26


I-7-Exemple d’application
Forme standard

Max Z = 3x1 + 5 x2
sc x1 + s1 =4
2 x2 + s2 = 12
3x1 + 2 x2 + s 3 = 18
x1 , x2  0
s1 , s2 , s3  0 var iables d ' écart

S . BEN AICHA octobre 22 27


I-7-Exemple d’application

4
 
Avec ct= (3 5 0 0 0) b = 12 
18 
 
1 0 1 0 0
 
A = 0 2 0 1 0
3 2 0 0 1
 

S . BEN AICHA octobre 22 28


I-7-Exemple d’application
 Une solution de base réalisable initiale est : s1 =4, s2 =12, s3 =18,

 Cette solution correspond à une matrice de base B

1 0 0
 
B =  0 1 0
0 0 1
 
 Avec xB = (s1, s2, s3) et cB = (0, 0, 0)

 Ainsi xH = (x1, x2) = (0,0) et cH = (3, 5) et la matrice H est la suivante :

1 0
 
H = 0 2
 3 2
  29
S . BEN AICHA octobre 22
I-7-Exemple d’application
 Considérons le tableau canonique en introduisant quelques simplifications

1er Membre 2nd Membre


xB -Z xH
Im 0 B-1H B-1b
0 1 -CBB-1H + CH -CBB-1b

S . BEN AICHA octobre 22 30


I-7-Exemple d’application
 Considérons le tableau canonique en introduisant quelques simplifications

1er Membre 2nd Membre


xB xH
Im B-1H B-1b
0 -CBB-1H + CH -CBB-1b

S . BEN AICHA octobre 22 31


I-7-Exemple d’application
 Considérons le tableau canonique en introduisant quelques simplifications

1er Membre 2nd Membre


xH xB
B-1H Im B-1b xB
-CBB-1H + CH 0 -CBB-1b

∆H ∆B = 0 -Z

S . BEN AICHA octobre 22 32


I-7-Exemple d’application
 Dressons le tableau canonique correspondant à cette SBR,
xe =x2
Colonne pivot

#1 x1 x2 s1 s2 s3 B-1b
s1 1 0 1 0 0 4
s2 0 2 0 1 0 12
s3 3 2 0 0 1 18
∆j 3 5 0 0 0 0

  ∆j > 0, la solution actuelle n’est donc pas optimale. On introduit une variable
entrante xe celle qui a le ∆j >0 le plus grand pour améliorer notre fonction objectif

S . BEN AICHA octobre 22 33


I-7-Exemple d’application
xe =x2
Colonne pivot

#1 x1 x2 s1 s2 s3 B-1b Ratio
s1 1 0 1 0 0 4 -
xs =s2 s2 0 2 0 1 0 12 12/2 = 6
Ligne pivot s3 3 2 0 0 1 18 18/2 = 9
∆j 3 5 0 0 0 0

 Calcul du ratio i/aie pour les aie>0 (Les i sont les coefficients de la colonne B-1b)

 On sélectionne la ligne ayant le ratio le plus faible pour rester dans le domaine
réalisable. Cette ligne correspondra à la variable sortante xs

S . BEN AICHA octobre 22 34


I-7-Exemple d’application
xe =x2
Pivot
Colonne pivot

#1 x1 x2 s1 s2 s3 B-1b Ratio
s1 1 0 1 0 0 4 - L’1=L1
xs =s2 s2 0 2 0 1 0 12 12/2 = 6 L’2=L2/2
Ligne pivot s3 3 2 0 0 1 18 18/2 = 9 L’3=L3-L2
∆j 3 5 0 0 0 0 L’4=L4-5/2L2

 Remplacer la variable sortante par la variable entrante et faire des opérations en


utilisant la ligne pivot de façon à remplacer le pivot par 1 et à annuler les autres
coefficients de la colonne pivot.

S . BEN AICHA octobre 22 35


I-7-Exemple d’application
#2 x1 x2 s1 s2 s3 B-1b
s1 1 0 1 0 0 4 Valeurs prises
xB x2 0 1 0 1/2 0 6 par les variables
de base xB
s3 3 0 0 -1 1 6
∆j 3 0 0 -5/2 0 -30

 On obtient ainsi au tableau correspondant à la nouvelle SBR adjacente à la SBR


initiale. Cette nouvelle solution est la suivante :
 xB = (s1, x2, s3) = (4, 6, 6) et cB = (0, 5, 0) avec comme matrice de base B :

1 0 0
 
B =  0 2 0
0 2 1
  S . BEN AICHA octobre 22 36
I-7-Exemple d’application
 Continuons la résolution à partir du tableau #2 relatif à la nouvelle SBR
xe =x1
Colonne pivot

#2 x1 x2 s1 s2 s3 B-1b
s1 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
s3 3 0 0 -1 1 6
∆j 3 0 0 -5/2 0 -30

  ∆j > 0, la solution actuelle n’est donc pas optimale. On introduit une variable
entrante xe celle qui a le ∆j >0 le plus grand pour améliorer notre fonction objectif

S . BEN AICHA octobre 22 37


I-7-Exemple d’application
xe =x1
Colonne pivot

#2 x1 x2 s1 s2 s3 B-1b Ratio
s1 1 0 1 0 0 4 4/1=4
x2 0 1 0 1/2 0 6 -
xs =s3 s3 3 0 0 -1 1 6 6/3 = 2
∆j 3 0 0 -5/2 0 -30
Ligne pivot

 Calcul du ratio i/aie pour les aie>0 (Les i sont les coefficients de la colonne B-1b)

 On sélectionne la ligne ayant le ratio le plus faible pour rester dans le domaine
réalisable. Cette ligne correspondra à la variable sortante xs

S . BEN AICHA octobre 22 38


I-7-Exemple d’application
xe =x1
Pivot Colonne pivot

#2 x1 x2 s1 s2 s3 B-1b Ratio
s1 1 0 1 0 0 4 4/1=4 L’1=L1-1/3L3
x2 0 1 0 1/2 0 6 - L’2=L2
xs =s3 s3 3 0 0 -1 1 6 6/3 = 2 L’3=L3/3
Ligne pivot
∆j 3 0 0 -5/2 0 -30 L’4=L4-L3

 Remplacer la variable sortante par la variable entrante et faire des opérations en


utilisant la ligne pivot de façon à remplacer le pivot par 1 et à annuler les autres
coefficients de la colonne pivot.

S . BEN AICHA octobre 22 39


I-7-Exemple d’application
#3 x1 x2 s1 s2 s3 B-1b
s1 0 0 1 1/3 -1/3 2 Valeurs prises
xB x2 0 1 0 1/2 0 6 par les variables
de base xB
x1 1 0 0 -1/3 1/3 2
∆j 0 0 0 -3/2 -1 -36

 On obtient ainsi au tableau correspondant à la nouvelle SBR adjacente à la SBR


précédente.  j ∆j ≤ 0, la solution actuelle est donc optimale. Elle est donnée par :
 xB = (s1, x2, x1) = (2, 6, 2) et cB = (0, 5, 3) avec comme matrice de base B :

1 0 1
 
B =  0 2 0
 0 2 3
  S . BEN AICHA octobre 22 40

Vous aimerez peut-être aussi