You are on page 1of 47

5.

Dualit
en
programmation linaire

Illustration de la notion
Considrons une entreprise
produisant r produits finis: fk = demande du produit k =1, 2, , r
utilisant s matires premires: hl = disponibilit de la matire premire
l = 1, 2, , s
Lentreprise dispose de n procds de production (activits):
xj = niveau dutilisation du procd j = 1, 2, , n
cj = cot unitaire dutilisation du proccd j = 1, 2, , n
Le procd j
produit ekj units de produit k =1, 2, , r
utilise glj units de matire l = 1, 2, , s
pour chaque unit de son utilisation.

Illustration de la notion

Considrons une entreprise


produisant r produits finis:
fk = demande du produit k =1, 2, , r
utilisant s matires premires:
hl = disponibilit de la matire l = 1, 2, , s

Lentreprise dispose de n procds de production


(activits):
xj = niveau dutilisation du procd
j = 1, 2, , n
cj = cot unitaire dutilisation du procd
j = 1, 2, , n
Le procd j
produit ekj units de produit k =1, 2, , r
utilise glj units de matire l = 1, 2, , s
pour chaque unit de son utilisation.

Problme de lentreprise: dterminer le


niveau dutilisation de chaque procd de
production pour satisfaire les demandes en
produits sans excder les disponibilits des
matires premires tout en minimisant le
cot total de production.

Modle
n

min z =

jxj

j =1
n

Sujet

kj x j

fk

k = 1,2,..., r (demandes)

j =1
n

lj x j

hl

l = 1,2,..., s (disponibilits)

j =1

xj 0

j = 1,2,..., n

Illustration de la notion
Un entrepreneur propose lentreprise dacheter les quantits de ses
matires premires et de lui vendre les quantits de produits pour satisfaire
les demandes.
Il doit noncer (dterminer) des prix unitaires
vk pour les produits k = 1, 2, , r
wl pour les matires l = 1, 2, , s.
n

min z =

c x
j

j =1
n

Sujet

kj x j

fk

k = 1,2,..., r (demandes)

vk

l = 1,2,..., s (disponibilits)

wl

j =1
n

lj x j

hl

j =1

xj 0

j = 1,2,..., n

Illustration de la notion

Lentrepreneur doit dterminer des


prix qui soient intressants pour
lentreprise.
Pour vrifier lintrt de faire affaire
avec lentrepreneur, lentreprise doit
vrifier que pour chacun de ses
procds de production j, le cot
dacheter les units de produits
fabriques par une unit dutilisation
du procd j en tenant compte de ce
quelle reoit de lentrepreneur pour
les units de matires quelle vite
alors dutiliser, que ce cot nexcde
pas le cot unitaire dutilisation cj du
procd j

min z =

jxj

j =1
n

Sujet

kj x j

fk

k = 1,2,..., r (demandes)

vk

l = 1,2,..., s (disponibilits)

wl

j =1
n

lj x j

hl

j =1

xj 0

ekj vk



k =1

cot d'achat des


produits

j = 1,2,..., n

g lj wl



l =1

revenu de la vente des


matires premires

cj

Illustration de la notion
r

kj k

lj

wl

l =1



cot d'achat des


produits

revenu de la vente des


matires premires

k =1

cj

Le problme de lentrepreneur est de maximiser son profit en sassurant


que ses prix restent intressants pour lentreprise
r

max p =

k vk

k =1
r

Sujet

e
k =1

h w
l

l =1
s

kj v k

lj wl

cj

l =1

vk 0

k = 1,2,..., r

wl 0

l = 1,2,..., s

j = 1,2,..., n

Illustration de la notion
Problme de lentreprise: multiplions les contraintes de disponibilits par -1
n

min z =
Sujet

c x
j

min z =

j =1

j =1

kj x j

fk

k = 1,2,..., r (demandes
Sujet )

j =1

kj x j

fk

k = 1,2,..., r (demandes)

