Вы находитесь на странице: 1из 4

IdC 2A

Jeudi 16 octobre

La mthode du simplexe sur un exemple.


1 Mise en place du cadre.

On tudie le programme linaire suivant crit sous forme canonique :


max z = 5x + y x 30x + y y sous contraintes x y 4 150 60 0 0
positive

Dnition 1.1 On appelle variable

d'cart la quantit mer une contrainte d'ingalit en contrainte d'galit.

qui permet de transfor-

Ici, on a trois contraintes donc on ajoute trois variables d'cart x3 , x4 , x5 .


max z = 5x1 + x2 + x3 x1 30x1 + x2 + x4 sous contraintes x2 + x5 x1 , x2 , x3 , x4 , x5 = 4 = 150 = 60 0

L'criture matricielle est la suivante :


1 30 0 x1 0 1 0 0 x2 4 1 0 1 0 x3 = 150 1 0 0 1 x4 60 x5

Base, solution de base, solution de base ralisable

, xi2 , . . . , xim ) est une base si la sous-matrice construite sur 1 les colonnes (i1 , i2 , . . . , im ) est inversible. On dit alors que les m variables (xi1 , xi2 , . . . , xim ) sont les variables de base et que les n variables restantes sont les variables hors base.

Dnition 2.1 On dit que (xi

Ici, m = 3 et il y a 5 variables au total. Un base aura donc 3 variables et il y aura systmatiquement 2 variables hors base. Donnons quelques exemples :
0 1. La famille {x2 , x4 , x5 } ne forme pas une base car la sous matrice associe 1 1 0 1 0 0 0 1

n'est pas inversible.

0 1 2. La famille {x2 , x3 , x5 } forme une base car la sous matrice associe 1 0 1 0 inversible. Ici, {x1 , x4 } sont hors base. 1 0 3. La famille {x1 , x2 , x3 } forme une base car la sous matrice associe 30 1 0 1 inversible. Ici, {x4 , x5 } sont hors base.

0 0 est 1 1 0 est 0

Dnition 2.2

1. On appelle solution de base une solution du systme Ax = b o les n variables hors bases sont nulles et les valeurs des m variables de base sont solution du systme Bx = b o les x est le vecteur m 1 contenant les variables de base.

2. On appelle solution de base ralisable une solution de base qui vrie les contraintes de positivit, c..d dont toutes les composantes sont positives ou nulles.

Voyons ce que cela donne sur les exemples prcdents. 1. Considrons la base {x2 , x3 , x5 }. La solution de base correspondante est (0, 150, 4, 0, 90). Ce n'est donc pas une solution de base ralisable (x5 = 90 < 0). 2. Considrons la base {x1 , x2 , x3 }. La solution de base correspondante est (3, 60, 1, 0, 0) et c'est une solution de base ralisable.

Remarque 2.3

(Importante) Lorsque les coecients bi sont positifs ou nuls, on obtient systmatiquement une solution de base ralisable en mettant les variables du problme initial hors base (donc nulles) et les variables d'cart dans la base et gales aux bi .

D'aprs la remarque ??, la base {x3 , x4 , x5 } donne la solution de base ralisable suivante : {x1 , x2 , x3 , x4 , x5 } = {0, 0, 4, 150, 60}

Dnition 2.4 Lorsqu'un problme crit sous forme standard vrie en plus les deux proprits suivantes : 1. Les coecients de la fonction objectif associs aux variables de base sont nuls, 2. La matrice associe aux variables de base est la matrice identit ( une permutation prs), on dit qu'il est crit sous forme canonique par rapport la base B correspondante.

Ici par exemple, le programme suivant est crit sous forme canonique par rapport la base {x3 , x4 , x5 }.
max z = 5x1 + x2 + x3 x1 30x1 + x2 + x4 sous contraintes x2 + x5 x1 , x2 , x3 , x4 , x5

= 4 = 150 = 60 0

Cette criture est le point de dpart de l'algorithme du simplexe.


3
3.1

Les tapes du simplexe.


Point de dpart

Dans le cas des bi 0, il s'agit d'crire le programme linaire sous forme canonique par rapport la base ralisable donne par la remarque ??. Ici, il s'agit du programme donn ci-dessus, crit sous forme canonique par rapport la base {x3 , x4 , x5 }. Partant de l, on va raliser une suite de changement de base en suivant le schma : 1. Choix de la variable entrante. 2. Choix de la variable sortante. 3. Changement de base.

3.2

Choix de la variable entrante

Proposition 3.1 Si tous les coecients des variables hors base courantes sont ngatifs, on ne peut augmenter la fonction objectif et la solution courante est optimale. Sinon, la variable hors base qui va entrer dans la nouvelle base est celle dont le coecient est le plus lev dans l'expression de la fonction objectif.
Ici, 5 > 1 donc la variable entrante est x1 .
3.3 Choix de la variable sortante

On exprime les variables de base en fonction de la variable entrante.

Proposition 3.2 La variable qui sort de la base est la premire s'annuler quand la variable entrante augmente.
Ici, c'est la variable x3 qui sort car les relations
x3 = 4 x1 0 x4 = 150 30x1 0

montrent que x3 s'annule en premier pour x1 = 4 . Donnons galement le critre mathmatique suivant pour dterminer la variable sortante :
Si il existe un indice r pour lequel le min abk , ak,s > 0 est atteint, alors xr est la k,s variable sortante. Sinon, le problme est non born. Il faut donc le reformuler.
3.4 Changement de base

Proposition 3.3 Soit s l'indice de la variable entrante.

On va crire le problme sous forme canonique par rapport la nouvelle base choisie en utilisant le pivot de Gauss. Ici, la nouvelle base est {x1 , x4 , x5 }. Il est plus commode de travailler sur le systme suivant :
z 5x1 x1 30x1 x2 +x3 +x2 x2 +x4 +x5 = 0 = 4 = 150 = 60 (0) (1) (2) (3)

On identie la ligne qui permet d'changer les rles de la variable entrante x1 et de la variable sortante x3 . A l'aide du pivot de Gauss, on met un 1 devant x1 sur cette ligne et des 0 devant x1 sur les autres lignes. Ce qui donne :
z
3.5 Test d'arrt
1

x2 x1 x2 x2

+5x3 +x3 30x3

+x4 +x5

= 20 = 4 = 30 = 60

(0 ) (1 ) (2 ) (3 )

Proposition 3.4 Si dans l'expression de la fonction objectif z = di

exprime en fonction des variables hors base, tous les coecients des variables hors base sont ngatifs ou nuls, alors la solution de base ralisable courante est la solution optimale. L'algorithme du simplexe est alors termin.

xi1 +di2 xi2 + +din xin

Sinon, on recommence les oprations de changement de base. 3

Le simplexe en tableaux

Le simplexe en tableaux permet de rendre les tapes du simplexe plus rapides. Voici l'criture sous forme de tableau pour notre exemple (attention, on a chang l'ordre des quations et des variables d'cart). On applique les critres vu plus haut pour dterminer les variables entrantes et sortantes. Puis on eectue le pivot de Gauss sur le tableau directement.
z 0 0 0 1 x2 1 1 1 0 5 1 x1 30 0 x3 1 0 0 0 x4 0 1 0 0 x5 0 0 1 0

x3 x4 x5 z

150 60 4 0

Remarque 4.1

1. La che vers le bas signie que x1 entre en base et la che vers la gauche signie que x3 sort de la base. Le pivot se trouve l'intersection. 2. La dernire ligne reprsente l'objectif avec toutes les variables mises du ct gauche. Il faut donc faire attention en appliquant le critre d'entre en base (on cherche le coecient le plus ngatif) et le test d'arrt (tous les coecients doivent tre positifs pour s'arrter). 3. La premire colonne donne le nom des variables de la base courante. Il faur penser la modier chaque changement de base. 4. La dernire colonne donne les valeurs courantes des variables de base ainsi que la valeur courante de la fonction objectif (en bas droite).

Voici le nouveau tableau aprs une itration.


x3 x4 x1 z z 0 0 0 1 x1 0 0 1 0 x2 1 1 0 1 x3 1 0 0 0 x4 0 1 0 0 x5 30 0 1 5 30 60 4 20

Вам также может понравиться