• Aucun résultat trouvé

5.Dualité en programmation linéaire

N/A
N/A
Protected

Academic year: 2022

Partager "5.Dualité en programmation linéaire"

Copied!
42
0
0

Texte intégral

(1)

5.Dualité en

programmation linéaire

(2)

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 g unités de matière l = 1, 2, …, s

(3)

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 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, …, r utilise 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

n j

x

s l

h x g

r k

f x e

x c z

j n j

l j lj

k n

j

j kj n j

j j

,..., 2 , 1 0

) ités disponibil (

,..., 2 , 1

) demandes (

,..., 2 , 1 à

Sujet min

1 1 1

(4)

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 w

s l

h x g

r k

f x e

x c z

n

k n

j

j kj n j

j j

) ités disponibil (

,..., 2 , 1

) demandes (

,..., 2 , 1 à

Sujet min

1 1

(5)

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

l lj l

r

k

e

kj

v

k

g w c

premières matièresde la vente des revenu

1 produitsd'achat des

coût

1

(6)

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

l lj c

r k

k

kjv g w c

e









premières matièresevenu de la vente des

1 produitsoût d'achat des

1

r k

v

n j

c w

g v

e

w h v

f p

j s

l

l lj r

k

k kj r k

s l

l l k

k

,..., 2 , 1 0

,..., 2 , 1 à

Sujet max

1 1

1 1

 

(7)

Illustration de la notion

• Problème de l’entreprise: multiplions les contraintes de disponibilités par -1

n j

x

s l

h x g

r k

f x e

x c z

j n j

l j lj

k n

j

j kj n j

j j

,..., 2 , 1 0

) ités disponibil (

,..., 2 , 1

) demandes (

,..., 2 , 1 à

Sujet min

1 1 1

n j

x

s l

h x

g

r k

f x e

x c z

j n j

l j

lj

k n

j

j kj n j

j j

,..., 2 , 1 0

) ités disponibil (

,..., 2 , 1

) demandes (

,..., 2 , 1 à

Sujet min

1 1 1

-1x

(8)

r k

v

n j

c w g v

e

w h v

f p

k

j s

l

l lj r

k

k kj r k

s l

l l k

k

,..., 2 , 1 0

,..., 2 , 1 à

Sujet max

1 1

1 1

 

Problème de l’entreprise

Problème de l’entrepreneur

sj j rj

j

g g e e

1 1

kn kj

k

k e e e

e 1 2  

ln 2

1 g g g

gll   lj  

 

 

G E

n j

x

s l

h x

g

r k

f x e

x c z

j n

j lj j l

k n

j kj j

n

j j j

,..., 2 , 1 0

) ités disponibil (

,..., 2 , 1

) demandes (

,..., 2 , 1 à

Sujet min

1 1 1

(9)

n j

x

s l

h x

g

r k

f x e

x c z

j n j

l j

lj

k n

j

j kj n j

j j

,..., 2 , 1 0

) ités disponibil (

,..., 2 , 1

) demandes (

,..., 2 , 1 à

Sujet min

1 1 1

s l

w

r k

v

n j

c w g v

e

w h v

f p

l k

j s

l

l lj r

k

k kj r k

s l

l l k

k

,..., 2 , 1 0

,..., 2 , 1 0

,..., 2 , 1 à

Sujet max

1 1

1 1

 

Primal

Dual

 

 

0 ,

à Sujet max

w v

w c G v

E

w h v

f p

T T

T T

0 à

Sujet min

x

h x f

G E

x c z t

(10)

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 0

à Sujet

min

x

b Ax

x cT

0 à

Sujet min

x

b Ax

x cT

Problème primal Problème dual

Problème primal Problème dual

y x

y A y c x

y b

T T

 à

Sujet max

0 à

Sujet max

y

c y A

y b

T T

(11)

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:

0 à

Sujet min

x

b Ax

x c

T

primal Dual

c y A

y b

T T

 à

Sujet max

(12)

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

x Ax b x x

y A y c

y : Tx c y

bTT alors

0 que

et

puisque  

x A y x c A y c x

y

bT T T T T

(13)

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

*

x Axb x

x y

*

y : A

T

y c

*

* c x

y

bTT

. Donc

. hypothèse

par

et * * * *

* b y c x c x b y c x

y b x

cTT TT TTT

(14)

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.

y A y c

y : T

x c y

bT T

(15)

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

jm

j

j x x

x , ,...,

2 1

n j

a c

c j j T j 1,2,...,

aj

n j

a c

c jj  T j  0  1,2,..., n

j c

a j j

T 1,2,...,

] ,...,

