Anda di halaman 1dari 24

Optimisation linaire

Recherche oprationnelle
GC-SIE

Algorithme du simplexe
Phase I

Introduction
Algorithme du simplexe :
Soit x0 une solution de base admissible

Comment dterminer x0 ?
Comment dterminer le tableau initial ?
Cest le rle de la Phase I.
Cas simple :
problme en forme canonique tel que b 0.

Cas difficile :
problme gnral en forme standard.

Phase I du simplexe

Michel Bierlaire

Forme canonique

avec b 0 (hypothse non gnrale).


On introduit les variables dcart y.
On obtient un problme en forme standard.

Phase I du simplexe

Michel Bierlaire

Forme canonique

Solution de base admissible :


x=0
y=b
Matrice de base : B = I

Phase I du simplexe

Michel Bierlaire

Forme canonique
Forme canonique :

Forme standard :

Phase I du simplexe

Michel Bierlaire

Forme canonique

B(1)=4, B(2)=5, B(3)=6

B=B-1=I
cB=0
Phase I du simplexe

Michel Bierlaire

Forme canonique
Tableau initial :
B-1A=A

B-1b=b

cT

-cTBB-1b
=0

cT

-1
T
BB A=c

Phase I du simplexe

Michel Bierlaire

Forme standard

On peut supposer, sans perte de gnralit, que b


0.
Si bi < 0, on remplace la contrainte
aiTxi = bi
par
-aiTxi = -bi
Phase I du simplexe

Michel Bierlaire

Forme standard
Ide :
On rsoud un problme auxiliaire tel que :
il soit li au problme initial,
il soit trivial didentifier une solution de base admissible
pour ce problme auxiliaire.

Pour cela, on introduit une variable auxiliaire par


contrainte, et on remplace la fonction de cot.

Phase I du simplexe

Michel Bierlaire

10

Forme standard

Solution de base admissible :


x=0
y=b
Matrice de base : B = I

Phase I du simplexe

Michel Bierlaire

11

Forme standard
Appelons P1 le problme original

et P2 le problme auxiliaire

Phase I du simplexe

Michel Bierlaire

12

Forme standard

Le cot optimal de P2 ne peut tre ngatif.


Supposons que x0 soit une solution admissible de P1.
Dans ce cas, Ax0=b et x00.
x=x0 et y=0 est une solution admissible de P2.
Le cot associ est 0. Cest donc une solution
optimale.

Phase I du simplexe

Michel Bierlaire

13

Forme standard
Si P1 possde une solution admissible
Alors le cot optimal de P2 est 0.
Contrapose :
Si le cot optimal de P2 est strictement positif
Alors P1 ne possde pas de solution admissible.

Phase I du simplexe

Michel Bierlaire

14

Forme standard
Si (x*,y*) est solution optimale de P2.
Si le cot optimal associ est 0.
Alors
y*1+y*2++y*m = 0
y*1=y*2==y*m = 0
Donc Ax*=b et x*0
x* est solution admissible de P1.

Phase I du simplexe

Michel Bierlaire

15

Format standard
Tableau initial du problme auxiliaire :
B-1A

B-1b

cT cTBB-1A -cTBB-1b

cTBA 0

-cTBb

B-1 = I
Somme des
colonnes
cB=(1,1,1,)
Pour les variables originales i : ci=0
Phase I du simplexe

Michel Bierlaire

16

Forme standard
Problme initial P1:

Problme auxiliaire P2 :

Phase I du simplexe

Michel Bierlaire

17

Forme standard

=1

=1
=1/3
=5/9
=1/3
Phase I du simplexe

Michel Bierlaire

18

Forme standard
=1
=1/3
=5/9
=1/3

=1
=0
=1/2

Phase I du simplexe

Michel Bierlaire

19

Forme standard
=1
=0
=1/2

=1
=1

Phase I du simplexe

Michel Bierlaire

20

10

Forme standard
=1
=1

Phase I du simplexe

Michel Bierlaire

21

Forme standard
Solution optimale du problme auxiliaire P2:
xT=(1 1/2 1/3 0 0 0 0 0)
Cot optimal = 0
Solution admissible du problme P1
x0T = (1 1/2 1/3 0)
Attention :
Il reste une variable artificielle en base (x7)

Phase I du simplexe

Michel Bierlaire

22

11