j =1

c x

lj x j

hl

l = 1,2,..., s (disponibil
itsg) lj x j hl

j =1

xj 0

l = 1,2,..., s (disponibilits)

j =1

j = 1,2,..., n

xj 0

j = 1,2,..., n

E
G

Problme de lentreprise
n

min z = c j x j
Sujet

j =1
n

ekj x j

j =1
n

e1 j
k = 1,2,..., r (demandes)

fk

l = 1,2,..., s (disponibilits)
j = 1,2,..., n

g lj x j hl
j =1
xj 0

e k1

ek 2

ekj

ekn

erj

Problme de lentrepreneur
r

max p =

k vk

k =1
r

Sujet

e
k =1

g1 j

h w
l

l =1
s

kj v k

g l1 g l 2 g lj
lj wl

cj

l =1

vk 0

k = 1,2,..., r

wl 0

l = 1,2,..., s

j = 1,2,..., n

g ln

e1 j ekj erjg sj g1 j glj g sj

Primal
n

min z =

c x
j

j =1
n

Sujet

kj x j

fk

k = 1,2,..., r (demandes)

lj x j

hl

l = 1,2,..., s (disponibilits)

j =1
n

g
j =1

xj 0

j = 1,2,..., n

Dual
r

max p =

f
e
k =1

x
y

min c T x
Sujet Ax b
x0

k vk

k =1
r

Sujet

min z = c T x
Sujet
E
f

x
G
h
x0

h w
l

l =1
s

kj v k

lj wl

cj

l =1

vk 0

k = 1,2,..., r

wl 0

l = 1,2,..., s

j = 1,2,..., n

v
max p = f T hT
w
Sujet
E T G T v c

w
v, w 0

max bT y
Sujet AT y c
y0

max bT y
Sujet AT y c
y0

min c T x
Sujet Ax b
x0

min z = 8 x 6 y
Sujet
5 x + 3 y 30
2 x + 3 y 24
x + 3 y 18
x, y 0
min z = 8 x 6 y
Sujet
5 x 3 y 30
2 x 3 y 24

v1
v
2
x 3 y 18 v3
x, y 0

5 3
30
2 3 x 24

1 3
18

max
Sujet

30v1 24v2 18v3


5v1 2v2 v3 8 x

3v1 3v2 3v3 6 y
v1 , v2 , v3 0

v1
5 2 1 8
3 3 3 v2 6


v3

Problme primal et problme dual


Problme de programmation linaire avec ingalits
Problme dual

Problme primal
T

min c x
Sujet Ax b
x0

max bT y
Sujet AT y c
y0

Problme de programmation linaire sous forme standard


Problme primal

min c T x
Sujet Ax = b
x0

Problme dual

max bT y
Sujet AT y c

min z = 8 x 6 y
Sujet
5 x + 3 y 30
2 x + 3 y 24
x + 3 y 18
x, y 0
min c T x
Sujet Ax = b
x0
min z = 8 x 6 y
Sujet
5x + 3 y + u
= 30 w1
w
2x + 3y + p
= 24 2
x + 3y
+ h = 18 w3
x, y , u , p , h 0
x

5 3 1 0 0 y 30
2 3 0 1 0 u = 24


1 3 0 0 1 p 18
h

5
3

0
0

max bT y
Sujet AT y c

max

30 w1 + 24 w2 + 18w3

x

3w1 + 3w2 + 3w3 6 y
w1
0 u

w2
0 p
h
w

8

3

Sujet

2 1
3 3 w1 6
0 0 w2 0


1 0 w3 0
0
0 1

5w1 + 2w2 +

w3 8

min z = 4 x 6 y
Sujet
6 x + 3 y 10
2 x + 2 y = 20
x+ y 6
x, y 0

min z = 4 x 6 y
Sujet
6 x + 3 y 10 u1
2 x + 2 y = 20 u2

x y 6 u3
x, y 0