,

[ j1 j2 jm

B c c c

c

(16)

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.

n j

a c

c jj  T j  0  1,2,..., n

j c

a j j

T 1,2,...,

c AT 

y AT y c

 :

(17)

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

.

cB

B1T

 

z*

Tb

*

* 1

1 c (B b) c x c z

B b

bT  T T B T BBT B

(18)

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

0 à

Sujet min

x

b Ax

x c

T

primal Dual

0 à

Sujet max

y

c y A

y b

T T

x

(19)

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

 

 

0

0

j j

T j

j T

j j

x c

j a ii

c j a x

i

a y c

j n

xj Tjj  0  1,2,...,

 

n  

j

j T

j

j a y c

x

1

0 Donc

(20)

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.

 

  

      

n j

n j

T T

T T

j T j n

j

Tj j T j

j

j a y c x a y x c x A y c x b y c x

x

1 1 1

Or

a y c

j n

xj Tj j 0 1,2,...,

 

n  

j

j T

j

j a y c

x

1

0 Donc

x c y

bTT

(21)

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.

a y c

j n

x

n j

c y a x

j T

j j

j T

j j

,..., 2 , 1 0

que sensuit

il

, ,..., 2 , 1 et

0 Puisque

 

0

1

y c b y c x

a

x T T

n

j

T j j j

(22)

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 0

à Sujet

min

x

b Ax

x cT

 

i x  0  aT jc

 

iii a x b y 0

0 à

Sujet max

y

c y A

y b

T T

y x

(23)

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

0 ,

à Sujet

min

s x

b Is Ax

x cT

0 0

à Sujet à

Sujet

max max

y I y

I

c y A c

y A

y b y

b

T T

T T

0 à

Sujet min

x

b Ax

x cT

(24)

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

0 ,

à Sujet

min

s x

b Is Ax

x cT

 

 

0

0

j j

T j

j T

j j

x c

j a ii

c j a x

i

   

iviii ysi 00 ysi 00

0 à

Sujet max

y I

c y A

y b

T T

x s

(25)

Théorie des écarts complémentaires

Pour j=1,2,…,n

et pour i=1,2,…,m

et alors les conditions deviennent

 

 

0

0

j j

T j

j T

j j

x c

j a ii

c j a x

i

   

iviii ysii 00 ysii 00

i i

i

a x b

s

 Or

   

iviii aiyxibiayiixbi

0

0

0 ,

à Sujet

min

s x

b Is Ax

x cT

(26)

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

n j

x

b x

a x

a x

a

b x

a x

a x

a

b x

a x

a x

a à Sujet

x c x

c x

c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1

1

(27)

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ème

0 ,

, , ,

2 / 13 12

/ 5 12

/ 1

2 / 15 4

/ 3 4

/ 1

4 / 6 4

/ 1 4

/ 1

27 2

/ 1 2

/ 3 min

h p u y x

h u

y

h p

u

h u

x à

Sujet

h u

z

(28)

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:

n j

c j 0 1,2,...,

(29)

Critère de sortie

m i

c

n j

c

ji

j

,..., 2 , 1 0

,..., 2 , 1 0

termine.

se algorithme L'

optimale.

et

réalisable est

solution la

alors ,

,..., 2 , 1 0

Si bi  im

(30)

Critère de sortie

m i

c

n j

c

ji

j

,..., 2 , 1 0

,..., 2 , 1 0

 

0 0

puisque effet

En . réalisable pas

est n' problème le

alors ,

,..., 2 , 1 0

S . 0 min

soit Sinon

1 1

n j

j r rj

i rj m r i

b et

x a

n j

a i b

b

(31)

Critère de sortie

m i

c

n j

c

ji

j

,..., 2 , 1 0

,..., 2 , 1 0

 

. tableau du

ligne la

dans fera

se pivot Le

sortie.

de variable la

est .

0 min

soit Sinon

1

r x b

b i jr

m

ri

(32)

Critère d’entrée

m i

c

n j

c

ji

j

,..., 2 , 1 0

,..., 2 , 1 0

Nous allons choisir la variable d’entrée xs de telle sorte que i) la valeur de la variable de sortie xr augmente lorsque la valeur de xs augmente