Forme standard
Comment liminer les variables artificielles
hors de la base ?
Note :
Si (x*,y*) est solution optimale cot nul
du problme auxiliaire
Alors la variable artificielle en base est
forcment nulle
Donc la solution est dgnre.
Phase I du simplexe

Michel Bierlaire

23

Forme standard
Supposons que la kime variable de base soit
artificielle.
Examinons la kime ligne du tableau.
Choisir llment en colonne j de cette ligne tel
que
j soit lindice dune variable du problme original
llment soit non nul.

k sort de base. j rentre en base


Pivotage du tableau.
Phase I du simplexe

Michel Bierlaire

24

12

Forme standard
Mais
Que se passe-t-il si aucun lment de la
sorte nexiste ?

Phase I du simplexe

Michel Bierlaire

25

Forme standard
Cela signifie que
la matrice A nest pas de rang plein
la ligne en question correspond une
contrainte redondante
elle peut tre supprime.

Phase I du simplexe

x1 +

2x2

+ 3x3

-x1 +

2x2

+ 6x3

4x2

+ 9x3

Michel Bierlaire

26

13

Forme standard
Une fois que le tableau optimal du problme
auxilaire est obtenu,
et que toutes les variables artificielles ont quitt la
base,
on obtient le tableau initial du problme P1 en
supprimant les colonnes relatives aux variables artificielles;
calculant les cots rduits initiaux.

Phase I du simplexe

Michel Bierlaire

27

Exemple
P1

P2

14

P2 : tableau initial
x1
1
1
-1
-1

x2
3
2
-4
-1

x3
0
0
3
-3

x4
4
-3
0
-1

x5
1
1
0
-2

x6
1
0
0
0

x7
0
1
0
0

x8
0
0
1
0

=2
=2

2
2
1
-5

Dernire ligne = -somme


des colonnes
x1
1
0
0
0

x1
1
0
0
0

x2
3
-1
-1
2

x3
0
0
3
-3

x4
4
-7
4
3

x5
1
0
1
-1

x6
1
-1
1
1

x7
0
1
0
0

x8
0
0
1
0

2
0
3
-3

=1

x2
3
-1
-1
2

x3
0
0
3
-3

x4
4
-7
4
3

x5
1
0
1
-1

x6
1
-1
1
1

x7
0
1
0
0

x8
0
0
1
0

2
0
3
-3

x1
x2
1
3
0
-1
0 -0.33
0
1

x3
0
0
1
0

x4
4
-7
1.33
7

x5
1
0
0.33
0

x6
1
-1
0.33
2

x7
0
1
0
0

x8
0
0
0.33
1

2
0
1
0

=1

Solution optimale de P2
Cot nul
Mais x7 est dans la base

15

P2 : tableau final
x1
1
0
0
0

x2
0
1
0
0

x3
0
0
1
0

x4
-17
7
3.67
0

x5
1
0
0.33
0

x6
x7
-2
3
1
-1
0.67 -0.33
1
1

x8
0
0
0.33
1

2
0
1
0

P1 : tableau initial
cots

2
x1
1
0
0
0

3
x2
0
1
0
0

3
x3
0
0
1
0

1
x4
-17
7
3.67
3

-2
x5
1
0
0.33
-5

2
0
1
-7

-cTBB-1b

cT cTBB-1A

P1 : tableau initial
x1
1
0
0
0

x2
0
1
0
0

x3
0
0
1
0

x4
-17
7
3.67
3

x5
1
0
0.33
-5

2
0
1
-7

x1
1
0
-0.33
5

x2
0
1
0
0

x3
0
0
1
0

x4
-17
7
9.33
-82

x5
1
0
0
0

2
0
0.33
3

x1
x2
1 2.43
0 0.14
-0.33 -1.33
5 11.71

x3
0
0
1
0

x4
0
1
0
0

x5
1
0
0
0

2
0
0.33
3

=2
=3

=0
=0.4

P1 : tableau final

16

Algorithme du simplexe

Nous avons maintenant un algorithme


complet pour rsoudre tout programme
linaire en forme standard
Phase I
1. En multipliant certaines contraintes par 1,
modifier le problme pour que b 0.

Phase I du simplexe

Michel Bierlaire

33

Algorithme complet du simplexe


Phase I (suite)
2. Introduire les variables artificielles y1,,ym,
et appliquer la mthode du simplexe au
problme auxiliaire

Phase I du simplexe

Michel Bierlaire

34

17