3
6
10
x
2

2 20

y
1 1 6

max 10u1 + 20u2 6u3


Sujet

6u1 + 2u2 u3 4 x

3u1 + 2u2 u3 6 y
u1 0, u3 0

u1
6 2 1 4
3 2 1 u2 6


u3

Problme primal et problme dual


Problme de programmation linaire avec ingalits
Problme dual

Problme primal
T

min c x
Sujet Ax b
x0

max bT y
Sujet AT y c
y0

Problme de programmation linaire sous forme standard


Problme primal

min c T x
Sujet Ax = b
x0

Problme dual

max bT y
Sujet AT y c

min c T x
Sujet Ax b
x0
min c T x 0T s
Sujet Ax Is = b
x 0, s 0

max bT y
AT
c
Sujet T y
0
I

max bT y
Sujet AT y c
Iy 0
max bT y
Sujet AT y c
y0

Thormes de dualit
Il est facile de dmontrer que nous pouvons passer dune paire de
problmes primal-dual lautre.
Il est galement facile de dmontrer que le problme dual du problme dual
est le problme primal.
Nous allons donc dmontrer les thormes de dualit en se rfrant la
paire o le problme primal est sous forme standard:
primal

min c T x
Sujet Ax = b
x0

Dual

max bT y
Sujet AT y c

Thormes de dualit
Thorme de dualit faible
Si x {x : Ax = b, x 0} (i.e., x est ralisable pour le problme primal) et
T
si y y : A y c (i.e., y est ralisable pour le problme dual),

alors bT y c T x

Preuve En effet,

bT y = xT AT y xT c

puisque AT y c et que x 0 .

NOTE:
Si y est une solution ralisable du dual et x*est une solution optimale du primal
alors
bT y c T x* = valeur optimale du primal
et ainsi,
bT y est une borne infrieure sur la valeur optimale du primal

Thormes de dualit
*
Corollaire Si x {x : Ax = b, x 0} et y y : A y c , et si
bT y* = cT x* ,alors x* et y* sont des solutions optimales respectivement
pour le problme primal et pour le problme dual.
*

Preuve Du thorme de dualit faible, il dcoule que pour toute solution


ralisable x du problme primal

cT x bT y* et par hypothse bT y* = cT x* . Donc cT x bT y* = c T x* .


Par consquent x* est solution optimale du problme primal.
Une preuve similaire est utilise pour dmontrer que y* est solution
optimale du problme dual.

Thormes de dualit
Thorme de dualit forte Si un des deux problmes primal ou dual
possde une solution optimale avec valeur finie, alors la mme chose est
vraie pour lautre problme, et les valeurs optimales des deux problmes
sont gales. Si un des deux problmes nest pas born, alors le domaine
ralisable de lautre problme est vide.
Preuve La seconde partie de lnonc dcoule directement du thorme de
dualit faible. En effet, supposons que le problme primal nest pas borne
infrieurement; ainsi cTx . Or si le problme dual tait ralisable,
T
alors il existerait un y y : A y c et par le thorme de dualit faible,
nous aurions que bT y c T x ;i.e., bTy serait une borne infrieure sur la
valeur de la fonction conomique du primal cTx, une contradiction.

Thormes de dualit
Pour dmontrer la premire partie, supposons que le problme primal
possde une solution de base optimale x* pour laquelle la valeur de la
fonction conomique est gale z*.
Soit x j1 , x j2 ,..., x jm les variables de base correspondantes.
Dnotons cB = [c j1 , c j2 ,..., c jm ]T , et le vecteur des multiplicateurs
associs la base optimale. Rappelons que les cots relatifs des variables
sont dfinis comme suit
c j = c j T a j j = 1, 2,..., n
o a j dnote la je colonne de la matrice A.
Supposons que cette solution de base optimale est telle que
Par consquent

c j = c j T a j 0

j = 1, 2,..., n

