Vous êtes sur la page 1sur 6

19/10/2020

Recherche Opérationnelle
Programmation Linéaire
DNI2
Semaine 4

O. KORBAA

1 2

Méthode du Simplexe Point de départ


• Détermination de la solution optimale • Pour la solution de base
– On part d'une solution de base (n variables on prend
nulles et m variables non négatives) (Elle x1 = x2 = ... = xn = 0 et xn+j =bi pour j = 1 ... m.
correspond à l'un des sommets du polyèdre)
– On se déplace d'un sommet à un autre Ce point correspond à l'origine et à une valeur
jusqu'à ce qu'on atteigne la valeur optimale nulle de la fonction économique.
de la fonction économique.

3 4

1
19/10/2020

Expression de la base …
• D’après le théorème 2 • De même, chaque colonne Aj, j = 1...n
– Les vecteurs Ai correspondant aux variables peut s'écrire comme combinaison linéaire
non négatives de cette solution forment une des vecteurs de cette base :
base (xn+j =bi pour j = 1 ... m)
Aj = n+1,jAn+1 + n+2,jAn+2 +…+ n+m,jAn+m
– On peut donc écrire tout vecteur en fonction
de cette base
• On peut alors écrire :
B = xn+1An+1 + xn+2An+2 + .....+ xn+mAn+m.

5 6

Introduction de  Changement de base


• Soit  un scalaire positif, les relations • Pour une colonne Aj
précédentes donnent : quelque soit la • En prenant le scalaire  égal au xi/i,j (i étant un
indice parmi les vecteurs de la base), on annule
colonne Aj le coefficient de Ai de la base.
B = B - Aj + Aj • En prenant le scalaire  égal au minimum des
= (xn+1An+1 + xn+2An+2 + .....+ xn+mAn+m) rapports xi/i,j on obtient
– Tous les coefficients des vecteurs de la base sont
- (n+1,jAn+1 + n+2,jAn+2 +…+ n+m,jAn+m) +  Aj positifs ou nuls
= (xn+1-n+1,j)An+1 + ... + (xn+m-n+m,j)An+m + Aj – L'expression de B dans une nouvelle base avec des
coordonnées toutes non négatives.

7 8

2
19/10/2020

Vecteurs entrant et sortant Choix de l’entrant


• Le vecteur entrant à la base est alors le • Le problème est de trouver le vecteur
vecteur Aj entrant qui apporte la meilleure
• le vecteur sortant est le vecteur Ai amélioration pour la fonction
correspondant au minimum des rapports économique.
xi/i,j. • Dans l'ancienne base, la fonction
économique s'écrivait :
• z = c10 +..+ ci0 + .. + cn0 +
cn+1xn+1 + ..+ cixi + .. +cn+mxn+m

9 10

Coût marginal …
• En définissant le coût marginal par : • Pour déterminer le vecteur Aj entrant dans
la base, il faut donc choisir le vecteur
j = cj - cn+1n+1,j - ... - cn+mn+m,j ayant à la plus grande valeur (positive
dans le cas de maximisation et négative
dans le cas de minimisation) du coût
• La variation de la fonction économique est marginal.
alors j.

11 12

3
19/10/2020

Vecteur sortant Exercice


• Une fois le vecteur entrant défini, il faut chercher Max z = 5x1 + 6x2
le vecteur sortant correspondant à la plus petite
valeur du rapport xi/i,j (i décrit l'ensemble des
indices des vecteurs de la base). 2x1 + x2  5
• Il faut réitérer le même procédé jusqu'à ce qu'il 3x1 + 2x2  8
n'y ait plus possibilité d'améliorer la fonction
économique (tous les coûts marginaux
deviennent négatifs, pour le cas de X1 et x2 positifs ou nuls
maximisation).

13 14

Solution Données du problème


2x1 + x2 + x3 = 5
3x1 + 2x2 + x4 = 8 2 1 1 0 5
A= B= C= 5 6 0 0

On part de la solution de base x1 = x2 = 0, 3 2 0 1 8


x3 = 5 et x4 = 8.
A ce stade, la valeur de la fonction B = 5A3 + 8A4
économique est z = 0.

15 16

4
19/10/2020

Itération 1 : calcul des Itération 1 : vecteurs entrant et


coefficients sortant
• On cherche les coefficients ij permettant de calculer • Vecteur Entrant :
les coûts marginaux des deux variables x1 et x2. Calcul des coûts marginaux
1 = c1- 31c3 - 41c4 = 5,
2 = c2- 32c3 - 42c4 = 6.
A1 = 31A3 + 41A4 Le vecteur entrant dans la base est donc A2.

A2 = 32A3 + 42A4 (plus gros coût marginal positif).

• Vecteur Sortant
Ce qui donne  = minimum(x3/32 = 5, x4/42 = 4) = 4.
31 = 2, Le vecteur sortant de la base est donc A4 : la plus petite valeur
41 = 3,
32 = 1,
42 = 2.

17 18

Itération 2 : calcul des


Itération 1 : nouveau sommet
coefficients
Nous avons donc une nouvelle base (A2, A3) = nouveau • Maintenant, on a :
sommet = nouvelle solution
B = 4A2 + 1A3.
Le vecteur B s'écrit donc comme combinaison linéaire de la nouvelle base
x'1 = 0, • On cherche les coefficients ij permettant de calculer les coûts
x'2 =  = 4, marginaux des deux variables x1 et x4.
x'3 = x3 - 32 = 5 - 4*1 = 1,
x'4 = x4 - 42 = 8 - 4*2 = 0. A1 = 21A2 + 31A3
A4 = 24A2 + 34A3
Le profit z augmente de 2 = 4*6 = 24. ( fois l’entrant).
• Ce qui donne 21 = 3/2, 24 = 1/2, 31 = 1/2, 34 = -1/2.

19 20

5
19/10/2020

Itération 2 : coûts marginaux Exercice 2


• Vecteur Entrant : Max z = 2x1 + x2
Calcul des coûts marginaux

1 = c1- 21c2 - 31c3 = -4


4 = c4- 24c2 - 34c3 = -3. x1 + 2x2  10
Il n'y a donc plus possibilité d'améliorer le profit
3x1 - 2x2  5
la solution optimale est donnée pour (x1 = 0 et x2 = 4)
Elle conduit à un profit de 24.
x1 et x2 positifs ou nuls

21 22

Exercice 3 Exercice 4
Max z = 2x1 - x2 Max z = 3x1 - 2x2

3x1 + 2x2  11 3x1 + 2x2  11


3x1 - 2x2  4 3x1 - 2x2  4

x1 et x2 positifs ou nuls x1 et x2 positifs ou nuls

23 24