Algorithme complet du simplexe


Phase I (suite)
3. Si le cot optimal est strictement positif, le
problme original nest pas admissible. STOP.
4. Si la kime variable de base est une variable
artificielle, examiner la ligne k du tableau.
Choisir llment en colonne j de cette ligne tel
que
j soit lindice dune variable du problme original
llment soit non nul.

Pivoter le tableau autour de cet lment.

Phase I du simplexe

Michel Bierlaire

35

Algorithme complet du simplexe


Phase I (suite)
4. (suite) Si tous ces lments sont nuls, la
ligne correspond une contrainte
redondante et peut tre supprime.
Rpter le point 4 jusqu ce quaucune
des variables artificielles ne soient en
base.
Phase I du simplexe

Michel Bierlaire

36

18

Algorithme complet du simplexe


Phase II
Les variables artificielles et les colonnes
correspondantes sont supprimes du tableau.
La ligne des cots est calcule.
Appliquer la mthode du simplexe au tableau
obtenu.

Phase I du simplexe

Michel Bierlaire

37

Algorithme complet du simplexe


Notes :
Complet car il peut grer toutes les issues possibles.
Si le cyclage est empch (par la rgle de Bland), une
des 4 possibilits suivantes se passera :
Le problme nest pas admissible. Dtect la fin de la
phase I.
Le problme est admissible, mais A nest pas de rang plein.
Les contraintes redondantes sont limines lors de la
phase I.

Phase I du simplexe

Michel Bierlaire

38

19

Algorithme complet du simplexe


Le cot optimal est -. Dtect lors de la phase II.
La phase II se termine avec une solution optimale.

Phase I du simplexe

Michel Bierlaire

39

Mthode du grand M
Motivation :
Combiner les deux phases en une seule en
utilisant les variables artificielles y
remplaant la fonction objectif par

o M est une constante positive trs grande.


Phase I du simplexe

Michel Bierlaire

40

20

Mthode du grand M
Si la mthode du simplexe se termine avec une
solution (x*,y*) telle que y*=0, alors x* est une
solution optimale du problme original.
Si la mthode du simplexe se termine avec une
solution (x*,y*) telle que y*0, alors le problme
original est non admissible.

Phase I du simplexe

Michel Bierlaire

41

Mthode du grand M
Si la mthode du simplexe identifie que le problme
auxiliaire est non born, le problme initial est non
admissible ou non born (ou les deux).
En pratique, on nest pas oblig de donner une valeur
M.
Chaque fois que M est compar un nombre, il sera
toujours considr comme plus grand.

Phase I du simplexe

Michel Bierlaire

42

21

Exemple

x1
1
1
1-2M

x2
1
0
2-M

x3
0
1
1-M

Phase I du simplexe

x1
1
1
1-2M

x5
0
1
0

B-1A
1
2
-3M

x2
1
0
2-M

x2
1
-1
2

x3
0
1
1-M

x4
1
0
0

x3
x4
0
1
1
-1
1-M 2M-1

x3
0
1
0

x4
1
-1
M

x5
0
1
0

B-1b

cT cTBB-1A -cTBB-1b

Michel Bierlaire

x1
x2
1
1
0
-1
0 M+1

x1
1
0
0

x4
1
0
0

43

1 =1
2 =2
-3M

x5
0
1
1
1 =1
0 -M-1

x5
0
1
M-1

1
1
-2

22

Terminologie
Quest-ce quun simplexe ?
Un ensemble de vecteurs y1,,yk+1 dans IRn (kn) est
indpendant au sens affine si les vecteurs y1-yk+1,y2yk+1,yk-yk+1 sont linairement indpendants.
Lenveloppe convexe de k+1 vecteurs de IRn
indpendants au sens affine est appele un simplexe
k dimensions.

Phase I du simplexe

Michel Bierlaire

45

Terminologie
3 points sont soit
colinaires
indpendants au sens affine

Le triangle est un simplexe deux dimensions.


La pyramide est un simplexe 3 dimensions

Phase I du simplexe

Michel Bierlaire

46

23

Terminologie
Gomtriquement, on peut associer un simplexe
chaque base.
On peut interprter un pivotage (au sens de
lalgorithme) comme le pivotage physique de ce
simplexe.
Cest de cette interprtation gomtrique que
viennent les termes simplexe et pivotage.

Phase I du simplexe

Michel Bierlaire

47

24