Vous êtes sur la page 1sur 9

Recherche opérationnelle Chapitre 3 Programmation linéaire

0.0.1 Méthode des tableaux


Maximisation par la méthode des tableaux du simplex Soient x = (xB , xN ),
C = (CB , CN ), xB represente les variables de base et xN represente les vari-
ables hors base.
A = (AB , AN ) avec AB une matrice carrée de taille mxm, inversible, cor-
respondant aux variables de base et AN une matrice de taille mx(n − m),
correspondant aux variables hors-base. Le P.L est :
Max
Z = (CB , CN ) ∗ (xB , xN )T = CB xB + CN xN
sc
Ax = (AB , AN ) ∗ (xB , xN )T = AB xB + AN xN = b
avec
xB = A−1 −1
B b − AB AN xN

En annulant xN , la solution de base est alors xB = A−1


B b. On obtient une
solution de base réalisable de départ si xB ≥ 0 (la matrice AB est toujours
constituée à partir des colonnes de la matrice A).
Maximisation par la méthode des tableaux du simplex

Z = CB (A−1 −1
B b − AB N xN ) + CN xN

Z = CB A−1 −1
B b + (CN − AB AN )xN

X
C N xN = cj x j
j∈N
X
A−1
B AN = A−1
B aj
j∈N

Notons
Z0 = CB A−1
B b

Maximisation par la méthode des tableaux du simplex


X X
Z = Z0 + cj x j − CB A−1
B aj x j
j∈N j∈N

Pr. Khalil IBRAHIMI 1 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

X
Z = Z0 + (cj − CB A−1
B aj )xj
j∈N
X
Z = Z0 + (cj − zj )xj
j∈N

zj = CB A−1
B aj et cj sont les coefficients de la fonction objectif des variables
hors base. aj est un vecteur de la variable hors base xj .
Maximisation par la méthode des tableaux du simplex Avec

Table 1: Tableau
−xj

z= z0 ... zj − cj ....

xB = A−1
B b ... yj ....

xB , xN ≥ 0

zj = CB A−1
B aj

yj = A−1
B aj = (y1j , ..., ymj )
T

Maximisation par la méthode des tableaux du simplex


On appelle élément pivot le coefficient situé à l’intersection de la colonne
pivot (j) et de la ligne pivot (r) (pivot = yrj ).
Transformation du tableau : Régles I et II

1. Régle I: Choix de la colonne j à introduire dans la nouvelle base B


telque zj − cj < 0, (z0 − (zj − cj ) yyr0
rj
≥ 0) (méthode du rectangle).

zj − cj = min{zk − ck |zk − ck < 0}


pour ak ∈ N

2. Régle II: Choix de la colonne à éliminer de la base B pour obtenir une


nouvelle ligne r telque

Pr. Khalil IBRAHIMI 2 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

−xj −xk

z= z0 ... zj −cj ... ... zk − ck


...

xB (1) =y10 ... y1j ... ... y1k ...

... = .... ... .... ... ... .... ...

xB (i) =yi0 ... yij ... ... yik ...

xp = yr0 ... yrj ... ... yrk ...


xB (r) =

xB (m) =ym0 ... ymj ... ... ymk ...

yr0 yi0
= min{ |yij > 0}
yrj yij
pour tout i.
Algorithme (forme condensée des tableaux)

1. Partir d’une solution de base admissible sous forme un tableau


2. Chercher s’il y a une transformation à un tableau en mettant la solution
de base voisine meilleure via les régles précedentes.
3. Respecter les règles I et II
4. Diviser tous les termes de la ligne pivot par la valeur du pivot (p = yrj )
y
( yjk
rj
) ( (r 6= k)).

5. Diviser tous les termes de la colonne pivot à diviser par la valeur du


yij
pivot en inversant le signe (− yrj ) (i 6=) sauf la valeur du pivot.

6. Amener un coefficient 1 au croisement de la colonne pivot et de la ligne


pivot en divisant celle-ci par le coefficient yrj .
7. Appliquer les régles du rectangle (voir l’algorithme) pour tous les tem-
res yij hor de la ligne et de la colonne pivot.

Pr. Khalil IBRAHIMI 3 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

(zj −cj )
8. Aussi la valeur du cofficient de z devient − yrj
de la colonne pivot.

9. si zj −cj ≥ 0 pour toute colonne j, alors la solution actuelle est optimale.


Maximisation par la méthode des tableaux du simplex Appliquer la méthôe

−xr −xk
zj −cj
z= z0 ... − yrj
... zk − ck
... ...
y
1j
xB (1) =y10 ... − yrj ... ... y1k ...

... = .... ... .... ... ... .... ...


y
ij
xB (i) =yi0 ... − yrj ... ... yik ...

xj = yyr0rj
... 1/yrj ... ... yrk
yrj
...
xB (j) =
y
xB (m) =ym0 ... − ymj
rj
... ... ymk ...

des rectangles pour la mise à jour des autres cofficients.


Exemple Trouver le plan optimal par la méthode des tableaux
max
z = 5x1 + 8x2
sc
x1 + x2 ≤ 2
x1 − 2x2 ≤ 0
−x1 + 4x2 ≤ 1
x≥0
Trouver par la méthode des tableaux la solution du problème en min-
imisant la fonction objectif.
min
z = 5x1 + 8x2

Pr. Khalil IBRAHIMI 4 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

−x1 −x2

z= 0 -5 -8

x3 = 2 1 1

x4 = 0 1 -2

x5 = 1 -1 4

Maximisation par la méthode des tableaux du simplex