T a j c j j = 1, 2,..., n

Thormes de dualit
Supposons que cette solution de base optimale est telle que
Par consquent

c j = c j T a j 0 j = 1,2,..., n

T a j c j j = 1, 2,..., n
ou

aTj c j j = 1, 2,..., n

ce qui scrit sous la forme matricielle

aT
T1
a2 = AT c

T
a n

{ y : AT y c}

cest--dire que est une solution ralisable pour le problme dual.

Thormes de dualit
valuons maintenant la valeur de la solution ralisable pour le problme
dual. Rappelons dabord la dfinition de
T

= B 1 cB
Il sensuit que

.
T

bT = bT B 1 cB = ( B 1b)T cB = x*B cB = z *

Par consquent, il dcoule du Corollaire du thorme de dualit faible que


est une solution optimale du problme dual, et que

T b = z*

Thorie des carts complmentaires


Les prochains rsultats introduisent de nouvelles conditions ncessaires et
suffisantes pour que des solutions ralisables respectivement pour les
problmes primal et dual soient optimales pour ceux-ci.
Considrons dabord la paire suivante de problmes primal-dual

primal

min c T x
Sujet Ax = b
x0

Dual

max bT y
Sujet AT y c

Thorie des carts complmentaires


Thorme des carts complmentaires 1
Soit x et y des solutions ralisables respectivement pour les problmes
primal et dual prcdents. Alors x et y sont des solutions optimales pour ces
problmes si et seulement si pour tout j = 1,2,,n

(i )
( ii )

xj > 0
aTj y = c j
aTj y < c j x j = 0

min c T x
Sujet Ax = b
x0

max bT y
Sujet AT y c

Preuve Dmontrons dabord que les conditions sont suffisantes. Supposons


que les conditions (i) et (ii) sont satisfaites pour tout j=1,2,,n. Alors
x j [ a T j y c j ] = 0
j = 1, 2 , ..., n
n

Donc

j =1

x j aTj y c j = 0

x j aTj y = x1aT1 + x2aT2 + + xn aTn y

j =1
Thorie des carts complmentaires

aT1
T
j = 1, 2 ,=...,
[ x1n, x2 , , xn ] a2 y

aT
n

x j [ a T j y c j ] = 0
n

Donc

x j aTj y c j = 0

= x T AT y

j =1
n

Or

x j a y c j =
T
j

j =1

Par consquent

j =1

T
j j

x a y

x j c j = x T AT y c T x = bT y c T x

j =1

bT y = c T x

et le corollaire du thorme de dualit faible implique que x et y sont des


solutions optimales respectivement pour les problmes primal et dual.

Thorie des carts complmentaires


Inversement, dmontrons que les conditions sont ncessaires. Supposons
que les solutions x et y sont optimales respectivement pour le primal et le
dual. Par consquent, se rfrant la premire partie de la preuve
n

x j aTj y c j = bT y c T x = 0

j =1

Puisque

x j 0 et aTj y c j j = 1, 2,..., n,

il sensuit que x j aTj y c j = 0

et la preuve est complte.

j = 1, 2,..., n

Thorie des carts complmentaires


Considrons maintenant lautre paire de problmes primal-dual

min c T x
Sujet Ax b
x0

max bT y
Sujet AT y c
y0

Thorme des carts complmentaires 2


Soit x et y des solutions ralisables respectivement pour les problmes
primal et dual prcdents. Alors x et y sont des solutions optimales pour ces
problmes si et seulement si
pour tout j = 1,2,,n
pour tout i=1,2,,m

(i )
( ii )

xj > 0
aTj y = c j
aTj y < c j
xj = 0

(iii )
(iv )

a i x > bi
yi > 0

yi = 0
a i x = bi

Thorie des carts complmentaires


Preuve Ce thorme peut tre dmontr comme un corollaire du
thorme des carts complmentaires 1. Transformons le problme primal
sous une forme standard en introduisant des variables dcarts si ,
i=1,2,,m. Le problme devient alors
min c T x
Sujet Ax Is = b
x, s 0