ii) les coûts relatifs des variables demeurent non

 0 ars

(33)

Critère d’entrée

m i

c

n j

c

ji

j

,..., 2 , 1 0

,..., 2 , 1 0

 0 ars

En complétant le pivot sur le coût relatif de la variable xj devient

s rs

j rj

c

a ca

a

rs

augmenter.

qu' peut ne

de valeur la

, 0 et

0 puisque

alors ,

0 Si

j

rs s

rj

c

a c

a   

(34)

Critère d’entrée

m i

c

n j

c

ji

j

,..., 2 , 1 0

,..., 2 , 1 0

 0 ars

En complétant le pivot sur le coût relatif de la variable xj devient

s rs

j rj

c

a ca

a

rs

i.e., négatif;

non demeure

variable la

de

relatif cout

nouveau le

que assurer

s' faut il

, 0 que

tel tout

Pour 

j

rj

x

a j

(35)

Critère d’entrée









 

 

 







 

: 0 ou min : 0

max

que tel

est entrée d'

variable la

de indice

l' Donc

. 0 que

tel

0 que

tel 0

0 que

tel 0

i.e., négatif;

non demeure

variable la

de

relatif cout

nouveau le

que assurer

s' faut il

, 0 que

tel tout

Pour

1 1 rj

rj j n

rs j rj s

rj j n rs j

s

rj rs

s rj

j

rj rs

s rj

j

rj s

rs j rj

j

rj

a a c a

a c a

c a

c

s

a a j

c a

c

a a j

c a

c

a j

a c c a

x

a j

(36)

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 .

a

rs

 0

(37)

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

(38)

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 se n

m matrice A

R b R x c

x b Ax à

Sujet

x c z

m n

T

, ,

0 min

(39)

Convergence

Preuve:

En supposant que la matrice A est de plein rang m, chaque solution de base réalisable doit comporter m variables de base

Il y a un nombre fini de façons de choisir m variables parmi n:

Or les solutions de base où les coûts relatifs des variables hors base sont positifs constituent un sous ensemble de ces solutions.

Donc

est une borne supérieure sur le nombre de telles solutions de base.

)!

(

!

! m n m

n m

n





)!

(

!

! m n

m

n m

n

 



 

(40)

Convergence

• Considérons l’effet de compléter un pivot sur la valeur de la fonction économique lors d’une itération du simplexe

Division de ligne r par ars

c

s

rs r

a b

Soustraire de

~ br

(41)

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 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.

ence dégénéresc

non de

hyp.

par 0 et

, 0 ,

0 puisque

~0 0 0

0

r rs

s

rs s r

b a

c

a z c b z

z z

0 0

~zz

(42)

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

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

j cj 0

Références

Documents relatifs

Rappels : Dualité d’un programme linéaire en dimension finie Dual du problème de Kantorovich..

Énoncer la formule d’interpolation de Lagrange puis la démontrer à l’aide de la dualité. Exercice 3 (Bases duales

Enfin on pourra essayer de définir une dualité en programmation dynamique, dualité bien con- nue sous la forme de réciprocité entre les procédures de résolution "en

- The Kuhn-Tucker theorem in concave programming, Studies in linear and nonlinear programming, Stanford Univer- sity Press, 32-37. [50] VAJDA - Dans Nonlinear Programming,

Les contraintes du programme dual expriment en fait que f appartient au cône engendré par les g t dans E.. Ce cône est, en raison du théorème de dualité le cône polaire A* (P)

comme le nombre total de parties, y parties vide et pleine comprises, d’un ensem-. ble de n

On observe, si F 0 est un espace localement convexe non néces- sairement complet, et si F est son complété, que le dual farfelu de F p s'identifie vec celui de F, et que le

Pour les variables d’écart, ce principe peut se formuler ainsi : le coût réduit d’une variable d’écart hors-base indique le changement dans l’objectif apporté par