On a besoin de trois variables d’écarts x3 , x4 , etx5 positives.
Appliquer les régles I et II. Variable entrante est x2 et sortante est x5 car
min(2/1, 1/4) = 1/4
Maximisation par la méthode des tableaux du simplex Itération 1. On

−x1 −x5

z= 2 -7 2

x3 = 7/4 5/4 -1/4

x4 = 1/2 1/2 1/2

x2 = 1/4 -1/4 1/4

a −7 < 0, on peut choisir x1 comme entrante (régle I) et x4 sortante


min((7/4)/(5/4), (1/2) / (1/2)) = 1 (régle II).
Maximisation par la méthode des tableaux du simplex Itération 2. La
solution optimale est (x1 ∗ = 1, x2 ∗ = 1/2) et la valeur optimale est z∗ =
9 = 5 ∗ 1 + 8 ∗ 1/2. car les zj − cj >= 0 pour toutes colonnes du tableau.

0.1 Dualité d’un programme linéaire


Définition Un programme linéaire de maximisation, a un programme linéaire
dual dans lequel l’objectif est de minimiser et dont la valeur optimale égale
à celle du programme origine (primal).

Pr. Khalil IBRAHIMI 5 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

−x4 −x5

z= 9 14 9

x3 = 1/2 -5/2 -3/2

x1 = 1 2 1

x2 = 1/2 1/2 1/2

Primal maximiser n
X
cj x j
j=1

Sous les contraintes de positivités


n
X
aij xj ≤ bi pour i = 1, ..., m
j=1

xj ≥ 0 pour j = 1, ..., n

En générale, pour déterminer le dual de P.L. donné sous forme quelconque,


on commence par le ramener à la forme cnonique ou standard.
Dual minimiser m
X
bi y i
i=1

Sous les contraintes de positivités


m
X
aij yi ≥ cj pour j = 1, ..., n
i=1

yi ≥ 0 pour i = 1, ..., m
Lemme 3: Dualité faible Pour toute solution réalisable x̄ du primale et
toute solution réalisable ȳ du dual, alors
n
X m
X
cj x̄j ≤ bi ȳi
j=1 i=1

Pr. Khalil IBRAHIMI 6 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

Corollaire Pour toute solution réalisable x̄ du primale et toute solution réalisable


ȳ du dual, alors is
Xn Xm
cj x̄j = bi ȳi
j=1 i=1

Alors x̄ et ȳ sont solutions optimales pour les programmes linéaires primal


et dual respectivement.
Solution optimale du dual Supposons que la dernière forme standard du
primal par simplexe est comme suit:
X
z = v0 + c0j xj
j∈N

X
xi = b0i − a0ij xj i ∈ B
j∈N

alors, une solution optimale du duale est

ȳi = − c0n+i si n + i ∈ N, sinon 0




[Primal] Soit le primal d’un PL

M ax Z = 4x1 + 12x2 + 3x3

x1 ≤ 1000
x2 ≤ 500
x3 ≤ 1500
3x1 + 6x2 + 2x3 ≤ 6750
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0

Le primal contient 4 contraintes, donc, on utilise 4 variables yi . [dual] Le


dual du primal est

M in Z 0 = 1000y1 + 500y2 + 15000y3 + 6750y4

y1 + 3y4 ≥ 4

Pr. Khalil IBRAHIMI 7 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

y2 + 6y4 ≥ 12
y3 + 2y4 ≥ 3
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0, y4 ≥ 0

0.1.1 Théorème des écarts complémentaires


Théorème des écarts complémentaires
[Primal]
max z = c.x
s.c
Ax ≤ b,
x≥0

[Dual]
min w = y.b
s.c
yA ≥ c,
y≥0

Théorème/relaxation
Des solutions admissibles x (pour primal) et y (pour dual) sont optimales si
et seulement si X
yi (bi − aij xj ) = 0, i = 1, ..., m
j
X
( aij yi − cj )xj = 0, j = 1, ..., n
i

Exemple

(y1 + 2y2 + 4y3 − 3)x1 = 0


(y1 + 2y2 + y3 − 1)x2 = 0
(3y1 + 5y2 + 2y3 − 2)x3 = 0

Pr. Khalil IBRAHIMI 8 a.u: 2022-2023/uit


Recherche opérationnelle Chapitre 3 Programmation linéaire

y1 (30 − x1 − x2 − 3x3 ) = 0
y2 (24 − 2x1 − 2x2 − 5x3 ) = 0
y3 (36 − 4x1 − x2 − 2x3 ) = 0
Exemple

(y1 + 2y2 + 4y3 − 3)8 = 0


(y1 + 2y2 + y3 − 1)4 = 0
(3y1 + 5y2 + 2y3 − 2)0 = 0

y1 (30 − 8 − 4 − 3 ∗ 0) = 0
y2 (24 − 2 ∗ 8 − 2 ∗ 4 − 5 ∗ 0) = 0
y3 (36 − 4 ∗ 8 − 4 − 2 ∗ 0) = 0
ce qui donne
y1 = 0, y2 = 1/6, y3 = 2/3

0.1.2 Interpretation économique de la dualité


L’objectif est de minimiser le prix à payer pour racheter
Pm toutes les ressources
à condition que le prix unitaire à une activité i=1 aij yi est suppérieur au
profit cj .

0.2 Programme linéaire entier


Dans un programme linéaire dont les variables xi ∈ N , alors le programme
est dit entier.

Pr. Khalil IBRAHIMI 9 a.u: 2022-2023/uit

Vous aimerez peut-être aussi