Master MPRI Rappels : dualité de la programmation linéaire

66
Master MPRI Rappels : dualité de la programmation linéaire Michel de Rougemont http://www.lri.fr/ ~mdr [email protected]

description

Master MPRI Rappels : dualité de la programmation linéaire. Michel de Rougemont http://www.lri.fr/~mdr [email protected]. Programmation linéaire et dualité. Simplex Principe de Dualité Dual et Primal. Théorème du Minimax Faisabilité et impossibilité Complémentarité Interprétation économique - PowerPoint PPT Presentation

Transcript of Master MPRI Rappels : dualité de la programmation linéaire

Master MPRI

Rappels : dualité de la programmation linéaire

Michel de Rougemont

http://www.lri.fr/~mdr

[email protected]

Programmation linéaire et dualité

1. Simplex

2. Principe de Dualité

3. Dual et Primal.

4. Théorème du Minimax

5. Faisabilité et impossibilité

6. Complémentarité

7. Interprétation économique

8. Simplex révisé

Introduction au Simplex

Résolution d’un système linéaire de maximisation:

•Introduction de variables d’écart•Solution initiale•Itération pour augmenter la valeur de la solution.•Terminaison

0,...,

.

.cMax

21

t

nxxx

bxA

x

Exemple d’itération

0,,8243

1124532345Max

321

321

321

321

321

xxxxxxxxxxxx

xxx

321

3216

3215

3214

34524382411

325

xxxzxxxxxxxxxxxx

Itérations possibles

321

3216

3215

3214

34524382411

325

xxxzxxxxxxxxxxxx

0,8,11,5,0,0,0 654321 zxxxxxx

Augmentons 3,2,1 111 xxx

Les contraintes sont : 4/113/82/51 x

2/25,2/1,1,0,0,0,2/5 654321 zxxxxxx

Nouvelle solution:

Nouveau système

321

3216

3215

4321

34524382411

2/2/2/32/5

xxxzxxxxxxxxxxxx

32432

324326

324325

4321

