Programmation linéaire et Recherche opérationnelle mdr Licence dEconométrie Professeur Michel de...
Transcript of Programmation linéaire et Recherche opérationnelle mdr Licence dEconométrie Professeur Michel de...
Programmation linéaire et Recherche opérationnelle
http://www.lri.fr/~mdr
Licence d’EconométrieProfesseur Michel de Rougemont
[email protected]://www.lri.fr/~mdr
Programmation linéaire et Recherche opérationnelle
http://www.lri.fr/~mdr
Introduction•Contraintes linéaires en Economie•Optimisation•Complexité, Approximation, Stabilité
Programmation linéaire•Simplex•Simplex à deux phases•Dualité•Simplex révisé et dual
Recherche Opérationnelle•Problèmes de flots et de réseaux•NP-complétude et approximation
Jeux et Equilibres•Programmation linéaire complémentaire
Contraintes linéaires en Economie
Exemples de contraintes linéaires.
Maximisation et Minimisation de fonctions.
Incertitude.
Complexité.
Approximation.
Bases de l’algèbre linéaire.
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
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?
Systèmes et Tableaux
321
3216
3215
3214
34524382411
325
xxxzxxxxxxxxxxxx
12x
0345
82431124532
321
6321
5321
4321
xxxz
xxxxxxxx
xxxx
Dictionnaire:
Forme équivalente:
Tableaux
2 3 1 1 0 0 5
4 1 2 0 1 0 11
3 4 2 0 0 1 8
5 4 3 0 0 0 0
1 3/2 1/2 1/2 0 0 5/2
0 -5 0 -2 1 0 1
0 -1/2 1/2 -3/2 0 1 1/2
0 -7/2 1/2 -5/2 0 0 -25/2
Itération de Tableaux
2 3 1 1 0 0 5
4 1 2 0 1 0 11
3 4 2 0 0 1 8
5 4 3 0 0 0 0
Colonne du pivot : Max cjLigne pivot : Min s/rPivot =2Diviser ligne pivot par le pivot
1 3/2 1/2 1/2 0 0 5/2
4 1 2 0 1 0 11
3 4 2 0 0 1 8
5 4 3 0 0 0 0
Itération de Tableaux
Soustraire à chaque ligne un multiple de la ligne pivot (0 apparaît sur la colonnePivot)
1 3/2 1/2 1/2 0 0 5/2
0 -5 0 -2 1 0 1
3 4 2 0 0 1 8
5 4 3 0 0 0 0
Ligne 2 – 4.ligne 1
Tableau 2
1 3/2 1/2 1/2 0 0 5/2
0 -5 0 -2 1 0 1
0 -1/2 1/2 -3/2 0 1 1/2
0 -7/2 1/2 -5/2 0 0 -25/2
1 3/2 1/2 1/2 0 0 5/2
0 -5 0 -2 1 0 1
0 -1/2 1/2 -3/2 0 1 1/2
0 -7/2 1/2 -5/2 0 0 -25/2
Itération
1 3/2 1/2 1/2 0 0 5/2
0 -5 0 -2 1 0 1
0 -1 1 -3 0 2 1
0 -7/2 1/2 -5/2 0 0 -25/2
1 2 0 2 0 -1 2
0 -5 0 -2 1 0 1
0 -1 1 -3 0 2 1
0 -3 0 -1 0 -1 -13
Faire apparaître 0 dans la colonne du pivot:
Optimum atteint.
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
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é
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é
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:
358353312 45
3 55 Min
321
321
321
321
321
yyyyyyyyyyyyyyy
3114321 355354 yyyzxxxx