min c T x
Sujet Ax b
x0

Le dual de ce problme scrit

max bT y
Sujet AT y c
I y0

max bT y
Sujet AT y c
I y0

Thorie des carts complmentaires


Appliquons le thorme prcdent pour la paire de problmes suivants

min c T x
Sujet Ax Is = b
x, s 0

max bT y
Sujet AT y c
I y0

Pour j=1,2,,n

(i )
( ii )

xj > 0

aTj y = c j

aTj y < c j

xj = 0

yi = 0

si = 0

et pour i=1,2,,m

(iii ) s i > 0
(iv ) y i < 0

x
s

Thorie des carts complmentaires


Pour j=1,2,,n

(i )
( ii )

xj > 0
aTj y < c j

aTj y = c j
xj = 0

et pour i=1,2,,m

(iii ) s i > 0
(iv ) y i < 0

yi = 0

si = 0

Or s i = a i x bi et alors les conditions deviennent

(iii )
(iv )

a i x > bi
yi > 0

yi = 0
a i x = bi

min c T x
Sujet Ax Is = b
x, s 0

Algorithme dual du simplexe


Lalgorithme dual du simplexe est une mthode itrative pour rsoudre un
problme de programmation linaire sous sa forme standard
min z = c1 x1 + c 2 x 2 + c n x n
Sujet
a11 x1 + a12 x 2 + ... + a1n x n = b1
a 21 x1 + a 22 x 2 + ... + a 2 n x n = b2
.
.

.
.
.
.
.
.
a m1 x1 + a m 2 x 2 + ... + a mn x n = bm
xj 0

j = 1,2,..., n

Algorithme dual du simplexe


chaque itration nous avons une solution de base du problme qui nest
pas ralisable, sauf la dernire itration de lalgorithme, et pour laquelle
les cots relatifs de toutes les variables sont non ngatifs.
Par exemple, considrons le problme

min z =
Sujet
x

3 / 2u
+ 1/ 4u

+ 1/ 2h
27
1/ 4h = 6 / 4

1/ 4u + p 3 / 4h = 15 / 2
y 1/12u
+ 5 /12h = 13 / 2
x, y , u , p , h 0

Algorithme dual du simplexe


Analysons une itration typique de lalgorithme o le tableau du simplexe
associ la solution de base actuelle est le suivant:

c j 0 j = 1,2,..., n
c ji = 0 i = 1,2,..., m

Critre de sortie

c j 0 j = 1,2,..., n
c ji = 0 i = 1,2,..., m

Si b i 0 i = 1,2,..., m, alors la solution est ralisable


et optimale. L' algorithme se termine.

Critre de sortie

c j 0 j = 1,2,..., n
c ji = 0 i = 1,2,..., m

{ }

Sinon soit b r = min bi < 0 . Si a rj 0 j = 1, 2,..., n, alors


1i m

le problme n'est pas ralisable. En effet puisque


n

a rj x j 0

et

j =1

il est impossible que a rj x j = b r .


j =1

br < 0

Critre de sortie

c j 0 j = 1,2,..., n
c ji = 0 i = 1,2,..., m

{ }

Sinon soit b r = min b i < 0.


1i m

x jr est la variable de sortie.

Le pivot se fera dans la ligne r du tableau.

Critre dentre

c j 0 j = 1,2,..., n
c ji = 0 i = 1,2,..., m

b1 a1s xs a rs < 0

br ars xs

bm ams xs

Nous allons choisir la variable dentre xs de telle sorte que


i) la valeur de la variable de sortie xr augmente lorsque

la valeur de xs augmente
ii) les cots relatifs des variables demeurent non
ngatifs lorsque le pivot sur ars est complt pour
effectuer le changement de base

Critre dentre

c j 0 j = 1,2,..., n
c ji = 0 i = 1,2,..., m