34)2/2/2/32/5(524)2/2/2/32/5(382)2/2/2/32/5(411

2/2/2/32/5

xxxxxzxxxxxxxxxxxxxxxx

2/52/2/72/252/32/2/2/1

2512/2/2/32/5

432

4326

425

4321

xxxzxxxxxxxxxxx

Substituons 1x

Itération 2

Augmentons

642

425

6421

6423

313251

222231

xxxzxxxxxxxxxxx

2x

3x

513 xLes contraintes sont:

13,0,1,0,1,0,2/5 654321 zxxxxxx

Nouveau système:

La valeur z ne peut plus être augmentée: optimum.

Méthode générale

Mise sous forme normale.

Itération:•Choix d’un pivot qui augmente la solution.•Détection de l’optimum ou d’infaisabilité

Problèmes possibles:•Solution non bornée•Infaisabilité•Cycles•Solution initiale

Difficultés du Simplex

•Initialisation : peut-on toujours trouver une solution initiale?

•Itération : peut-on toujours itérer?

•Terminaison : les itérations terminent-elles toujours?

Interprétation géométrique

•Contrainte sur n variables : hyperplan de dimension n•Dimension 2 : droites•Dimension 3 : plans

21

21

2

1

2 1

0 20 2

xxMaxxx

xx

Interprétation géométrique

21

215

24

13

2 1 2 2

xxzxxxxxxx

X1 rentre X5 sort

Interprétation géométrique

52

24

523

521

232 2 1 1

xxzxx

xxxxxx

X2 rentre X3 sort

Interprétation géométrique

53

534

31

532

35 1 2 1

xxzxxx

xxxxx

X5 rentre X4 sort

Interprétation géométrique

43

435

31

42

26 1 2 2

xxzxxx

xxxx

Optimum

Difficultés d’itération

•Itération : peut-on toujours itérer?•Solution non bornée•Itération dégénérée•Cycle

•Solution non bornée:

143

145

1432

5

437325

xxxz

xxxxxxx

3x entre dans la base : seule borne est

2/53 x

Solution z arbitraire !

Itération dégénérée

321

3216

3215

34

82432642321

xxxzxxxxxxxxxx

3x entre dans la base. Seule contrainte est:

2/13x sort de la base (au choix). On obtient:4x

421

4216

4215

43

42423342

2/2/1

xxxzxxxxxxxxxx

Itération dégénérée

4 ,2/1,0et 0 365421 zxxxxxx

065 xxSolution dégénérée car

421

4216

4215

43

42423342

2/2/1

xxxzxxxxxxxxxx

01xEquation 2 impose:

542

5426

43

5421

342/2/7

2/2/12/2/32

xxxzxxxx

xxxxxx

Itération dégénérée

Solution identique à la précédente! L’itération est dégénérée.

Remarque: l’itération suivante est aussi dégénérée et la suivante est optimale.

4 ,2/1,0et 0 365421 zxxxxxx

Cycles

sort. et entre 51 xx

4321

17

43216

43215

2495710

15.05.15.0

95.25.55.0

xxxxz

xxxxxxxxxxxx

5432

54327

54326

54321

202044153

2185111824

218511

xxxxz

xxxxxxxxxxxxxxx

sort. et entre 62 xx

6543

65437

65431

65432

25.1375.6985.14

25.1375.045.0175.275.045.025.025.025.0

xxxxz

xxxxxxxxxxxxxxx

sort. et entre 13 xx

Cycles

sort. et entre 24 xx

1654

17

16542

16543

29931518

15.25.02

25.55.18

xxxxz

xxxxxxxxxxxx

2165

17

21653

21654

9205.705.10

1425.45.05.05.025.125.0

xxxxz

xxxxxxxxxxxx

sort. et entre 35 xx

3216

17

32164

32165

21932224

15.05.15.0

2849

xxxxz

xxxxxxxxxxxx

sort. et entre 46 xx

Cycles

!1er au identique reDictionnai

4321

17

43216

43215

2495710

15.05.15.0

95.25.55.0

xxxxz

xxxxxxxxxxxx

Chaque itération est dégénérée.

Initialisation

Solution faisable, Dictionnaire faisable?Problème auxiliaire:

0,,12532

422Max

321

321

321

321

321

xxxxxxxxxxxxxxx

0,,,12532

422Max

3210

0321

0321

0321

0

xxxxxxxxxxxxxxxxx

0

03216

03215

03214

21325

224

xw

xxxxxxxxxxxxxxx

Initialisation

Infaisable: Pivot :

0

03216

03215

03214

21325

224

xw

xxxxxxxxxxxxxxx

sort. )(Min et entre 50 ibxx

5321

53216

5324

53210

325

343429325

xxxxw

xxxxxxxxxxxxxx

Faisable: sort. et entre 62 xx

Initialisation

Pivot : sort. et entre 03 xx

6531

65314

65310

65312

75.025.025.125.02

5.05.05.25.1775.025.025.125.0225.025.075.075.01

xxxxw

xxxxxxxxxxxxxxx

0

0614

06512

06513

236.02.04.06.02.28.06.02.02.06.1

xw

xxxxxxxxxxxxxx

Optimum :Dictionnaire d’origine:

3. 1.6, , 2.2 0, 4320 xxxx

651

614

6512

6513

4.02.02.06.0

32.04.06.02.26.02.02.06.1

xxxz

xxxxxxxxxxx

Initialisation générale

Etape 1 :

Etape générale : simplex

Terminaison:• •

sort. variableautre uneet entre 0x

Faisable 0.et w base la dans pasest n' 0 xInfaisable 0.et w base la dansest 0 x

Interprétation géométrique de l’initialisation

•Le point (0,0,…0) n’est pas dans le polytope.•Trouver un autre point en ajoutant -x0 pour être sur de trouver une solution.

21

21

2

1

2 1

0 21 2

xxMaxxx

xx

Interprétation géométrique de l’initialisation

Contraintes sont:

2 1

12

2

21

1

1

xxx

xx

Interprétation géométrique de l’initialisation

Ecrire les contraintes avec x0

2 1

12

02

021

01

01

xxxxx

xxxx

Interprétation géométrique de l’initialisation

Ecrire les contraintes avec x0

0

026

0215

014

013

211

2

xzxxxxxxxxxxxxx

Interprétation géométrique de l’initialisation

Dictionnaire infaisable: x0 entre et x4 sort (b minimum)

41

4216

4215

413

410

13

2223

1

xxzxxxxxxxxxxxxxx

Interprétation géométrique de l’initialisation

Dictionnaire : x1 rentre et x0 sort

02

221

1

206

4205

403

401

xzxxxxxxxxxxxxx

OptimumX0=0 donc faisable

Interprétation géométrique de l’initialisation

Dictionnaire global

42

26

425

43

41

222

11

xxzxxxxxxxxx

Simplex à deux phases

Phase 1 : résolution du problème auxiliaire.

Phase 2 : résolution du problème original.

Théorème fondamental.Pour chaque problème LP:•Soit le problème est infaisable•Soit le problème n’est pas borné•Soit le problème a une solution optimale

Simplex révisé

Représentation compacte d’un dictionnaire.

Forme Matricielle:

0,,,4204334117225223

171213 19Max

4321

4321

4321

4321

4321

xxxxxxxxxxxxxxxxxxxx

1004 3340101 1110 0 1 2 1 2 3

Bases de la Dualité

0,,,3532

5583513

35 4Max

4321

4321

4321

4321

4321

xxxxxxxxxxxxxxxxxxxx

Estimation de z > az>5 avec (0,0,1,0)z>22 avec (3,0,2,0)….

Estimation de z <b ?Quel est le témoin?

Dualité : z < b

0,,,3532

5583513

35 4Max

4321

4321

4321

4321

4321

xxxxxxxxxxxxxxxxxxxx

Montrons que z <275/3

2nd contrainte . 5/3

3/2753/4053/53/25 4321 xxxx

3/2753/4053/53/25354 43214321 xxxxxxxx

Donc z <275/3

Dualité

0,,,3532

5583513

35 4Max

4321

4321

4321

4321

4321

xxxxxxxxxxxxxxxxxxxx

2nd contrainte +3ème contrainte

583634 4321 xxxx

Donc z <58

Méthode systématique.

Dualité : méthode

0,,,3532 .

55835 . 13 .

35 4Max

4321

43213

43212

43211

4321

xxxxxxxxyxxxxyxxxxyxxxx

332123211321 ).33().2().5( xyyyxyyyxyyy

Conditions pour que le membre gauche >

)355().583( 3214321 yyyxyyy

4321 354 xxxx

358353312 45

321

321

321

321

yyyyyyyyyyyy

Dualité

On obtient donc le système dual:

358353312 45

3 55 Min

321

321

321

321

321

yyyyyyyyyyyyyyy

3114321 355354 yyyzxxxx

Remarques générales

Problème Primal de Maximisation donne un problème Dual de minimisation.

3114321 355354 yyyzxxxx

jijim

i

n

jjjn

jxyaxc ,111

iim

iijjin

j

m

iybyxa

1,11

*1

*,1 iim

ijjin

jybxa

A l’optimum:

Théorème de dualité

Préliminaires: relations entre variables d’écart et variables duales

x3 rentre et x7 sort

43217

43216

43215

4321

5323835553135 4Max

xxxxxxxxxxxxxxxxxxx

7421

74216

74215

74213

3/53/343/73/175 13652

3/13/43/13/223/13/53/2 3/1

xxxxMaxxxxxxxxxxxxxxxx

Théorème de dualité

Itération 2:

x4 rentre et x5 sort. Après plusieurs itérations:

7421

74216

74215

74213

3/53/343/73/175 13652

3/13/43/23/223/13/53/2 3/1

xxxxMaxxxxxxxxxxxxxxxx

7531

75316

75314

75312

611229 1121951

25354 214

xxxxMaxxxxxxxxxxxxxxxx

Préliminaires au théorème de dualité

Variables d’écart: x5, x6, x7 liées aux variables duales y1, y2, y3

La solution z= 29 ……..-11x5 +0.x6 –6.x7 donne la solution optimale du dual:

y1=11, y2=0, y3=6 !!!

7531

75316

75314

75312

611229 1121951

25354 214

xxxxMaxxxxxxxxxxxxxxxx

Interprétation géométrique du dual

Primal

2 1 2

2

2

21

1

21

xxx

xxxMax

Formulation en primal

2 1 2

2

2

21

1

21

xxx

xxxMax

21

215

24

13

2 1 2 2

xxzxxxxxxx

Dual

Problème de minimisation

1 2

22

32

21

321

yyyy

yyyMin

Solution du Dual

1 2

22

32

21

321

yyyy

yyyMin

1 2-

22-

32

21

321

yyyy

yyyMax

1 2-

-

032

021

0

yyyyyyyMax

Solution du Dual

1 2-

-

032

021

0

yyyyyyyMax

1 2

-

0325

0214

0

yyyyyyyy

yMax

y0 entre et y4 sort

21

2 2-

43215

4210

421

yyyyyyyyy

yyyMax

Solution du Dual

21

2 2-

43215

4210

421

yyyyyyyyy

yyyMax

y1 entre et y5 sort

1

21 21-

5320

54321

5432

yyyyyyyyyyyyyMax

y3 entre et y0 sort

2 1

4021

5023

0

yyyyyyyy

yMax

Dual

2 1

4021

5023

0

yyyyyyyy

yMax

y0=0 solution initiale

2 1

22-

421

523

321

yyyyyyyyyMax

2 1

226-

421

523

542

yyyyyyyyyMax

Minimum=6

Comparaison des solutions: dual et primal

43

435

31

42

26 1 2 2

xxzxxx

xxxx

2 1 2

2

2

21

1

21

xxx

xxxMax

2 1

226-

421

523

542

yyyyyyyyyz

DernierSystèmeprimal

DernierSystèmedual

Rappel: Interprétation géométrique du primal

43

435

31

42

26 1 2 2

xxzxxx

xxxx

Optimum

Comparaison des solutions: dual et primal

43

435

31

42

26 1 2 2

xxzxxx

xxxx

2 1

226-

421

523

542

yyyyyyyyyz

Dernier

Systèmedual

Coefficients des variables d’écart dans z donne l’optimum du dual:-2x3 y1=2-x4 y2=1 (y2 et y3 sont inversés..)0.x5 y3=0

Démonstration Minimax

Considérons la dernière ligne du dernier système du primal:

kkmn

kxczz .'

1*

*1

* . jjn

jxcz

mipourcy nii ...1'*

Posons:

Vérifions que y* satisfait :

*1

*1

.. iim

ijjn

jybxc

Démonstration Minimax

Les variables d’écart sont définies comme:

kkmn

kjn

j j xczxc .. '1

*1

*1

*1

.. iim

ijjn

jybxc

mixabx jjin

jiin ...1.,1

mipourcy nii ...1'*

inim

ikkn

kjn

j j xyxczxc ... *1

'1

*1

jjin

jiim

ikkn

kjn

j j xabyxczxc .... ,1*

1'

1*

1

kjjin

jkn

kiim

ijn

j j xyacbyzxc *,1'

1*

1*

1.)(.

iim

ibyz *

1* Comparant les coefficients

de xj

Et on conclut:

Complémentarité

0*4*3 xx

Contraintes saturées du dual (m=3) et variables nulles du primal (n=2)

1,2,2 *5*2*1 xxx

0,0,0,1,2 *5*4*2*3*1 yyyyy

1 2

22

32

21

321

yyyy

yyyMin2*1x2*2x

Soit xi=0 soit contrainte duale est saturée

Complémentarité

0*4*3 xx

Contraintes saturées du primal (n=2) et variables nulles du dual (m=3)

1,2,2 *5*2*1 xxx

0,0,0,1,2 *5*4*2*3*1 yyyyy

2*1y0*2y

Soit yi=0 soit contrainte primale est saturée

Théorème : Ces deux conditions caractérisent une solution x*,y* optimum.

2 1 2

2

2

21

1

21

xxx

xxxMax

1*3y

Interprétation économique

Exemple de fabrication de produits en quantité x1, x2, x3.

Chaque produit utilise des composants e1,e2,e3,e4 et contribue à un profit ci ($ par unité de xi)

Contraintes du primal : Ax < b

Contraintes du dual A’ y >c yj = $ par unité de composant ej

Min y.b : coût minimum des composants

Simplex révisé

Représentation compacte d’un dictionnaire.

Forme Matricielle:

0,,,4204334117225223

171213 19Max

4321

4321

4321

4321

4321

xxxxxxxxxxxxxxxxxxxx

1004 3340101 1110 0 1 2 1 2 3

A

420117225

b

7

6

5

4

3

2

1

xxxxxxx

x

0 0 0 17 12 13 19c

Simplex révisé

Base : x1, x3, x7:

Variables:

004 3101 1 0 1 2 2

NA

7

3

1

xxx

xB

6

5

4

2

xxxx

xN

1 3 40 1 10 1 3

BA

NNBB xAbxA

Simplex révisé

Base : x1, x3, x7:

NNBB xAbxA

NNBBB xAAbAx 11

NNNNBBB xcxAAbAcz 11

NNBNBB xAAcbAcz 11

NNB xABbBx 11 NNNB xABcbBcz 11

Simplex révisé

Déterminer le pivot:

Calculer :

En 2 étapes:

Exemple:

NNB xABbBx 11 NNBNB xABccbBcz 11

NBN ABcc 1

BB cyBBcy ou 1

NN yAc

01219134011013

.321

yyy

Simplex révisé

Solution:

01219134011013

.321

yyy

05.85.3321 yyy

8.5- 5.35.15.21 NBN ABcc

Donc x4 entre dans la base. Pour trouver la variable qui sort:

47

43

41

5.0...155.0...635.0...54

xxxxxx

txtxtx

5.0...155.0...635.0...54

7

3

1

Simplex révisé

NNB xABbBx 11

Technique systématique: t est la variable entrante et a est la colonne entrante.

dtxx BB .*

412

.134011013d

adB .

5.05.05.0

d

Trouver le plus grand t tel que:

t=30 et x7 quitte la base.

0.* dtxB

Simplex révisé

Mise à jour de xb:

434111213

B

Nouvelle solution:

dtxx BB .**

04839

151515631554

156354

*Bx

304839

*Bx

Algorithme du simplex révisé

BcBy .Etape 1 : Résoudre

Etape 2: Choisir une colonne entrante. Colonne a tel que :

Etape 3: résoudre

Etape 4: trouver le plus grand t tel que colonne entrante

Etape 5: mettre à jour

0.* dtxB

adB .

BxB et *

Ncay .