4. dualité en programmation linéaire
Post on 16-Oct-2021
12 Views
Preview:
TRANSCRIPT
4. Dualité
en
programmation linéaire
Illustration de la notion
• Considérons une entreprise
produisant r produits finis: fk = demande du produit k =1, 2, …, r
utilisant s matières premières: hl = disponibilité de la matière première
l = 1, 2, …, s
• L’entreprise dispose de n procédés de production (activités):
xj = niveau d’utilisation du procédé j = 1, 2, …, n
cj = coût unitaire d’utilisation du procécédé j = 1, 2, …, n
Le procédé j
produit ekj unités de produit k =1, 2, …, r
utilise glj unités de matière l = 1, 2, …, s
pour chaque unité de son utilisation.
Illustration de la notion
• Considérons une entreprise produisant r produits finis:
fk = demande du produit k =1, 2, …, rutilisant s matières premières:
hl = disponibilité de la matière l = 1, 2, …, s
• L’entreprise dispose de n procédés de production (activités):
xj = niveau d’utilisation du procédéj = 1, 2, …, n
cj = coût unitaire d’utilisation du procédéj = 1, 2, …, n
Le procédé j
produit ekj unités de produit k =1, 2, …, rutilise glj unités de matière l = 1, 2, …, s
pour chaque unité de son utilisation.
• Problème de l’entreprise: déterminer le niveau d’utilisation de chaque procédé de production pour satisfaire les demandes en produits sans excéder les disponibilités des matières premières tout en minimisant le coût total de production.
• Modèle
njx
slhxg
rkfxe
xcz
j
n
j
ljlj
k
n
j
jkj
n
j
jj
,...,2,10
)itésdisponibil(,...,2,1
)demandes(,...,2,1àSujet
min
1
1
1
=≥
=≤
=≥
=
∑
∑
∑
=
=
=
Illustration de la notion
• Un entrepreneur propose à l’entreprise d’acheter les quantités de ses matières premières et de lui vendre les quantités de produits pour satisfaire les demandes.
• Il doit énoncer (déterminer) des prix unitaires
vk pour les produits k = 1, 2, … , r
wl pour les matières l = 1, 2, …, s.
vk
wl
njx
slhxg
rkfxe
xcz
j
n
j
ljlj
k
n
j
jkj
n
j
jj
,...,2,10
)itésdisponibil(,...,2,1
)demandes(,...,2,1àSujet
min
1
1
1
=≥
=≤
=≥
=
∑
∑
∑
=
=
=
Illustration de la notion
• L’entrepreneur doit déterminer des prix qui soient intéressants pour l’entreprise.
• Pour vérifier l’intérêt de faire affaire avec l’entrepreneur, l’entreprise doit vérifier que pour chacun de ses procédés de production j, le coût d’acheter les unités de produits fabriquées par une unité d’utilisation du procédé j en tenant compte de ce qu’elle reçoit de l’entrepreneur pour les unités de matières qu’elle évite alors d’utiliser, que ce coût n’excède pas le coût unitaire d’utilisation cj du procédé j
j
s
lllj
r
kkkj
cwgve������
premièresmatièresdesventeladerevenu
1
produitsdesachatd'coût
1∑∑==
−≤
njx
slhxg
rkfxe
xcz
j
n
j
ljlj
k
n
j
jkj
n
j
jj
,...,2,10
)itésdisponibil(,...,2,1
)demandes(,...,2,1àSujet
min
1
1
1
=≥
=≤
=≥
=
∑
∑
∑
=
=
=
vk
wl
Illustration de la notion
• Le problème de l’entrepreneur est de maximiser son profit en s’assurant que ses prix restent intéressants pour l’entreprise
j
r
s
l
llj
c
r
k
kkj cwgve
����������
premièresmatièresdesventeladeevenu
1
produitsdesachatd'oût
1∑∑
==
− ≤
slw
rkv
njcwgve
whvfp
l
k
j
s
l
llj
r
k
kkj
r
k
s
l
llkk
,...,2,10
,...,2,10
,...,2,1àSujet
max
11
1 1
=≥
=≥
=≤−
−=
∑∑
∑ ∑
==
= =
Illustration de la notion
• Problème de l’entreprise: multiplions les contraintes de disponibilités par -1
njx
slhxg
rkfxe
xcz
j
n
j
ljlj
k
n
j
jkj
n
j
jj
,...,2,10
)itésdisponibil(,...,2,1
)demandes(,...,2,1àSujet
min
1
1
1
=≥
=≤
=≥
=
∑
∑
∑
=
=
=
njx
slhxg
rkfxe
xcz
j
n
j
ljlj
k
n
j
jkj
n
j
jj
,...,2,10
)itésdisponibil(,...,2,1
)demandes(,...,2,1àSujet
min
1
1
1
=≥
=−≥−
=≥
=
∑
∑
∑
=
=
=
1− ×
slw
rkv
njcwgve
whvfp
l
k
j
s
l
llj
r
k
kkj
r
k
s
l
llkk
,...,2,10
,...,2,10
,...,2,1àSujet
max
11
1 1
=≥
=≥
=≤−
−=
∑∑
∑ ∑
==
= =
Problème de l’entreprise
Problème de l’entrepreneur
sj
j
rj
j
g
g
e
e
−
•
•
−
•
•
1
1
knkjkk eeee ••21
1 2 lnl l ljg g g g− − • − • −
− G
E
njx
slhxg
rkfxe
xcz
j
n
jljlj
k
n
jjkj
n
jjj
,...,2,10
)itésdisponibil(,...,2,1
)demandes(,...,2,1àSujet
min
1
1
1
=≥
=−≥−
=≥
=
∑
∑
∑
=
=
=
T TE G−
1 1j rj j sjkj lje e e g g g• • − • − •−
r
s
n
n
r s
njx
slhxg
rkfxe
xcz
j
n
j
ljlj
k
n
j
jkj
n
j
jj
,...,2,10
)itésdisponibil(,...,2,1
)demandes(,...,2,1àSujet
min
1
1
1
=≥
=−≥−
=≥
=
∑
∑
∑
=
=
=
slw
rkv
njcwgve
whvfp
l
k
j
s
l
llj
r
k
kkj
r
k
s
l
llkk
,...,2,10
,...,2,10
,...,2,1àSujet
max
11
1 1
=≥
=≥
=≤−
−=
∑∑
∑ ∑
==
= =
Primal
Dual
T T
T T
max
Sujet à
, 0
vp f h
w
vE G
w
v w
xc
= −
− ≤ ≥
⋮
⋮
TminSujet à
0
z c x
Ex
G h
x
w
f ν
=
≥
− −
≥
TminSujet à
0
c x
Ax b
x
≥
≥
T
T
maxSujet à
0
b y
A y c
y
≤
≥
Problème primal et problème dual
Problème de programmation linéaire avec inégalités
Problème de programmation linéaire sous forme standard
TminSujet à
0
c x
Ax b
x
≥
≥
TminSujet à
0
c x
Ax b
x
=
≥
Problème primal Problème dual
Problème primal Problème dual
y x
y x
T
T
maxSujet à
b y
A y c≤
T
T
maxSujet à
0
b y
A y c
y
≤
≥
Tmin
Sujet à
0
c x
Ax b
x
≥
≥
T Tmin 0
Sujet à
0, 0
c x s
Ax Is b
x s
−
− =
≥ ≥
T
T
T
max
Sujet à 0
b y
cAy
I
−
≤
T
Tmax
Sujet à0
b y
A y cIy
≤
− ≤
T
Tmax
Sujet à0
b y
A y cy
≤
≥
Dualité et borne sur la valeur optimale du primal
1
1
T
1
Min
Sujet à
Considérons le problème de programmation linéaire suivant:
Considérons également un vecteur où est un mu
ltiplicateur
a
1, ,
0 1, , .
sso i
,
c
,
n
j j
j
n
ij j i
m
j
j
i
i
z c x
a x b i m
x j n
y
y y y y
=
=
=
≥ =
=
≥
=
∑
∑ …
…
…
é à la contrainte du problème de programmation linéaire.En supposant que alors la combinaison linéaire des contraintes du problème précédent évaluéeen utilisant les
0,mu
1,l
, ,tiplicateurs
ième
iy i
y
m
i
≥ = …
1 1 1
. (5.1
devient
)m n m
i ij j i i
i
i
j i
y a x b y= = =
≥∑ ∑ ∑
T
1
1
1
1
1
1
1
Supposons maintenant que l
Min
Sujet à
es multi
, , où 0
pl
, 1,
icateurs sont tels
1, ,
0 1,
,
. (
,
3.1
,
qu
)
e
.
m n m
i i
n
j j
j
n
ij j i
j
j
i
m i
j j i i
m
ij i j
i
i j i
z c x
a x b i m
x j n
y
y y y y i m
a y c
y a x b y
=
=
=
= = =
=
≥ =
= ≥ =
≤
≥
≥
=
∑
∑
∑ ∑
∑
∑
…
…
…
…
( )
1 1 1
1 1 1 1 1 1
.
Alors puisque
Combinant (3.1) et (3.2)
.
0,
(3
,
.2)
= 3.3
,
,
, ,
,
1
1
n m n
j ij i j j
j i j
n n m m n m
j j j ij i i ij j i i
j j i i j i
j
j
j n
x a y c x
c x x a y y a x
x
x j
y
n
b
= = =
= = = = = =
≤
≥
≥
=
≥
=
∑ ∑ ∑
∑ ∑ ∑ ∑ ∑ ∑
…
…
( )
T
1
1 1 1 1 1
1
1
1
1
,
= 3.
.
Il
Min
Sujet à 1, ,
0
, où 0, 1, , ,
1, ,
s'ensu
1, ,
it qu
3
e
.
n n m m n m
j j j ij i i ij j i i
j j i i j i
n
j j
j
n
ij j i
j
j
i
m i
m
ij i j
i
j
i
i
i
y
y y y y i m
a y
z c x
a x b i m
x j n
c xj n
b
c x
y
x a y y a x b y= = =
=
= = =
=
=
= ≥ =
≥ ≥
=
≥
≥ =
=
=
≤
∑
∑
∑ ∑ ∑ ∑ ∑
∑
∑
… …
…
…
…
*
1
est une borne inférieure sur la valeur de toute solution
du problème de programmation linéaire précédent et par conséquent sur lavaleur optimale de ce dernier.
m
z
=
∑
T
1
1
1
1
*
1
.
est une borne inférieure sur la va
, , où 0, 1
leur optimale .
Ainsi po
Min
Sujet à
, , ,
1
1, ,
, ,
ur retrouv
0 1, , .
j
m i
m
ij i j
i
n
j j
j
n
m
i i
i
ij j i
j
j
i
z c x
a x b i m
x j n
x
z
y
y y y y i m
a y c j n
b y
=
=
=
=
= ≥ =
≤
≥
=
=
≥ =
=
∑
∑
∑
∑
…
…
…
…
…
*
1
1
er la meilleure borne inférieure sur la valeur optimale il suffit de
sur l'ensemble des vecteurs satisfaisant les co
Ma
nt
x
1, ,
0, 1,
raintes
, .
m
i i
im
m
ij i j
i
i
b y
y R
a y c j n
y i m
z
=
=
∈
≤ =
≥ =
∑
∑ …
…
Théorèmes de dualité
• Il est facile de démontrer que nous pouvons passer d’une paire de problèmes primal-dual à l’autre.
• Il est également facile de démontrer que le problème dual du problème dual est le problème primal.
• Nous allons donc démontrer les théorèmes de dualité en se référant à la paire où le problème primal est sous forme standard:
TminSujet à
0
c x
Ax b
x
=
≥
primal Dual
T
T
maxSujet à
b y
A y c≤
Théorèmes de dualité
• Théorème de dualité faible
Si (i.e., x est réalisable pour le problème primal) et si (i.e., y est réalisable pour le problème dual),
Preuve En effet, .
{ }0,: ≥=∈ xbAxxx
{ }T:y y A y c∈ ≤
T Talors b y c x≤
T T T T Tpuisque et que 0b y x A y x c A y c x= ≤ ≤ ≥
Théorèmes de dualité
• Corollaire Si et , et si
, alors x* et y* sont des solutions optimales respectivement pour le problème primal et pour le problème dual.
Preuve Du théorème de dualité faible, il découle que pour toute solution réalisable x du problème primal
Par conséquent x* est solution optimale du problème primal.
Une preuve similaire est utilisée pour démontrer que y* est solution optimale du problème dual.
{ }0,:*≥=∈ xbAxxx { }* T:y y A y c∈ ≤
T * T *b y c x=
T T * T * T * T T * T *et par hypothèse . Donc .c x b y b y c x c x b y c x≥ = ≥ =
Théorèmes de dualité
• Théorème de dualité forte Si un des deux problèmes primal ou dual possède une solution optimale avec valeur finie, alors la même chose est vraie pour l’autre problème, et les valeurs optimales des deux problèmes sont égales. Si un des deux problèmes n’est pas borné, alors le domaine réalisable de l’autre problème est vide.
Preuve La seconde partie de l’énoncé découle directement du théorème de dualité faible. En effet, supposons que le problème primal n’est pas bornée inférieurement; ainsi cTx→ – ∞. Or si le problème dual était réalisable, alors il existerait un et par le théorème de dualité faible, nous aurions que ; i.e., bTy serait une borne inférieure sur la valeur de la fonction économique du primal cTx, une contradiction.
{ }T:y y A y c∈ ≤T T
b y c x≤
Notion de multiplicateurs du simplexe
Dénotons le vecteur défini par
Alors
ou
où dénote la jième colonne de la matrice de contrainte A
mR∈π
T T 1
Bc Bπ
−=
TT T
c c Aπ= −
jT
jj acc •−= π
ja•
π est le vecteur des multiplicateursdu simplexe associé à la base B.
TT T 1
Bc c c B A
−= −
Théorèmes de dualité
Pour démontrer la première partie, supposons que le problème primal possède une solution de base optimale x* pour laquelle la valeur de la fonction économique est égale à z*.
Soit les variables de base correspondantes.
Dénotons , et π le vecteur des multiplicateurs associés à la base optimale. Rappelons que les coûts relatifs des variables sont définis comme suit
où dénote la je colonne de la matrice A.
Supposons que cette solution de base optimale est telle que
Par conséquent
mjjj xxx ,...,,21
T 1, 2,...,j j jc c a j nπ •= − ∀ =
ja•
T 0 1, 2,...,j j jc c a j nπ•
= − ≥ ∀ =
T 1,2,...,j ja c j nπ • ≤ ∀ =
T
1 2[ , ,..., ]B j j jm
c c c c=
Théorèmes de dualité
Supposons que cette solution de base optimale est telle que
Par conséquent
ce qui s’écrit sous la forme matricielle
.
Ceci implique que
c’est-à-dire que π est une solution réalisable pour le problème dual.
T 0 1,2,...,j j jc c a j nπ •= − ≥ ∀ =
T 1,2,...,j ja c j nπ • ≤ ∀ =
TA cπ ≤
{ }T:y A y cπ ∈ ≤
Tou 1, 2,...,j ja c j nπ•
≤ ∀ =
Théorèmes de dualité
Évaluons maintenant la valeur de la solution réalisable π pour le problème dual. Rappelons d’abord la définition de π
Il s’ensuit que
Par conséquent, il découle du Corollaire du théorème de dualité faible que π est une solution optimale du problème dual, et que
.
T1BB cπ
−=
T *b zπ =
T TT T 1 1 T * *( )B B B Bb b B c B b c x c zπ− −
= = = =
Théorie des écarts complémentaires
• Les prochains résultats introduisent de nouvelles conditions nécessaires et suffisantes pour que des solutions réalisables respectivement pour les problèmes primal et dual soient optimales pour ceux-ci.
• Considérons d’abord la paire suivante de problèmes primal-dual
TminSujet à
0
c x
Ax b
x
=
≥
primal Dual
T
T
maxSujet à
b y
A y c≤ x
Théorie des écarts complémentaires
• Théorème des écarts complémentaires 1
Soit x et y des solutions réalisables respectivement pour les problèmes primal et dual précédents. Alors x et y sont des solutions optimales pour ces problèmes si et seulement si pour tout j = 1,2,…,n
Preuve Démontrons d’abord que les conditions sont suffisantes. Supposons que les conditions (i) et (ii) sont satisfaites pour tout j=1,2,…,n. Alors
( )
( )
T
T
0
0j j j
j j j
i x a y c
ii a y c x
•
•
> ⇒ =
< ⇒ =
T[ ] 0 1, 2 , . .. ,j j jx a y c j n•
− = ∀ =
T
1
Donc 0n
j j j
j
x a y c•
=
− = ∑
TminSujet à
0
c x
Ax b
x
=
≥
T
T
maxSujet à
b y
A y c≤ x
Théorie des écarts complémentaires
Par conséquent
et le corollaire du théorème de dualité faible implique que x et y sont des solutions optimales respectivement pour les problèmes primal et dual.
T T T T T T T
1 1 1
Orn n n
j j j j j j j
j j j
x a y c x a y x c x A y c x b y c x• •
= = =
− = − = − = − ∑ ∑ ∑
T[ ] 0 1, 2 , . . . ,j j jx a y c j n•
− = ∀ =
T
1
Donc 0n
j j j
j
x a y c•
=
− = ∑
T Tb y c x=
[ ]
T T T T1 1 2 2
1
T1
T2
1 2
T
T T
, , ,
n
j j n n
j
n
n
x a y x a x a x a y
a
ax x x y
a
x A y
• • • •
=
•
•
•
= + + +
=
=
∑ …
…⋮
Théorie des écarts complémentaires
Inversement, démontrons que les conditions sont nécessaires. Supposons que les solutions x et y sont optimales respectivement pour le primal et le dual. Par conséquent, se référant à la première partie de la preuve
et la preuve est complétée.
T
T
Puisque 0 et 1,2,..., ,
il sensuit que 0 1,2,...,j j j
j j j
x a y c j n
x a y c j n
•
•
≥ ≤ ∀ =
− = ∀ =
T T T T T T T
1 1 1
0n n n
j j j j j j j
j j j
x a y c x a y x c x A y c x b y c x• •
= = =
− = − = − = − = ∑ ∑ ∑
Théorie des écarts complémentaires
• Considérons maintenant l’autre paire de problèmes primal-dual
• Théorème des écarts complémentaires 2
Soit x et y des solutions réalisables respectivement pour les problèmes primal et dual précédents. Alors x et y sont des solutions optimales pour ces problèmes si et seulement si
pour tout j = 1,2,…,n pour tout i=1,2,…,m
TminSujet à
0
c x
Ax b
x
≥
≥
( )( )
T
T
0
0j j j
j j j
i x a y c
ii a y c x
•
•
> ⇒ =
< ⇒ =
( )
( ) iii
iii
bxayiv
ybxaiii
=⇒>
=⇒>
•
•
0
0
TmaxSujet à
0
T
b y
A y c
y
≤
≥
y x
Théorie des écarts complémentaires
Preuve Ce théorème peut être démontré comme un corollaire du théorème des écarts complémentaires 1. Transformons le problème primal sous une forme standard en introduisant des variables d’écarts si ,
i=1,2,…,m. le problème devient alors
Le dual de ce problème s’écrit
TminSujet à
, 0
c x
Ax Is b
x s
− =
≥
T T
T T
max maxSujet à Sujet à
0 0
b y b y
A y c A y c
I y I y
≤ ≡ ≤
− ≤ ≥
TminSujet à
0
c x
Ax b
x
≥
≥
Théorie des écarts complémentaires
Appliquons le théorème précédent pour la paire de problèmes suivants
Pour j=1,2,…,n
et pour i=1,2,…,m
TminSujet à
, 0
c x
Ax Is b
x s
− =
≥
( )
( )
T
T
0
0j j j
j j j
i x a y c
ii a y c x
•
•
> ⇒ =
< ⇒ =
( )
( ) 00
00
=⇒<−
=−⇒>
ii
ii
syiv
ysiii
T
T
maxSujet à
0
b y
A y c
I y
≤
− ≤
x
s
y
Théorie des écarts complémentaires
Pour j=1,2,…,n
et pour i=1,2,…,m
et alors les conditions deviennent
( )
( )
T
T
0
0j j j
j j j
i x a y c
ii a y c x
•
•
> ⇒ =
< ⇒ =
( )
( ) 00
00
=⇒<−
=−⇒>
ii
ii
syiv
ysiii
iii bxas −=•
Or
( )
( ) iii
iii
bxayiv
ybxaiii
=⇒>
=⇒>
•
•
0
0
TminSujet à
, 0
c x
Ax Is b
x s
− =
≥
Algorithme dual du simplexe
• L’algorithme dual du simplexe est une méthode itérative pour résoudre un problème de programmation linéaire sous sa forme standard
1 1 2 2
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
min
Sujet à
...
...
. . . .
. . . .
...
0 1,2,...,
n n
n n
n n
m m mn n m
j
z c x c x c x
a x a x a x b
a x a x a x b
a x a x a x b
x j n
= + +
+ + + =
+ + + =
+ + + =
≥ =
Algorithme dual du simplexe
• À chaque itération nous avons une solution de base du problème qui n’est pas réalisable, sauf à la dernière itération de l’algorithme, et pour laquelle les coûts relatifs de toutes les variables sont non négatifs.
• Par exemple, considérons le problèmemin 3/ 2 1/ 2 27
Sujet à 1/ 4 1/ 4 6 / 4
1/ 4 3/ 4 15 / 2
1/12 5 /12 13/ 2
, , , , 0
z u h
x u h
u p h
y u h
x y u p h
= + −
+ − = −
− + − =
− + =
≥
Algorithme dual du simplexe
Analysons une itération typique de l’algorithme où le tableau du simplexe associé à la solution de base actuelle est le suivant:
mic
njc
ij
j
,...,2,10
,...,2,10
=∀=
=∀≥
Critère de sortie
mic
njc
ij
j
,...,2,10
,...,2,10
=∀=
=∀≥
termine.se algorithmeL'optimale.et
réalisableestsolutionlaalors,,...,2,10S mibi i =∀≥
Critère de sortie
mic
njc
ij
j
,...,2,10
,...,2,10
=∀=
=∀≥ { }1
1
1
Sinon soit min 0 . S 0 1, 2,..., , alors
le problème n'est pas réalisable. En effet puisque
0 et 0
il est impossible que .
r rjii m
n
rj rjj
n
rj rjj
b b i a j n
a x b
a x b
≤ ≤
=
=
= < ≥ ∀ =
≥ <∑
=∑
Critère de sortie
mic
njc
ij
j
,...,2,10
,...,2,10
=∀=
=∀≥
{ }
.tableauduligneladansferasepivotLe
sortie.devariablelaest.0minsoitSinon1
r
xbbrj
imi
r <=≤≤
Critère d’entrée
mic
njc
ij
j
,...,2,10
,...,2,10
=∀=
=∀≥
Nous allons choisir la variable d’entrée xs de telle sorte quei) la valeur de la variable de sortie augmente lorsque
la valeur de xs augmenteii) les coûts relatifs des variables demeurent non
négatifs lorsque le pivot sur est complété pour effectuer le changement de base
rsa
⇐< 0rsa1 1s s
r rs s
m ms s
b a x
b a x
b a x
−
−
−
⋮
⋮
rjx
Critère d’entrée
mic
njc
ij
j
,...,2,10
,...,2,10
=∀=
=∀≥
0rsa <
En complétant le pivot sur le coût relatif de la variable xj devient
s
rs
rjj c
a
ac −
rsa
augmenter.qu'peutnedevaleurla
,0et0puisquealors,0Si
j
rssrj
c
aca <≥≥
1 2 10 1 0 0rnr r r
rs rs rs rs rs
aa a b
a a a a a⋯ ⋯ ⋯ ⋯ ⋯
Critère d’entrée
mic
njc
ij
j
,...,2,10
,...,2,10
=∀=
=∀≥
0rsa <
En complétant le pivot sur le coût relatif de la variable xj devient
s
rs
rjj c
a
ac −
rsa
0
i.e.,négatif;nondemeurevariablelade
relatifcoutnouveaulequeassurers'fautil,0queteltoutPour
≥−
<
s
rs
rjj
j
rj
ca
ac
x
aj
1 2 10 1 0 0rnr r r
rs rs rs rs rs
aa a b
a a a a a⋯ ⋯ ⋯ ⋯ ⋯
Critère d’entrée
<−
=−
<=
<∀≤
<∀≤−
<∀≥−
<
≤≤≤≤0:minou0:max
quetelestentréed'variableladeindicel'Donc
.0quetel
0quetel0
0quetel0
i.e.,négatif;nondemeurevariablelade
relatifcoutnouveaulequeassurers'fautil,0queteltoutPour
11rj
rj
j
njrs
srj
rj
j
njrs
s
rj
rs
s
rj
j
rj
rs
s
rj
j
rjs
rs
rjj
j
rj
aa
c
a
ca
a
c
a
c
s
aja
c
a
c
aja
c
a
c
ajca
ac
x
aj
Pivot
• Pour retrouver le tableau du simplexe associé à la nouvelle base où la variable d’entrée xs remplace la variable de sortie xr il suffit de faire un
pivot sur l’élément . 0<rsa
Exemple
• x est la variable de sortie et par conséquent le pivot se fait dans la première ligne du tableau.
• h est la variable d’entrée et par conséquent le pivot se fait sur l’élément -1/4
• Après le pivot, le tableau devient
Solution réalisable et
optimale
2 0 2 0 0
Convergence
• Hypothèse de non dégénérescence:les coûts relatifs de toutes les variables hors base sont positifs à chaque itération
• Théorème Considérons le problème de programmation linéaire sous forme standard
Sous l’hypothèse de non dégénérescence, l’algorithme dual du simplexe setermine en un nombre fini d’itérations.
Tmin
Sujet à
0
, ,
matrice
n m
z c x
Ax b
x
c x R b R
A m n
=
=
≥
∈ ∈
×
Convergence
• Preuve:
En supposant que la matrice A est de plein rang m, chaque solution de base doit comporter m variables de base.
Il y a un nombre fini de façons de choisir colonnes de parmi les pour former des sous matrices :
!
! ( )!
m A n
m m
nn
m m n m
×
=
−
Or les bases non réalisables constituent un sous ensemble de ces-dernières. !
Donc est une borne supérieure sur le nombre de ! ( )!
solutions de base non réalisables.
nn
m m n m
=
−
Convergence
• Considérons l’effet de compléter un pivot sur la valeur de la fonction économique lors d’une itération de l’alg. dual du simplexe
Division de ligne r
par rsa
→ sc×rs
r
a
b
Soustraire de
encedéégénéresnondehyp.paretpuisque 0,0,0
~0000
><<
−<−−=−→−
srsr
rs
r
s
cab
za
bczzz
dégénérescence
Convergence
Donc et ainsi la valeur de l’objectif augmente strictement d’une itération à l’autre. Par conséquent une même solution de base non réalisable où les coûts relatifs de toutes les variables hors base sont positifs, ne peut se répéter au cours de l’application de l’algorithme dual du simplexe.Puisque le nombre de ces dernières est borné (fini), il s’ensuit que l’algorithme dual du simplexe doit être complété en un nombre fini d’itérations.
00~ zz >
encedéégénéresnondehyp.paretpuisque 0,0,0
~0000
><<
−<−−=−→−
srsr
rs
r
s
cab
za
bczzz
dégénérescence
Parallèle entre
algo. du simplexe et algo. dual du simplexe
Algo. du simplexe
Recherche dans le domaine réalisable
Choisit la variable d’entrée pour réduire
la valeur de la fonction économique
Choisit la variable de sortie pour
préserver la réalisabilité
Stop quand une solution optimale est
trouvée ou que le problème n’est pas
borné inférieurement
Algo. dual du simplexe
Recherche à l’extérieur du domaine
réalisable
Choisit le variable de sortie pour éliminer
une variable de base négative
Choisit la variable d’entrée pour
préserver la condition d’optimalité
Stop quand la solution est réalisable ou
quand le problème n’est pas réalisable
jc j ∀≥ 0
top related