a rs < 0

En compltant le pivot sur a rs le cot relatif de la


variable xj devient

cj

a rj

a rs

cs

Si a rj 0, alors puisque c s 0 et a rs < 0,


la valeur de c j ne peut qu' augmenter.

Critre dentre

c j 0 j = 1,2,..., n
c ji = 0 i = 1,2,..., m

En compltant le pivot sur a rs le cot relatif de la


variable xj devient

cj

a rs < 0

a rj

a rs

cs

Pour tout j tel que a rj < 0, il faut s' assurer que le nouveau cout relatif
de la variable x j demeure non ngatif; i.e.,
cj

a rj
a rs

cs 0

Critre dentre
Pour tout j tel que a rj < 0, il faut s' assurer que le nouveau cout relatif
de la variable x j demeure non ngatif; i.e.,
cj
cj

a rj
a rs

a rj
cj
a rj

cs 0

cs
a rs

cs

j tel que a rj < 0


j tel que a rj < 0
j tel que a rj < 0.

a rs

Donc l' indice s de la variable d' entre est tel que


cs
a rs

c j

= max
: a rj < 0
1 j n a rj

ou

cs
a rs

c j

= min
: a rj < 0
1 j n a rj

Pivot
Pour retrouver le tableau du simplexe associ la nouvelle base o la
variable dentre xs remplace la variable de sortie x j il suffit de faire un
pivot sur llment a rs < 0 .
r

Convergence
Hypothse de non dgnrescence:
les cots relatifs de toutes les variables hors base sont positifs chaque
itration
Thorme Considrons le problme de programmation linaire sous forme
standard
min z = c T x

Sujet

Ax = b
x0

c, x R n , b R m
A matrice m n
Sous lhypothse de non dgnrescence, lalgorithme dual du simplexe se
termine en un nombre fini ditrations.

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 faons de choisir m colonnes de A parmi les n


pour former des sous matrices m m :
n!
n
=
m
m ! (n m)!
Or les bases non ralisables constituent un sous ensemble de ces-dernires.
n!
n
Donc =
est une borne suprieure sur le nombre de
m
m ! (n m)!
solutions de base non ralisables.

Convergence
Considrons leffet de complter un pivot sur la valeur de la fonction
conomique lors dune itration de lalg. dual du simplexe
Division de ligne r
par a rs

br
a rs

cs

Soustraire de

br
z 0 ~
z0 = z 0 c s
< z0
a rs
puisque b r < 0 , a rs < 0, et c s > 0 par hyp. de non dgnres
ence
dgnrescence

Convergence
br
~
z 0 z0 = z 0 c s
< z0
a rs
puisque b r < 0 , a rs < 0, et c s > 0 par hyp.de non dgnrescence
dgnresence
Donc ~
z 0 > z 0 et ainsi la valeur de lobjectif augmente strictement dune
itration lautre.
Par consquent une mme solution de base non ralisable o les cots
relatifs de toutes les variables hors base sont positifs, ne peut se rpter au
cours de lapplication de lalgorithme dual du simplexe.
Puisque le nombre de ces dernires est born (fini), il sensuit que
lalgorithme dual du simplexe doit tre complt en un nombre fini
ditrations.

Parallle entre
algo. du simplexe et algo. dual du simplexe
Algo. du simplexe
Recherche dans le domaine ralisable

Algo. dual du simplexe

Choisit la variable dentre pour rduire


la valeur de la fonction conomique

Recherche lextrieur du domaine


ralisable
Choisit le variable de sortie pour liminer
une variable de base ngative

Choisit la variable de sortie pour


prserver la ralisabilit

Choisit la variable dentre pour


prserver la condition doptimalit c j 0 j

Stop quand une solution optimale est


trouve ou que le problme nest pas
born infrieurement

Stop quand la solution est ralisable ou


quand le problme nest pas ralisable

You might also like